Note that there are some explanatory texts on larger screens.

plurals
  1. POSimulating input in Windows logon screen, using a driver
    primarykey
    data
    text
    <p>I'm writing an open-source remote desktop tool, similar to VNC and TeamViewer. I've noticed that TeamViewer continues capturing the screen at the Switch Users or Workstation Locked screen - and allows the remote user to type in the password and unlock the workstation. I want to do the same.</p> <p>I've read:</p> <p><a href="https://stackoverflow.com/questions/2317880/updated-interacting-with-the-user-on-the-windows-logon-screen">Updated: Interacting with the user on the windows logon screen</a></p> <p><a href="https://stackoverflow.com/questions/9485530/capturing-image-during-windows-logon-invalid-password">https://stackoverflow.com/questions/9485530/capturing-image-during-windows-logon-invalid-password</a></p> <p><a href="https://stackoverflow.com/questions/1186900/adding-command-button-to-windows-logon-screen">Adding command button to Windows Logon screen</a></p> <p><a href="https://stackoverflow.com/questions/1583326/hook-a-hotkey-from-windows-logon-screen">hook a hotkey from windows logon screen</a></p> <p><a href="https://stackoverflow.com/questions/7183241/launch-windows-on-screen-keyboard-at-logon-screen-on-win7">https://stackoverflow.com/questions/7183241/launch-windows-on-screen-keyboard-at-logon-screen-on-win7</a></p> <p><a href="https://stackoverflow.com/questions/5979544/driver-to-simulate-keypress">Driver to Simulate Keypress</a></p> <p><a href="https://stackoverflow.com/questions/1011047/removing-windows-logon-screen-through-a-service">Removing Windows Logon screen through a service</a></p> <p><a href="https://stackoverflow.com/questions/9098156/how-to-catch-a-key-in-windows-7-logon-screen">How to catch a key in Windows 7 logon screen?</a></p> <p><a href="https://stackoverflow.com/questions/103427/displaying-window-on-logon-screen-using-c-sharp-in-windows-xp">Displaying Window on Logon Screen Using C# in Windows XP</a></p> <p>From these posts, I've gathered that simulating input in an isolated session definitely isn't a simple call to SendInput(). But is it possible using a driver (I believe it's specifically a keyboard filter driver, but I'm not sure)? If so, I'm thinking of writing, in C#, a service (so that it runs outside the user's session) that interacts with the Interception driver to simulate key presses. </p> <p>In response to: "why don't you just try it?", there isn't a .NET wrapper for Interception yet for me to test such a service, and so if the general consensus concludes that this isn't possible, I don't want to spend the time writing that .NET wrapper.</p> <p>I found <a href="http://oblita.com/Interception.html" rel="nofollow noreferrer">an keyboard driver called Interception (that will be released open-source in the future)</a>. You can directly <a href="https://github.com/oblitum/Interception/blob/master/windows/interception.c" rel="nofollow noreferrer">find the source here (the source is only the C communication API wrapper surrounding the actual kernel driver)</a>.</p> <p>Another question I have...I'm confused about what files make up a driver. His Interception DLL library programmed in C compiles to a .DLL. But aren't drivers of some .sys extension - how would you compile that Interception DLL into an actual driver - and then how would you install it?</p> <p><strong>EDIT:</strong> <a href="https://github.com/candera/kchordr" rel="nofollow noreferrer">A .NET wrapper does exist</a>. I modded the sample console app to type my entire password when I pressed the 'x' key, and it worked successfully - not only at the workstation locked screen, but also at the Windows logon screen. So it works.</p> <p><strong>Edit:</strong> <a href="https://github.com/jasonpang/Interceptor" rel="nofollow noreferrer">C# wrapper library for this keyboard driver is here</a>.</p>
    singulars
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload