需要直接在最新的操作系统中支持一些旧项目,而不是在虚拟机中.
我已成功从VS6磁盘#1安装了VB6,但我无法为此开发环境安装SP6.当我启动它,会出现一些毫秒,通知我关于安装进度的信息窗口,但所需的文件(ADVPACK.DLL,MSVBVM60.DLL,...)没有在系统文件夹更新.VB6 IDE中的About对话框也证明了 - 我在其中的任何地方都看不到"SP6".
如何在此操作系统中安装SERVICE PACK 6(不是VB IDE本身)?
我们的iGrid ActiveX网格控件的用户之一需要将其直接插入到MS Excel工作表中,但他们没有设法做到这一点 - 始终生成"无法插入对象"错误.我们还可以在Win7 64位和MS Office 2010 32位下的测试PC上重现此问题.
此COM控件已在操作系统中正确注册,可以添加到VBA UserForms和其他应用程序,但我们无法为Excel工作表执行此操作.看起来,它是ActiveX的常见问题 - 甚至是像Microsoft DataGrid Control 6.0这样的遗留问题.在搜索了大量时间的解决方案后,我们得出结论,这是MS Office中的安全设置.因此,问题可以表述如下:如何在MS Office中启用特定ActiveX控件的使用?
以下是我们找到的相关资源,可能会有所帮助.
首先,微软表示
并非所有ActiveX控件都可以直接在工作表中使用; 一些只能在Microsoft Visual Basic for Applications(VBA)UserForms上使用.使用这些控件时,如果您尝试将对象添加到工作表,Excel将显示消息"无法插入对象".
有没有人知道哪些缺少的功能可能会阻止ActiveX控件插入Excel工作表?
其次,用于缓存ActiveX控件的EXD文件存在已知问题.但我们已经检查过 - 这不是我们的情况.
第三,微软有两篇技术文章解释了如何使用注册表"修复"ActiveX的一些ActiveX安全问题:
PRB:错误消息"无法在Excel中插入对象"
http://support.microsoft.com/default.aspx?scid=kb;EN-US;171280
无法将某些可编写脚本的ActiveX控件插入Office 2013文档
http://support.microsoft.com/kb/2793374
看来,这也无济于事 - 或者我们只是做错了什么.
我们尝试的最后一件事 - 办公室信托中心.允许所有ActiveX的使用没有任何限制,并将我们的iGrid ActiveX文件夹添加到受信任位置列表无论如何都无济于事.
我们都知道每个正则表达式实现都有其自身的特点。我需要在使用 COM 自动化的应用程序中使用 Microsoft VBVScript RegExp 对象,但除了以下概述之外,我找不到合适的文档:
Microsoft 使用正则表达式增强 VBScript
http://msdn.microsoft.com/en-us/library/ms974570.aspx
MSDN 也包含正则表达式的这一部分,但它是针对 JavaScript 的:
正则表达式简介 (JavaScript)
http://msdn.microsoft.com/en-us/library/6wzad2b2.aspx
我们可以将本节中描述的所有功能用于 VBScript RegExp 对象吗?
这是一个重现问题的HTML代码:
<!DOCTYPE html>
<html>
<body>
<div style="width:800px; margin:0 auto;">
<img src="logo.gif" width="100" height="40" />
</div>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
当它在桌面浏览器中呈现时,唯一的高度<div>变为45像素但不是我期望的40(在IE11和Opera Next v20中测试过).logo.gif是100x40,即使我通过CSS将零边框应用于<img>标记(边框,边框宽度等),情况仍然相同.
为什么会发生以及如何解决?
如何在本机Windows操作系统编辑控件的上下文菜单中禁用这3个标准剪切/复制/粘贴命令?
我还需要禁用等效的剪贴板相关命令,如CTRL + C/CTRL + V.
是否有一种特殊的编辑控件样式或其他任何我们可以用一个简单设置禁用所有复制/粘贴操作的东西?
假设我们有这样的结构:
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition />
<ColumnDefinition />
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition />
<RowDefinition />
<RowDefinition />
</Grid.RowDefinitions>
<TextBlock Grid.Row="0" Grid.Column="0" />
<TextBlock Grid.Row="0" Grid.Column="1" />
<TextBlock Grid.Row="1" Grid.Column="0" />
<TextBlock Grid.Row="1" Grid.Column="1" />
<TextBlock Grid.Row="2" Grid.Column="0" />
<TextBlock Grid.Row="2" Grid.Column="1" />
</Grid>
Run Code Online (Sandbox Code Playgroud)
如何将网格中所有文本块的前景色设置为一个设置?
类似的东西
<Grid Color="Red">
...
</Grid>
Run Code Online (Sandbox Code Playgroud) 我在使用Segoe UI字体的Windows API DrawText调用绘制文本时遇到了一个问题:

