ドライバを使用して、Windowsログオン画面で入力をシミュレーションする
質問
VNCとTeamViewerと同様に、オープンソースのリモートデスクトップツールを書きます。 TeamViewerがスイッチユーザーまたはワークステーションロックされた画面で画面のキャプチャーを続けることに気付いたので、リモートユーザーがパスワードを入力してワークステーションのロックを解除することを確認しました。私は同じことをしたいです。
私は読みました:
https://stackoverflow.com/questions/9485530/CapTuring-Image. -during-windows-logon-invalid-password
https://stakoverflow.com/questions. / 7183241 / LAUNCTING-Windows-on-Screen-at-Logon-Screen-on-Win7
C#を使ったログオン画面上のウィンドウの表示Windows XP で
これらの投稿から、絶縁セッションでの入力をシミュレーションすることは間違いなくSendInput()の単純な呼び出しではないことを集めました。しかし、それは運転手を使って可能ですか(私はそれが特にキーボードフィルタードライバーであると思いますが、私はよくわかりません)?もしそうなら、私はC#で、傍受されたドライバと対話してキーを押すことを遮断するサービス(ユーザーのセッションの外で実行されるように)を書くことを考えています。
:「あなたがそれを試してみませんか?」に応答して、私がそのようなサービスをテストするための傍受のための.NETラッパーはありません。可能な、私はその.NETラッパーを書いている時間を費やしたくありません。
私は傍受されたキーボードドライバ(将来のオープンソースでリリースされる) 。あなたは直接ここでソースを見つける(ソースはC通信APIにすぎません)実際のカーネルドライバを囲むラッパー)
編集: .NETラッパーはを存在します。 「X」キーを押したときにサンプルコンソールアプリをMy Passwordアプリケーションを入力し、ワークステーションロックされた画面だけでなく、Windowsログオン画面でも正常に機能しました。だからそれはうまくいきます。
解決
Currently, the actual drivers are not open source. The driver installer installs them (keyboard.sys and mouse.sys), what's open source is only the API of communication with them. I'm planning a rewriting of the kernel components before open sourcing it too.
他のヒント
For other people interested in the answer: yes, it works.
Use the .NET wrapper for the Interception keyboard driver found at https://github.com/candera/kchordr, and play around. It will replace keys even at the Windows logon screen.