Updated: Interacting with the user on the windows logon screen

白昼怎懂夜的黑 提交于 2019-12-30 05:26:09

问题


@UPDATE:

OK FOR ANYONE ELSE WHO IS SEEKING ADVICE ON THIS ISSUE...


So far, the best thing i have found is to download yourself a cpy of pGina (http://www.pgina.org/) and for 2k/xp modify the GINA, and for vista/win7 you will need to create custom login credentials (pGina have the tools/samples to interface with the vista/win7 architecture).

to confirm -- it appears that this is what Novell are doing with vista/win7 rather than the traditional method of replacing the GINA (like in 2k/xp)

If anyone else comes up with a way to run an application on the logon screen in win7 please post it. Thankyou all for your help and input.



'---------------------------------------------------------------------------------

Ok im writing some vb6 software that requires input before the user logs on to the system.

Basically i want to run an application on the windows logon screen where the user can interact with the program. At present i have the application running as a service allowing to interact with the desktop, but it is still now showing.

Does anyone have any other ideas to get this working.

I know that "Allow service to interact with desktop" will work in windows 2000 / xp, Im running Windows 7 -- i am also aware that services cannot directly interact with a user as of Windows Vista -- saying this, are there any other methods to get my application running on the logon screen. Novell do it :)

Cheers in advance


回答1:


You can only do this if you are authenticating the credentials yourself. Prior to Vista, this was done via GINA, but since Vista, you need to write your own Credential Provider.

The reasons behind this are buried deep in the security principles -- Ctrl-Alt-Del will only ever bring up the window station associated with login (etc), and no other application can get to that window station (so you can't create a fake password box over the top to scrape passwords, for instance).

Without knowing why you think your service needs to interact with that desktop, it's difficult to advise further, but it might mean that your design is broken somehow.




回答2:


Service isolation will probably prevent you doing this from a service.

Pre-vista Novell and the like would probably have used GINA, which was replaced in vista; http://msdn.microsoft.com/en-gb/magazine/cc163489.aspx




回答3:


The only way I know of would be to write your own msgina.dll.

It can get dicey during testing though. Any mistakes can mess up your OS so bad that a complete reinstall becomes necessary.



来源:https://stackoverflow.com/questions/2317880/updated-interacting-with-the-user-on-the-windows-logon-screen

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!