如何向其他应用程序窗口标题栏添加按钮(XP/Vista)
我有一个打开窗口的处理程序,该窗口不一定由我的进程打开。 如何向该窗口添加一个按钮,并让该按钮在单击时调用某个应用程序 (.exe)? 该按钮可能位于系统菜单或最小化按钮旁边。 这应该适用于 XP 和 Vista(每个版本可以采用不同的方法)。
I have the handler of an open window which wasn't necessarily open by my process. How can I add a button to that window and make the button call a certain application (.exe) when clicked? The button could be next to the system menu or the minimize button. This should work for both XP and Vista (a different approach for each version is OK).
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
标准方法是使用 SetWindowsHookEx 将 DLL 注入到进程中,挂钩 WH_CALLWNDPROC 来监视 WM_NCPAINT 消息。 这曾经很有效,但现在不行了。 视觉样式和 Vista UAC 会让你长出很长的胡子。 这在 Windows 3.x 时代很常见,我已经有一段时间没有看到这样做了。
The standard approach is to inject a DLL into the process with SetWindowsHookEx, hooking WH_CALLWNDPROC to monitor the WM_NCPAINT message. That used to work pretty well but no more. Visual Styles and Vista UAC will make you grow a pretty long beard. Common in the Windows 3.x days, I haven't seen this done in quite a while.