我需要为Windows登录创建自己的UI。我正在使用Windows7Embedded执行此操作,并且我可以完全访问图像创建和修改。通过研究我了解到winlogon.exe是由smss.exe调用的我没有过多地研究smss.exe;我已经开始拆解它了,但我还没有完全弄清楚它是如何启动winlogon的。我认为,我希望这些信息包含在注册表的某处,否则可能会导致与Windows更新发生冲突。我也开始掌握Windowssession、工作站和桌面的层次结构。令我感到好奇的一件事是winlogon在session1上运行。我本以为它会在session0上运行,但事实并非如此。这是否意味着为每个用
我的一个客户使用任务管理器来触发(启动)一个进程来做某事。此进程包含一个UI,并且需要始终是单个实例(已处理)。任务管理器中的一切运行顺利,如果您需要将任务管理器设置为:“无论用户是否登录都运行”(请在此处查看问题原因的答案:http://social.technet.microsoft.com/Forums/en-US/c03d6691-b058-4f8d-961c-e8eba25bbaed/task-scheduler-problem-run-whether-user-is-logged-on-or-not好的..没问题。我们只是让任务仅在用户登录时运行。仍然可以正常工作(即使计算
我想在相对较新的Windows机器(7、8或10)上实现自定义登录屏幕(使用自定义登录方法,例如指纹或其他方法)。不知何故,我找不到关于这个主题的真实描述,我要么在GINA(现在似乎已被弃用)结束,要么在这个(据说非常有用)链接:http://msdn.microsoft.com/en-us/magazine/cc163489.aspx这只会将我带到所有MSDN杂志的存档...这些看起来都有些老了,有没有更新的东西?更新:我查找了pGina,因为它在一个被标记为重复的问题中得到了建议。但是,在我看来pGina不支持将自定义UI添加到登录屏幕,这对我来说是必不可少的。此外,虽然我发现提到
我有一个定制的基于USB的指纹识别设备。如何将设备上的指纹与Windows机器的用户相关联(使用CredentialProvider)。首先,我希望在指纹扫描时自动登录,而不提示输入用户名/密码。我意识到应该有一些注册过程来将指纹绑定(bind)到Windows用户;但我找不到这方面的任何技术资源。提前致谢。 最佳答案 您需要创建一个支持ICredentialProvider和ICredentialProviderCredential接口(interface)的COM组件,登录可以在登录提示期间加载和枚举这些接口(interface
我成功使用了SendSAS在服务(本地系统帐户)中。我在服务启动四秒后调用API。似乎无论启动过程的持续时间如何,Windows都会设法缓存(某种程度上)调用:相同的代码最终在开机几秒钟后在一台快速笔记本电脑(Win10)上向我显示了一个登录屏幕,并且还向我显示了在运行虚拟化(wmware)的慢速服务器(2012R2)上延迟很长时间后登录屏幕。我也可以使用CreateProcessAsUser(使用更新的token)在session1、站WinSta0、桌面Winlogon中注入(inject)一个微小的可执行文件。该过程然后使用SendInput“自动登录”session(是的,这是
除了pGina在Windows登录UI中通常提供的用户名和密码字段之外,我还需要第三个文本字段。我将使用此字段接收密码,以根据在后台运行的一次性密码服务进行检查。如何在pGina登录UI中添加新字段并将其值传递给在后台运行的服务?感谢任何帮助。 最佳答案 我终于做到了。正如@Alexander所指出的,我编辑了TileUiLogon.h和TileUiTypes.h并按照模式将第三个字段添加到登录屏幕。然后,我编辑了Credential::Initialize并在“for”循环中添加了一个新行,遵循“密码”字段的相同模式(我不确定那里
假设有两个用户A和B登录了计算机,我们可以在cmd.exe中使用命令“querysession”来获取每个用户名的所有sessionid。我的问题如下:1、如何通过API(用户态或内核态)查询给定用户名的sessionid?2、如何通过API(用户态或内核态)查询给定sessionid的用户名?提前致谢! 最佳答案 您可以使用RemoteDesktopServicesAPI为此。1,HowcanIquerythesessionidofagivenusernamethroughAPI(usermodeorkernelmode)?只需使
我正在编写一个将使用本地系统凭据运行的服务应用程序。如果Windows登录屏幕在任何特定时间显示,我需要从我的服务中获知。有什么办法吗?附言。可以通过锁定工作站调出的屏幕:或者尝试切换用户:或者在Ctrl+Alt+Del之后:附言。我需要它才能在WindowsXP及更高版本上运行。编辑:到目前为止,我想到的唯一可行的解决方案是查看LogonUI.exe进程是否正在运行。这种方法的问题是如何区分实际的系统登录进程和具有该图像名称的任何其他进程? 最佳答案 如评论中所述,您正在尝试检测交互式桌面session中的进程是否应显示消息框
当引导过程完成或用户登录时,我能否获得对内核驱动程序的事件回调? 最佳答案 简单的答案是否定的。长答案是肯定的,但为什么呢?我会回答第二部分,因为它更容易。您可以轻松注册以在启动任何进程时接收通知。对WindowsInternals的简短检查会告诉您,从Vista及更高版本开始,进程userinit.exe是任何给定用户session中要执行的第一个进程。对于第一部分,这会根据您对引导过程的定义而发生很大变化。是在加载GUI时吗?是电脑可以接收网络请求的时候吗?哪些网络请求(TCP/IP、SMB、RPC)重要吗?每个问题的答案都非常
我有以下问题。我开发了一个必须在登录Windows7之前执行的脚本。除其他事项外,该脚本必须通过给定的Internet主机进行身份验证并将返回结果保存到txt文件中。问题是当脚本启动时,它找不到网络连接并且身份验证失败。为了将脚本添加到启动中,我遵循了本教程:connecttoVPNbeforeloggingintowindows我已经尝试在gpedit.msc的计算机配置/管理模板/系统/登录中启用“启动和登录时始终等待网络”,但它不起作用。有人遇到过这样的问题吗?有什么提示吗?我只想在运行启动脚本之前强制有线网络完全准备好并正常工作。 最佳答案