2011-09-14 13 views
1

特定のイベントが発生したときにウィンドウをロックするC++スクリプトがあります。ウィンドウをロックするには、 "LockWorkStation()"コマンドを使用します。私がしたいのは、他のイベントが発生したときにウィンドウをロック解除することです。議論のために、ウィンドウが「ロックされている」と仮定しましょう。 2分後に窓が開けなくてはならない。 これはMSGINA.dllを変更する必要がありますか? LockWorkStation()と同様の単純なコマンドですか? 私はどこかに保存されたユーザー名とパスワードを持っていることを知っています(現在、キーとして機能するUS Bスティックにあります)。"LockWorkStation()"を使用してロックされた後にウィンドウをロック解除するC++スクリプト

タスクを達成するための指導、助言、または手順は、高く評価されます。

ありがとうございます

+7

C++ *スクリプト*とは何ですか? – bitmask

+2

私の考えでは、ロックはプログラマチックに終了するのではなく、「物理的な」ユーザーアクションによってのみ終了されます。そのロジックでは、これを行う方法がないはずです。もちろん、コードインジェクションを使用して行う方法を示すWeb上のハックがありますが、安定したものは得られません(将来のバージョンのWindowsでは動作しないかもしれません)。 –

+0

なぜ最初にステーションをロックすることができますか?本当に、あなたはここの潮と泳いでいます。 –

答えて

2

ワークステーションのロックを解除するメカニズムはありません。あなたはカスタムGINAモジュールを書いて、何とかそれとコミュニケートする必要があります。

標準のGINAで最も近いのは、自動ログオンを行うことです(例:Autologon tool from SysInternalsを使用)。しかし、自動ログオンは、マシンの再起動後またはユーザーのログオフ後にのみ開始されるため、ユーザーセッションは失われます。

+0

FWIW、GINAはVista以上には存在しません。 –

+0

ありがとうSeva。私がしようとしていることがCredential Providerでできると思いますか?または同じ問題が続く – Louis

+0

Davidが正しいです。私は、Windows Vistaを開始するためにカスタムGINAが存在することを逃しました。 XPやそれ以下でも、カスタムGINAを書くことの複雑さが高すぎるため、カスタムGINAはおそらくあなたが欲しい解決策ではありません。 –

関連する問題