我想在特定时间激活并运行托盘系统。现在我的托盘系统将在PC打开时运行,但我想要做的是,我希望托盘系统启动并运行,当数据库中有特定状态时触发托盘系统激活并运行。我使用托盘系统开发它。
答案 0 :(得分:1)
如果您希望隐藏托盘中的所有图标,则必须使用Windows dll(pinvoke)。
使用SendMessage或ShowWindow窗口api向处理程序发送隐藏/显示
[DllImport("user32.dll")]
static extern bool ShowWindow(IntPtr hWnd, int nCmdShow);
private const int SW_HIDE = 0x00;
private const int SW_SHOW = 0x05;
'IntPtr hWnd'是Handler(就像windows形式'this.Handler')
'int nCmdShow'是您要发送的消息,在您的情况下为SW_HIDE或SW_SHOW
你会找到一种方法来操纵这个tutoriel中的其他过程元素:
http://en.code-bude.net/2014/12/04/manipulate-any-program-by-using-c/
this is a question about hiding a program in the taskbar,也许有用,只需更改为正确的处理程序......
在过去,当我做这种事情时,我正在使用Inspect找到我需要的Handle,然后尝试不同的消息...
在您的Google搜索中,请添加“pinvoke”一词。
处理程序将在每个新实例上更改,您将需要一个函数来按进程找到它,然后命名。我过去使用的是FindWindowEx(windows xp)
get all controls by FindWindowEx
我希望它可以帮助您找到解决方案。