views:

417

answers:

4

hi

i built a program that hooks the keyboard and when some hotkey pressed it openning the door (that connected to the COM1 serial port of the computer).

this works fine, until i locking the computer (winkey+L). i want to be able to open the door with the same hotkey from the logon screen.

i using Windows XP & C#.

how do i do that?

thanks.

+2  A: 

You need to write a Windows service that does this. Services and drivers can run outside of user logins, and services are a lot easier to write than drivers.

Anthony Mills
+2  A: 

you can't. When the screen is locked then mouse and keboard inputs aren't sent to running programs. It's a security thing. If you could communicate with running programs when the screen was locked then what would be the point of locking the screen

Glen
note that winkey+U are working from the logon screen, its running some microsoft accessability applications.i guess that this is not exclusive hard-codrd functionality, and other 3rd party accessability applications can also do something like that...
DxCK
@DxCK, the OS can do pretty much whatever it wants to, that's why winkey+U works. programs running in user space have to obey the rules laid down by the OS. One of those rules is that key presses aren't passed to programs running in user space. I've never seen any accessability programs used from the locked screen before (I'm not saying they don't exist, just I've never come across them)
Glen
+1  A: 

Programs that are running with normal user rights are not allowed to mess with the logon screen for security reasons. This makes it harder for key loggers to see your password.

You need to convert your program into a service. Please see http://msdn.microsoft.com/en-us/library/ms686953(VS.85).aspx for details on how to implement and install a service.

nhnb
+1  A: 

Yahhhhhhhhhhhh!! i found it!!

This can be done with "psexec /x" from sysinternals.

DxCK