【发布时间】:2012-02-25 00:19:58
【问题描述】:
我创建了一个 WinForm 应用程序,当我按下一个键时,它的名称(或代码)会显示在一个透明的表单上。我想要的是让这个表单点击,意思是:当我点击表单或按下键盘上的一个键时,我希望它的名字显示在我的应用程序上,但它也应该在我的应用程序表单后面的窗口上工作.例如,如果我打开一个网络浏览器,打开我的应用程序并单击浏览器的关闭按钮 (x) 所在的区域,浏览器应该关闭,但我的应用程序应该显示:“左按钮”。我该怎么做?
【问题讨论】:
我创建了一个 WinForm 应用程序,当我按下一个键时,它的名称(或代码)会显示在一个透明的表单上。我想要的是让这个表单点击,意思是:当我点击表单或按下键盘上的一个键时,我希望它的名字显示在我的应用程序上,但它也应该在我的应用程序表单后面的窗口上工作.例如,如果我打开一个网络浏览器,打开我的应用程序并单击浏览器的关闭按钮 (x) 所在的区域,浏览器应该关闭,但我的应用程序应该显示:“左按钮”。我该怎么做?
【问题讨论】:
这个 VB.net article 似乎可以满足您的要求。没有测试过,希望对你有帮助。祝你好运!
编辑:这似乎只处理您想要完成的点击部分。对于按键转发部分,我将使用GetTopWindow() 和GetNextWindow() API 函数来导航窗口堆栈并找出应用程序Z 顺序后面的窗口句柄,然后SendMessage() 将按键事件转发到应用程序后面的窗口。
【讨论】: