我试图在系统托盘中放置一个图标,然后为其提供一个全局键盘快捷键来执行某项功能。
我使用 RegisterHotKey 设置全局键盘快捷键,如果与图标关联的主窗体可见,则它可以工作。但如果窗体不可见,则永远不会调用 WndProc 方法。
有任何想法吗?
编辑:
我所说的“隐藏”是指将以下内容添加到主窗体中:
protected override void OnLoad(EventArgs e)
{
hotKey = new GlobalHotkey(GlobalHotkey.WIN, Keys.T, this);
bool registered = hotKey.Register();
Visible = false;
ShowInTaskbar = false;
base.OnLoad(e);
}
“已注册”显示为“true”,如果我省略“Visible = false;”,则快捷键可以正常工作和“ShowInTaskbar = false;”。
问题在于,将 ShowInTaskbar 设置为 false 会更改窗口句柄,这意味着传递给 RegisterHotkey 的 hwnd 不再有效。
注册热键after设置 ShowInTaskBar 效果很好。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)