(高分相送)急切求助-服务程序 接收桌面程序消息问题!
问题描述:
写了一个服务程序,并在服务程序中单独开启一个线程创建了一个窗口(隐藏的) 然后想用这个窗口来响应消息.结果是操作系统发送的消息我都能接收到.但是桌面应用程序广播的消息我就接受不到.查了半天,看见网上的同仁们都说是因为服务程序与桌面应用程序不在同一个"桌面"中.需要经过OpenDesktop()函数和SwitchThreadDesktop()函数获取用户桌面环境(好像是名为Default). 然后将服务本身设置到这个环境中,用SetWorkStation()这个函数.问题是我查了半天,就是不明白服务程序的桌面环境和普通应用程序的桌面环境有什么不同.这个"桌面"是用做什么的? 我该怎么才能把我服务中启动的窗口线程或者这个服务进程添加到普通应用程序所在的"桌面"中? 很急啊...大牛们帮忙啊...