jjzjj

SwitchDesktop

全部标签

c++ - 使用 CreateDesktop/SwitchDesktop 在新桌面中创建表单

我需要为实用程序创建一个系统模式表单,该表单应阻止整个窗口,直到输入特定值。所以我正在尝试创建桌面和切换。到目前为止,创建桌面切换到它并返回对我来说效果很好。但是,当我尝试从一个新线程中创建一个表单时,该表单没有显示,但应用程序保留在新创建的空白桌面中,因此在我注销之前永远阻塞屏幕。我是根据此处找到的代码制作的:http://developex.com/blog/system-modal-back///ScreenLocker.h#pragmaonceusingnamespaceSystem;usingnamespaceSystem::Windows::Forms;namespaceD

c++ - SwitchDesktop 暂时工作,但片刻后切换回来

我有一些代码可以创建一个新桌面并在该桌面中启动一个进程。在一些选择的WindowsXP机器上,当这段代码运行时,我可以看到它切换到新桌面并启动进程,但几乎立即,桌面切换回正常桌面。此代码在大约98%的机器上运行良好,而且我似乎无法找出任何导致此代码无法在其他机器上运行的原因。SwitchDesktop应该可靠吗?我可以Hook对可能从另一个应用程序调用的SwitchDesktop的调用吗?我的代码:intDLL_EXP_IMPWINAPIProcess_Desktop(char*szDesktopName,char*szPath){HDESKhOriginalThread;HDESKh

windows - 是什么导致 SwitchDesktop 在用户解锁 session 后无法立即工作?

我有一个程序可以切换桌面并在其上启动一个新进程。当进程退出时,父进程恢复原来的桌面。出于测试目的,我在触发切换的普通win32应用程序中放置了一个按钮。它有效,并关闭启动的进程(记事本),我回到原来的桌面。在同一个程序中,我调用了WTSRegisterSessionNotification以在session解锁(WTS_SESSION_UNLOCK)时接收通知。我收到了。但是当我尝试在WTS_SESSION_UNLOCK消息处理程序中切换桌面时,SwitchDesktop失败并且GetLastError为0。文档说最后一个错误通常不是由SwitchDesktop设置。有趣的是,如果我将