标签: winlogon

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

我正在用 C# 为一套技术支持工具编写远程控制应用程序。一切工作正常,除了我无法使用 SendInput 到 Winlogon 桌面。我成功检测到从默认到 Winlogon 的更改,并且我能够切换到它并捕获屏幕截图。它只是不接受 SendInput 函数。我知道这是可能的,因为 TeamViewer 这样做了,而且他们的清单中没有 uiAccess=true 。他们似乎正在使用与我相同的流程。

简而言之,这就是我正在做的事情:安装服务。服务监听连接请求。服务使用 CreateProcessAsUser 和来自 winlogon.exe 的重复访问令牌在用户会话中启动新进程。查看器连接到新进程。

任何人都可以确定缺少什么来让新进程访问 SendInput 到 winlogon 吗?这是我用来从服务启动新进程的代码。接下来是我用来检测 Winlogon 桌面更改并切换到它的代码。

public static bool OpenProcessAsSystem(string applicationName, out PROCESS_INFORMATION procInfo)
{
    try
    {

        uint winlogonPid = 0;
        IntPtr hUserTokenDup = IntPtr.Zero, hPToken = IntPtr.Zero, hProcess = IntPtr.Zero;
        procInfo = new PROCESS_INFORMATION();

        // Obtain session ID for active session.
        uint dwSessionId = Kernel32.WTSGetActiveConsoleSessionId();

        // Check for RDP session.  If active, use that session ID instead.
        var …
Run Code Online (Sandbox Code Playgroud)

c# winlogon sendinput teamviewer

3
推荐指数
1
解决办法
3629
查看次数

通过应用程序解锁Win7桌面

我正在尝试让一个程序解锁用户的Windows7桌面。我认为这在某些.NET语言中是最简单的,但是只要满足即可。

我一直在阅读有关stackoverflow的文章,有人说这是不可能的。如果是这种情况,Windows笔记本电脑上如何使用面部识别程序或指纹读取器。虽然我不会使用指纹或面部识别,但会以自己的方式对用户进行身份验证。功能将是相同的,但是因为一旦用户通过我的支票,我将登录桌面。

.net windows desktop login winlogon

2
推荐指数
1
解决办法
378
查看次数

如何使用Powershell读取登录事件和查找用户信息?

如何使用Powershell从Windows事件日志中读取登录和注销事件,并从Active Directory检索每个用户的相应信息?

powershell login winlogon active-directory event-log

2
推荐指数
1
解决办法
5945
查看次数

使用自定义凭据提供程序时,在登录屏幕上出现多个切片

我使用了Microsoft的Credential Provider示例来组合默认Windows 7登录屏幕的包装器.

就新的CP而言,所有内容似乎都运行良好,但我的登录屏幕上出现了重复的图块,即默认的Windows图块和我的"包装"图块.

如何删除默认的Windows磁贴,因为这不包含我的更改?

winlogon visual-c++ windows-7 credential-providers

0
推荐指数
1
解决办法
2774
查看次数

登录屏幕中的屏幕捕获

我试图在我的应用程序中使用Windows 7登录屏幕(或切换用户屏幕)的打印屏幕.

事实上,我不知道如何做到这一点.谁能帮助我?

c# windows winlogon printscreen winforms

0
推荐指数
1
解决办法
1371
查看次数