草庐IT

windows - 使用 IE9 嵌入 WebBrowser 控件时覆盖 IE 设置

我有一个应用程序(用C++和MFC编写,但我认为这不是特别相关)嵌入了InternetExplorerActiveXWebBrowser控件以显示一些HTML页面。一项要求始终是使用应用程序的字体名称和大小设置作为HTML的默认设置,而不是InternetExporer的默认设置。为此,应用程序实现了IDocHostUIHandler2COM接口(interface),并将其传递给WebBrowser控件。这会导致控件调用应用程序的GetOptionKeyPath实现。,它允许应用程序设置WebBrowser控件从中获取其设置的注册表位置。借助Sysinternals的工具来查看IE使

c++ - 从另一个应用程序窗口获取焦点控件的句柄

我有一个应用程序有一些控件(按钮、编辑等)的窗口。我需要模拟用户事件(如Tab单击和输入文本)。我正在使用keybd_event在制表符排序控件(编辑框)之间移动焦点并向它们输入文本。但我需要知道当前焦点控件的句柄(例如从中获取文本或更改其样式)。我该如何解决?附言我现在正在编写Delphi,但这并不重要(Win-API无处不在)。 最佳答案 请参阅GetFocus中的备注部分'用于解释以下示例的文档。functionGetFocus:HWND;varWnd:HWND;TId,PId:DWORD;beginResult:=windo

c# - 如何从不同应用程序的窗口控件中读取数据?

我必须编写一个应用程序来观察另一个应用程序并从窗口中提取信息。从其他应用程序访问窗口并从其控件获取数据的最佳方式是什么? 最佳答案 您需要P/InvokeFindWindow和FindWindowEx函数来检索其他应用程序的父窗口和子控件的句柄。然后你需要使用像GetWindowText这样的东西访问特定控件的文本。访问pinvoke.net对于定义,您需要从C#调用这些函数。请注意,这不是一个完全直接的追求。您应该停下来考虑您是否真的有充分的理由想要这样做,以及您的目标是否无法以更简单的方式实现。

windows - 绘制自定义 Windows 控件时出现问题

我正在尝试使用Windows中的uxTheme库绘制我自己的自定义控件,但我无法弄清楚为什么我的控件看起来不像(据说)使用与我相同主题的常规Windows控件'我使用:上图显示了一个标准的WindowsComboBox(顶部)和我使用ComboBox主题绘制的自定义控件(底部)。我无法弄清楚为什么我的控件的边框与标准控件的形状和颜色不同。在我的类构造函数中,我打开主题数据:mComboTheme=OpenThemeData(hwnd,L"COMBOBOX");然后在WM_PAINT的处理程序中,我只绘制了ComboBox组件的两个部分:caseWM_PAINT:{PAINTSTRUCT

windows - 原始 Win32 中的 Rich Edit 控件

RichEditControls的文档真的像它看起来的那样糟糕(错误吗?)?现在我正在手动调用LoadLibrary("riched20.dll")以便显示RichEdit控件。RichEdit的文档在使用RichEdit控件的第一个代码示例中没有很好地演示这一点。它谈到调用InitCommonControlsEx()来添加视觉样式,但没有提到要传入哪些标志。是否有更好的方式来加载RichEdit控件?http://msdn.microsoft.com/en-us/library/bb787877(VS.85).aspx这是我唯一能写的让它工作的代码:#include"Richedit

windows - 没有管理员权限可以在IE中安装ActiveX控件吗?

我正在开发一个需要ActiveX控件才能运行的网络应用程序。当用户具有管理员权限时,它安装得很好,否则无法加载。这是设计使然吗?如果是,是否记录在某处?(最好是MSDN) 最佳答案 实际上,这些答案都不是完全正确的;如果您在每个用户的基础上安装ActiveX控件,则无需管理权限,无论用户所在的组如何,它都可以正常工作。基本上这涉及将它安装到HKEY_CURRENT_USER而不是HKEY_LOCAL_MACHINE。根据您的activex控件编写的内容,这可能很容易更改,也可能很难更改;使用ATL9非常简单,因为您只需调用一个函数:

c# - 获取 TreeView 控件中所有树节点(所有级别)的列表

如何在TreeView控件中获取所有树节点(所有级别)的列表? 最佳答案 您可以使用两种递归扩展方法。您可以调用myTreeView.GetAllNodes()或myTreeNode.GetAllNodes():publicstaticListGetAllNodes(thisTreeView_self){Listresult=newList();foreach(TreeNodechildin_self.Nodes){result.AddRange(child.GetAllNodes());}returnresult;}publics

c# - WPF 捕捉控件

为了深入研究WPFMVVM,我目前的空闲时间项目是我童年经常玩的一个老谜题的“数字”副本。它基本上是一个简单的谜题,其中必须用不同种类的碎片填充给定空间,以便填满整个空间。但是在六边形空间中有额外的扭曲。只是为了说明,这是它当前在WPF中的样子:http://img190.imageshack.us/img190/2553/atomgridmolecule.png所以基本上有许多预定义的部分(如上面的橙色部分)可以“插入”给定的网格(上面的灰色部分)。所以结果可能是这样的:http://img30.imageshack.us/img30/2553/atomgridmolecule.pn

c# - 以类似于 wpf 控件错误的方式显示警告

我想在验证业务对象时显示警告和错误,并以可视化方式显示给用户。例如,我有一个实现如下接口(interface)的业务对象类:interfaceIOrderItem:IDataErrorInfo{intProductId{get;set;}stringProductName{get;set;}decimalPrice{get;set;}IDictionaryWarnings{get;}}这绑定(bind)到UI,如下所示:错误是:价格“价格不能小于0”当我使用IDataErrorInfo接口(interface)将错误消息放在业务对象上时,它工作得很好,并在文本框周围绘制了一个红色边框。

c# - 使用用户控件的 ASP.NET C# 下拉列表

首先,我是ASP.NET的新手为了在不同页面的不同表单中重用我的下拉列表,有人建议我使用用户控件来完成此操作。因此,我阅读了一些有关用户控件的资料,并尝试使用它,但由于我是ASP.NET的新手,因此无法正常工作。得到这个错误:Cannotaccessanon-staticmemberofoutertype'ASP.Vendor'vianestedtype'ASP.Vendor._Default'1)我创建一个Controls\Vendor.ascx文件publicpartialclass_Default:System.Web.UI.Page{protectedvoidPage_Load