hwnd相关内容
从一些初步测试看来, EnumWindows 总是以相反的实例化顺序返回窗口,即最近实例化的窗口在前。这是一个有效的观察结果吗?如果是这样,则在所有Windows版本中都适用吗? 上下文:我正在处理我触发第三方应用程序打开多个非模式窗口的情况,一旦它们打开,我需要向这些窗口发送一些窗口消息,但是我无法确定将它们识别为它们的窗口的可靠方法类及其标题将有所不同,我也不知道它们的预期坐标。但是,如
..
这个简短的MSDN文档说CoreWindow具有ICoreWindowInterop,它可以获取CoreWindow的句柄HWND。但是我找不到有关如何获取它的参考(C#)。请帮助。 https://msdn.microsoft.com/zh-cn/library/dn302119(v = vs.85).aspx 解决方案 此COM接口只能由C ++代码直接访问。在C#中,您必须自行
..
我应该写一个自动安装程序.只是您启动的程序,它应该独自通过安装向导,而无需用户触摸任何东西. 我目前正在开发的程序称为Cygwin.而我要做的就是一遍又一遍地单击“下一步"按钮,直到安装完成.我知道我可以使用VBS,也知道我可以使用C#,这会使我的生活变得更加轻松.但是我有一个示例说明它如何在另一个程序中工作,我正在尝试使其适应C ++中的Cygwin. HWND WINAPI
..
我需要有关win32 api的帮助,尤其是WindowsFromDc. 我有一个可以挂接到另一个应用程序的应用程序.这两个应用程序通过NamedPipe进行通信.在第二个应用程序中,我已钩住DrawTextExW函数,并从该函数获得了HDC. 但是当我使用DrawTextEx函数返回的DC执行WindowsFromDC时,我得到了空返回. 因此,我对此有一些疑问: -HDC可能没
..
我正在一个IDE中创建一个hwnd及其相应的WndProc LRESULT CALLBACK.我需要将WndProc更改为自定义名称. 我已经阅读到SetWindowLong可以完成工作,但是我找不到任何有效的示例.例如: HWND hwnd; //My window SetWindowLong(hwnd, GWL_WNDPROC, myNewWndProc); SetWi
..
我正在控制台应用程序中进行游戏,并且我想防止用户调整大小和最大化窗口.如何使用HWND做到这一点? 解决方案 我找到了解决方案.此代码将禁用“窗口大小"和“最大化"框: HWND consoleWindow = GetConsoleWindow(); SetWindowLong(consoleWindow, GWL_STYLE, GetWindowLong(consoleWindow
..
与TWAIN通讯的哪些部分可以放入另一个线程中,例如BackgroundWorker? 或者: 是否可以拆分处理图像传输的循环? 某些扫描仪驱动程序在返回调用应用程序之前会扫描所有图像,这会强制该应用程序立即处理所有图像.这导致例如当突然必须立即处理所有事件(在每个扫描的图像之后引发)时,我的WPF应用程序中出现OutOfMemoryException或怪异的行为.此外,应用程序会挂起,直到
..
我想在过程中将消息直接发布到COM所拥有的HWND.如何获取COM在单线程公寓模式下使用的HWND? 解决方案 尝试一下: HWND prevWindow = NULL; HWND hwnd; for ( ;; ) { hwnd = FindWindowEx( HWND_MESSAGE, prevWindow, L"OleMainThreadWndClass", NULL )
..
我正在尝试使用功能SetForegroundWindow(HWND hWnD).我有一些句柄,但不能作为上述函数的参数使用.我的句柄是一个线程,我想在前台运行它. HWND和HANDLE有什么区别? 解决方案 它们只是抽象数据类型. 根据 MSDN ,HANDLE和HWND定义为: HANDLE是对象的句柄. HWND是窗口的句柄. 因此,HWND是HANDLE,但并
..
我想在特定的航空窗口上禁用阴影效果。我只有这个窗口的HWND,这可能吗? 解决方案 阴影由当前使用的主题定义操作系统。您不能仅对一个窗口禁用它。您可以更改主题并禁用阴影,但这将是系统范围的更改,而不是特定于一个窗口。 对于您来说,最好的方法之一是创建您自己的窗口结构(从无边界窗口开始),该窗口结构将具有与Aero类似的透明度属性。这不是一件容易的事,但肯定可以实现。
..
晚餐 我想做的是一种找到窗口的方法,尽管它是进程ID,但要获取该窗口的名称并将其更改为我想要的名称. 我发现了一些相关内容:(代码1) int WINAPI GetWindowText( _In_ HWND hWnd, _Out_ LPTSTR lpString, _In_ int nMaxCount ); 此:(代码2)
..
我正在将HWND传递给子流程,以便它可以向我发送有关其进度的消息.有时,我从未从子流程中收到任何消息. 在调查过程中,我发现我传递给子流程的GetSafeHwnd()似乎返回的值不是我所期望的. 例如: 0xffffffffa5400382 基于此,我大概可以推断出我没有正确地将值转换为int64/string.我可以解决.但是我感到奇怪的是,这个hwnd看起来不正确吗? 在某些
..
根据 msdn ,使用CWnd :: FromHandle获取CWnd *, 指针可能是临时的,不应存储以备后用. 我不清楚“以后使用"是什么意思.仅仅是当前方法的范围吗? 据我所知,Win32中没有GC! 解决方案 MFC维护了许多句柄映射,从HWND到CWnd,从HDC到CDC等,它们以线程状态存储.每个句柄映射都包含一个永久映射和一个临时映射-当您调用诸如CWnd ::
..
我试图“钩住"窗口的消息以检测最小化/最大化.我环顾四周,认为实现此目的的唯一/最佳解决方案是挂接到窗口的消息中,并检查WM_WINDOWPOSCHANGED消息,然后检查其状态. 我遇到了问题. System.Windows.Interop.HwndSource source = System.Windows.Interop.HwndSource.FromHwnd(System.Di
..
MSDN->"GetDlgCtrlID函数"->备注: "...如果hwndCtl是顶级窗口的句柄,则GetDlgCtrlID可能返回一个值,但是顶级窗口不能具有标识符,并且这样的返回值永远无效." 这似乎是错误的信息-“永远无效". 至少对于Win2k ... Win8,此返回值只是指向hmenu(bar)的内核指针. 我的问题是(主要针对MS内部人员):为什么MSDN在这里如
..
我的WPF应用程序以大约4kb/s的速度泄漏内存.任务管理器中的内存使用量会不断攀升,直到应用程序崩溃并显示"Out of Memory"(内存不足)异常为止. 通过我自己的研究,我发现这里讨论了该问题:跟踪WPF中的内存泄漏和此处的#8: 所描述的问题是: 这是.NET 3.5 SP1之前(包括该版本)的框架版本中存在的WPF泄漏.发生这种情况的原因是WPF选择使用哪个HWND将消息从呈现
..
在Java 1.4中,您可以使用((SunToolkit)Toolkit.getDefaultToolkit())。getNativeWindowHandleFromComponent()但已删除。 看起来您必须使用JNI现在就这么做。你有JNI代码和示例Java代码吗? 我需要这个来调用Win32 GetWindowLong和SetWindowLong API调用,这可以通过Jawi
..
想知道是否可以根据HWND属性(或类似)选择IE窗口。我的脚本单击一个链接,在单独的窗口中打开一个新页面,我希望能够使用这个新窗口。 这是我的代码: $ ie.Navigate(“ https://chaseloanmanager.chase.com/Chaselock/ViewOnlineGuide.aspx“)#在新窗口中打开页面 while($ ie.Busy -eq $ t
..
我想我有一个相当简单的问题。我正在寻找一个方法来获取hwnd的excel输入框。我自动化一个进程,我注意到一个类型8输入框一直在excel窗口下面(如果这是有帮助的话,我自动从另一个应用程序的excel)。显然,我希望它显示在顶部,我试图使用SetForegroundWindow函数。任何建议? 根据请求,我发现唯一值得尝试的是: 公共函数GetHwnd()为Long GetHwn
..
我有一个DLL,我想使用直接声音播放声音。为了播放声音,我需要可执行文件的HWND。我没有加载DLL的可执行文件的HWND。如何在DLL中没有将其从可执行文件中传入? 解决方案 您可以使用 GetCurrentProcessId 以获取当前进程Id。 然后,您可以调用EnumWindows,并使用 GetWindowThreadProcessId 来查找与您的进程关联的窗口。
..