我正在尝试制作一个在后台检查某些内容的Windows应用,并通过系统托盘图标通知用户。
该应用程序是使用Not managed C ++制作的,没有选项可以切换到.net或Java。
如果用户想要停止该应用,他将使用托盘图标。
由于系统托盘方面的应用程序不能是服务,因为它必须在用户计算机上安装任何东西时运行(它是单个.exe)
使用典型的Win32程序结构(RegisterClass,WndProc等)我不知道如何放置一些代码来分开窗口消息循环。 也许我必须使用CreateProcess()或CreateThread()?它是处理多线程环境的正确方法吗?
如果我必须使用CreateProcess()/ CreateThread(),我如何在两个线程之间进行通信?
谢谢;)
答案 0 :(得分:2)
对于系统托盘图标,您需要Shell_NotifyIcon。
答案 1 :(得分:0)
我怀疑你想要创建新的进程来执行此操作,您希望在应用程序中创建一个线程。执行此操作的API为CreateThread。但是如果你正在使用C ++,那么你应该考虑使用框架和类库来实现这一点,而不是从头开始编写有效的C代码。
属于应用程序的所有线程共享应用程序的全局变量,因此可用于通信。您需要使用类似关键部分的内容来保护此类多线程访问。