ノートPCがあると、ついついデスクトップPCの前に座るのが億劫になってしまう。そんなこともあり、VNC を導入してみることに。
驚いたのがサービスとしてインストールすると、ログオン ダイアログ や スクリーンセーバー までネットワーク越しに表示できてしまうところ。どうやって実装しているんだろうとソースを眺めていると、OpenInputDesktop という Win32 関数を発見。なるほどなるほど、そりゃー可能か。
VNC クライアントを手前に表示した状態で Windows キーを押しても、そのキーボードメッセージはサーバーに伝わらずに手前の explorer がを吸い取ってしまう。VNC クライアントが、単純にフックを使ってるから仕方ないんだろう。こいつが可能な VMware はデバイスレベルでのキーボードフックを行ってるんでしょうかね。
VNC のソースは意外と読みやすかった。ファイル名の命名も分かりよいし、コメントの分量も適切だし、関数の長さもちょうどよいし。C++ を使っていたのにちょっとびっくり。MFC を使っていないのにもちょっとびっくり。
あとは、Wake On LAN でデスクトップの電源を入れることができれば、ノートPCをデスクトップのリモコンとして活用することができますな。
→ と思ったら、NIC が WOL 非対応だった・・・。
最新コメント