问题标签 [hwnd]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
1675 浏览

c++ - 从 HWND 引用关闭回调或 WM_CLOSE

我正在调用 HtmlHelpA winapi 方法来显示我的应用程序的 .chm。此方法立即返回 HWND,帮助窗口显示为单独的窗口。

除了窗口,我为这个 hwnd 设置了一个计时器。我的问题是我需要知道这个窗口何时关闭以终止计时器。

我的第一种方法是尝试注册 WndProc 回调,但我不能这样做,因为我没有创建窗口,我只有对 hwnd 的引用。

然后我尝试了一个钩子(SetWindowsHookEx),但 HOOKPROC 不会将 HWND 作为回调的参数。此外,我需要知道这个 hwnd 的线程。

当 HWND 关闭或有 WndProc 等待 WM_CLOSE 消息时,有什么方法可以注册回调?

0 投票
0 回答
245 浏览

c++ - C++ - 如何使用 GetDlgItemText 执行 python 代码?

我有一个 .pyd,它在导入时会在 C++ 中创建一个带有按钮和编辑框的窗口。当您单击按钮时,它会使用以下内容从编辑控件中获取文本:

然后,我尝试使用 PyRun_SimpleString 运行它。

但是,当我尝试运行多行代码时,它在 python 中给出了这样的错误:

如何解决这个问题?

0 投票
1 回答
2501 浏览

c++ - 如何在 C++ 中将命令行字符串转换为 hwnd?

我想使用 OpenGL 在 C++ 中创建一个屏幕保护程序。发送到我的应用程序以在小窗口中预览屏幕保护程序的命令行包含一个数字,该数字是hwnd屏幕保护程序控制面板小程序中小监视器窗口的数字。如何将此字符串转换为有效的hwnd

0 投票
1 回答
2642 浏览

winapi - 在 Hook 中从 HWND 获取 HMENU

我在我的应用程序中安装了一个钩子来获取标准的编辑上下文菜单(使用撤消/复制/编辑/粘贴/等)。我需要为我的应用程序插入一个新的菜单项。

我已经设置了一个 windows 挂钩,但我似乎无法获得上下文菜单的 HMENU。这是我设置钩子的地方:

这是我的回调函数:

我还尝试使用 WH_CALLWNDPROCRET 设置挂钩,但是这个甚至没有捕获菜单的 WM_CREATE 消息。

有谁知道如何为这种特殊情况获取 HMENU?

谢谢,凯文

0 投票
1 回答
2939 浏览

visual-studio-2008 - 将 HWND 转换为 HDC Visual Studio 2008 C++

我正在使用此代码将 IplImage 放入图片框中,注释部分不起作用,因此我尝试使用代码的前 3 行,但第三行在编译时返回 3 个错误:
1>UIThread.obj:错误LNK2028:函数“private: void clrcall UIThread : :Form1::BtnAcquire_Click(类 System::Object ^,类 System::EventArgs ^)" (?BtnAcquire_Click@Form1@UIThread@@$$FA$AAMXP$AAVObject@System@@P$AAVEventArgs@4@@Z) 1>UIThread.obj:错误 LNK2019:无法解析的外部符号“extern”C“struct HDC * stdcall GetDC(struct HWND *)”(?GetDC@@$$J14YGPAUHDC_ @@PAUHWND_@@@Z) 在函数“private: void __clrcall UIThread::Form1::BtnAcquire_Click(class System::Object ^,class System::EventArgs ^)”中引用 (?BtnAcquire_Click@Form1@UIThread@@$$FA$ AAMXP$AAVObject@System@@P$AAVEventArgs@4@@Z) 1>C:\Users\Andrea Parola\Documents\Visual Studio 2008\Projects\UIThread\Debug\UIThread.exe : 致命错误 LNK1120: 2 unresolved externals

那么如何将 HWND 转换为 HDC?

0 投票
0 回答
2806 浏览

winapi - 从 HWND 获取 HINSTANCE

GetWindowLong (GetTopWindow(NULL),GWL_HINSTANCE) 返回 0 ...(也尝试使用 GetWindowLongPtr) 有谁知道为什么会这样?

另外,您如何将 LONG 转换为 HINSTANCE?

  • GetTopWindow(NULL) 不返回 null

编辑:检查是针对注入到我要从中登录的应用程序中的键盘记录器。使用 GetModuleHandle(0) 我得到了我注入的应用程序的 HINSTANCE,如果我可以获得顶部窗口的 HINSTANCE,我可以检查我得到的输入是否适用于我的应用程序。

0 投票
1 回答
2160 浏览

c++ - LNK2028 和 LNK2019 错误

我对 c++ 完全不了解,并且正在尝试制作一个简单的表单应用程序,但遇到了这种问题:

谷歌搜索了 30 分钟,从解决方案到有关这些错误的线程都无法理解。这是表格 1:

0 投票
2 回答
1969 浏览

excel - Excel VBA:获取命令按钮的 hwnd 值

我在这里疯了...

如何在 Excel 2007 Form 中找到CommandButton的“hwnd”值?

我用谷歌搜索过,我尝试了各种建议(其中大部分建议命令按钮具有.hwnd成员属性 - 但它没有)并且没有找到答案。

我可以获得表单的hwnd 值,并且(理论上)应该能够使用 EnumChildWindows 来查找子窗口,包括我的按钮,但这也不起作用。

有没有人设法做到这一点?

0 投票
1 回答
1254 浏览

visual-studio - 调试时如何在 Visual Studio 中查看有关 HWND 的信息?

在调试/单步执行 Visual Studio 时,是否有任何众所周知的工具或插件可以用来获取有关 HWND 的属性?我知道我可以将 Spy++ 用于这些事情,但是这样做很麻烦,同时还要单步调试器。我想做的是将 HWND 放入Watch子窗口并查看以下内容:

  • 客户矩形
  • 窗口矩形
  • 样式/扩展样式
  • 人类可读形式的窗口类
  • 窗口名称 (::SetWindowText)
  • 等等

这对我来说似乎是非常基本的东西,对任何人都有用。有这样的插件吗?我可以通过使用 Autoexp.dat 玩游戏来做到这一点吗?

0 投票
2 回答
1803 浏览

java - 创建另一个进程的 HWND 的子窗口?(例如屏保预览)

我正在用 Java 编写屏幕保护程序。它主要用于 Windows,但我希望它尽可能便携。

根据http://support.microsoft.com/kb/182383,当使用命令行 args 调用屏幕保护程序时/p HWND,屏幕保护程序应“将屏幕保护程序预览为 window 的子项”。大概这就是屏幕保护程序应该如何在“屏幕保护程序设置”对话框中进行小预览。

那么,如何在 Java 中创建属于其他人的窗口的子窗口的 JFrame 或 JComponent?我在 JPanel 中查看了 Embed HWND (Window Handle), 这是一个相反的问题:开发人员控制父窗口并希望嵌入子窗口。在我的例子中,我控制了一个我想要嵌入到不是“我的”父级的子组件。我可以使用JNA来做到这一点吗?

除了 Java 代码之外,我宁愿不必维护 C 代码。(所以 JNI 不是首选。)我知道JDIC应该满足这种需求,但我读到 JDIC 基本上已经死了。

我正在运行 Windows 7,FWIW。