此图像演示了问题:指定的文本在指定的矩形中向右移动了一点,因此最后一个字符被剪裁(最好的例子是0位).
我们的绘图程序适用于其他字体,问题仅发生在Segoe UI上.
它可能是什么以及如何解决它?
如果重要,请在Windows 8 Pro 64位的VB6 OCX项目中执行此操作.
相应的代码源代码段如下:
' Only draws or measure text (if DT_CALCRECT is specified)
' using the native WinAPI flags:
Public Sub gpInternalDrawText( _
ByVal lHDC As Long, _
ByRef sText As String, _
ByRef tR As RECT, _
ByVal lFlags As Long _
)
' Allows Unicode rendering of text under NT/2000/XP
If (g_bIsNt) Then
' NT4 crashes with ptr = 0
If StrPtr(sText) <> 0 Then
DrawTextW lHDC, …Run Code Online (Sandbox Code Playgroud) 我们可以在“选项\环境\字体和颜色”对话框中更改VS IDE项目的字体。但是,我仍然找不到如何在“属性”窗格中执行此操作。有人可以帮我吗?
主要使用VS 2013 Professional或Community Edition。
WinForms NumericUpDown 允许我们使用 Select(Int32, Int32) 方法选择其中的文本范围。有什么方法可以设置/检索选定文本的起点、选定的字符数和选定的文本部分,就像我们可以使用 SelectionStart、SelectionLength 和 SelectedText 属性对其他类似文本框的控件执行此操作一样吗?
我正在使用免费的.NET程序集反编译器ILSpy来分析标准和第三方.NET程序集.它适用于标准的.NET WinForms和WPF库,但我无法为位于的Windows Phone 8反编译System.Windows.dll C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\WindowsPhone\v8.0\.它显示成员,但它们的内部(源代码)是空的.
这是ILSpy的问题,还是我们无法使用Red Gate的.NET Reflector等其他工具反编译Windows Phone .NET库?有没有其他方法来获取/查看这些程序集的源代码?
我想检索 Windows 10 Pro 64 位中指定进程 ID 的有效 DPI 感知值。我需要的值是我可以使用 WinAPI GetProcessDpiAwareness函数获得的PROCESS_DPI_AWARENESS之一。
为了实现我所需要的,我在 VS 2015 中编写了一个简单的单窗口 C# WPF 应用程序。我将我感兴趣的进程 ID 输入到 TextBox txtProcessID 中,当我按下 txtProcessID 按钮时,结果显示在 TextBlock txtResult 中:
private const int S_OK = 0;
private enum PROCESS_DPI_AWARENESS
{
PROCESS_DPI_UNAWARE = 0,
PROCESS_SYSTEM_DPI_AWARE = 1,
PROCESS_PER_MONITOR_DPI_AWARE = 2
}
[DllImport("Shcore.dll")]
private static extern int GetProcessDpiAwareness(IntPtr hprocess, out PROCESS_DPI_AWARENESS value);
private void btnGetDPIAwareness_Click(object sender, RoutedEventArgs e)
{
int procIDint = int.Parse(txtProcessID.Text);
IntPtr procID = new IntPtr(procIDint);
PROCESS_DPI_AWARENESS value; …Run Code Online (Sandbox Code Playgroud) winapi ×3
vb6 ×2
.net ×1
activex ×1
c# ×1
clipboard ×1
contextmenu ×1
css ×1
decompiler ×1
dpi-aware ×1
drawtext ×1
editcontrol ×1
excel ×1
font-size ×1
foreground ×1
grid-layout ×1
html ×1
ide ×1
ilspy ×1
image ×1
install ×1
interop ×1
layout ×1
ocx ×1
process ×1
propertygrid ×1
regex ×1
security ×1
selection ×1
service-pack ×1
silverlight ×1
vbscript ×1
windows-8.1 ×1
windows64 ×1
winforms ×1
xaml ×1