0

I am trying to figure out if there is a way for me to trap Ctrl-Alt-Del in a Windows 7 Credential Provider. I know we could do this in the GINA days using WlxSASNotify and I remember reading in the Vista Cred Prov document that there was no way to trap the SAS any more.

Have there been any updates since? I have been Googling for a fair bit and haven't found anything specific on Windows 7 Cred Prov.

Thanks!

Vivek
  • 428
  • 2
  • 13
  • What are you trying to do after the CTRL-ALT-DEL ? It is indeed much, much harder now. Maybe you can do something else and acheive the same result ? – ixe013 Apr 26 '12 at 19:25
  • My apologies. I should have responded a while back. My custom GINA shows a welcome screen (welcome blah blah. these are the factors you can use to login to Windows). Users press CAD to get to another screen where they type in username, password, domain. I have got another keys shortcut that does the same, but it's a behavior change for old users. I was trying to keep the behavior exactly the same. The UI on the custom CP is the same, since we just block the execution of SetSelected with a model dialog that runs our UI code. Had a chat with MS Support and they say it can't be done. – Vivek Sep 19 '12 at 01:33

1 Answers1

2

It can't be done. CTRL-ALT-DEL is handled by Winlogon.exe, like always. Up to Windows XP, you could not exactly "trap" it, but you could tell Winlogon what to do when it received it, even going as far a showing your own UI.

Now CTRL-ALT-DEl launches LogonUI.exe and the only thing you can tell it is the UI fields that should be displayed. You cannot see, let alone communicate with Winlogon.

Displaying a modal dialog on SetSelected should work, and I understand it does work for you, but there is no guaranty that it will always work. LogonUI could force itself always on top, it could run the credential provider under another process/user account that does not have the rigths to the desktop.

If at all possible, I would try to stick with the default behavior...

ixe013
  • 9,559
  • 3
  • 46
  • 77
  • Thanks! It should always work, actually, as long as you invoke the modal dialog within SetSelected. The only catch is that the Credential has to be fully constructed (including the password provider UI construction that is now being blocked by the modal dialog) within a certain time period, otherwise the moment the modal dialog is closed, the provider unadvises the credential. I have gotten round that too, but my approach is really pathetic. I agree with you that the default approach is the best. It just takes a long time if you have got a complex custom GINA and want to move all of it to CP. – Vivek Sep 30 '12 at 18:30