从 Winlogon 桌面切换到用户桌面

Posted

技术标签:

【中文标题】从 Winlogon 桌面切换到用户桌面【英文标题】:Switching from Winlogon desktop to user desktop 【发布时间】:2012-05-31 16:05:33 【问题描述】:

我有一个应用程序在 Windows 7 的 Winlogon 桌面上运行。我需要通过单击应用程序按钮切换到用户桌面。我们可以通过按 ctrl+shift+esc 手动切换到用户桌面。但是热键被另一个应用程序阻止了。有没有其他的切换方法?

【问题讨论】:

【参考方案1】:

通常系统会在创建线程时将桌面与线程相关联。您可以使用此线程更改其桌面。因此,通过跟踪此线程,您可以在桌面之间来回切换。

您可以使用,例如:GetThreadDesktop,SwitchDesktop,SetThreadDesktopAPI 获取用户桌面的句柄。也许您可以使用其他 similar API 来完成您的任务。

【讨论】:

以上是关于从 Winlogon 桌面切换到用户桌面的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 C#/pinvoke 将输入发送到 WinSta0\Winlogon 桌面

如何在 Windows 上获取 Active Desktop 类型?

如何在c#中将输入发送到winlogon

无法进入windows 桌面

我想问问linux怎么切换桌面

ubuntu 从shell切换到桌面快捷方式