小编Leo*_*eon的帖子

如何在默认桌面和Winlogon桌面之间切换进程?

我正在Windows 7(x64)和Windows 8(x64)上用C++ 编写远程桌面应用程序,如TeamViewer.

是什么让我陷入困境

我已经使用SendInput()实现了鼠标输入和键盘输入.我发现当进程运行时SendInput()工作正常winsta0\desktop.但是在用户锁定计算机或启动屏幕保护程序后,它无法正常工作.

如果我在下面运行该过程winsta0\winlogon,SendInput()则无法正常工作winsta0\default.

2.我尝试过的

我已经尝试使用SetThreadDesktop()将进程从切换winsta0\desktopwinsta0\winlogon,但我收到错误170:"请求的资源正在使用中",我坚持了下来.

3.我想知道什么

我注意到TeamViewer有一个名为的进程TeamViewer_Desktop.exe,可以在Winlogon,Default和Screensaver下控制鼠标和键盘.它是如何做到的?

你能提供代码来帮助我理解如何解决我的问题吗?

我想知道**如何在默认桌面和Winlogon桌面之间切换应用程序.因此,我可以在安全的桌面上控制鼠标和键盘,而无需在其下创建另一个进程winlogon.exe.

c++ windows winlogon

10
推荐指数
1
解决办法
7894
查看次数

标签 统计

c++ ×1

windows ×1

winlogon ×1