更新:在Windows登录屏幕上与用户交互

时间:2010-02-23 12:00:16

标签: vb6 windows-services authentication

@UPDATE:

对任何人都在寻求关于这个问题的建议......


到目前为止,我发现最好的事情是下载自己的pGina(http://www.pgina.org/)和2k / xp修改GINA,而对于vista / win7,你需要创建自定义登录凭据(pGina有用于与vista / win7架构连接的工具/示例)。

确认 - 这似乎是Novell用vista / win7做的,而不是传统的替换GINA的方法(比如2k / xp)

如果其他人想出了一种在win7登录屏幕上运行应用程序的方法,请发布它。 谢谢你的帮助和意见。



“------------------------------------------------- --------------------------------

好的我在用户登录系统之前编写了一些需要输入的vb6软件。

基本上我想在Windows登录屏幕上运行一个应用程序,用户可以在该屏幕上与程序进行交互。目前,我将应用程序作为服务运行,允许与桌面交互,但现在仍在显示。

有没有人有任何其他想法让这个工作。

我知道“允许服务与桌面交互”将在Windows 2000 / xp中运行,我正在运行Windows 7 - 我也知道服务无法直接与Windows Vista用户交互 - 说这个,还有其他吗?让我的应用程序在登录屏幕上运行的方法。 Novell做到了:)

提前干杯

3 个答案:

答案 0 :(得分:3)

如果您自己验证凭据,则只能执行此操作。在Vista之前,这是通过GINA完成的,但是从Vista开始,你需要编写自己的Credential Provider

这背后的原因深深植根于安全原则 - Ctrl-Alt-Del只会调出与登录相关的窗口站(等),没有其他应用程序可以到达该窗口站(所以你可以例如,在顶部创建一个伪造的密码框来刮取密码。

如果不知道为什么您认为您的服务需要与该桌面进行交互,则很难进一步提出建议,但这可能意味着您的设计会以某种方式被破坏。

答案 1 :(得分:2)

服务隔离可能会阻止您从服务中执行此操作。

Pre-vista Novell等可能会使用GINA,后者在vista中被取代; http://msdn.microsoft.com/en-gb/magazine/cc163489.aspx

答案 2 :(得分:0)

我知道的唯一方法是编写自己的msgina.dll。

虽然在测试过程中可能会有点冒险。任何错误都会让您的操作系统变得非常糟糕,以至于需要完全重新安装。