3

ご存知のとおり、「user32.dll」の「LockWorkStation()」などのAPIを使用してウィンドウをロックできます。しかし、それをロック解除する方法は?

たとえば、最初にアプリを実行した場合、30秒後にアプリが自動的にウィンドウのロックを解除するようにします。どうやってするの?言い換えると、自動ログインの場合、Windowsはregeditからユーザー名とパスワードを読み取り、APIを使用してそれらによってログインします。今私はAPIが必要です。存在しているはずですが、公表されていないようです。

Windowsのユーザー名とパスワードをアプリに取得できます。

WBFにはApiが含まれているようですが、リソースが少なすぎます。最悪の方法なので、問題を解決するためにキーボードメッセージを送信したくありません。

4

2 に答える 2

8

より多くの説明が必要なため、私のコメントを宣伝します。

あなたは本当にGINA(XP用)またはWindowsVista以降用のクレデンシャルプロバイダーを書きたいと思っています。

基本的に、Windows認証モデルは、ユーザーがコンピューターへのアクセスを許可されているという証拠(ID)を提供することに基づいています(資格情報、生体認証データ、スマートカード、またはその他の情報のいずれかによって)。コンピューターへのログオンが許可されると、Windowsからアクセスできるようになります。

ワークステーションがロックされている場合(何らかの理由で-スクリーンセーバー、ユーザーがWin-Lと入力)、ユーザーを再認証する必要があります。

通常はこれで十分です。承認は一定期間有効です(管理者が決定します)。(ポリシー上の理由で)よりきめ細かい制御モデルが必要な場合は、「LockWorkstation」のアイデアを使用して、ユーザーに自分自身の再認証を強制することができます。誤検知(ユーザーが眼鏡を外した、または髪の毛を別の方法でとかしたという理由だけでコンピューターの使用が許可されていないと言われること以上にユーザーを怒らせることはありません)と、アプリがシステムリソースをどれだけ消費するかについて非常に注意する必要があります。

于 2009-08-29T17:19:32.667 に答える
1

ワークステーションがロックされている場合、ロックを解除する唯一の方法は、ユーザーがログインすることです(Alt+ Ctrl+Delを押して正しいパスワードを入力します)。これは、アプリケーションAPIを使用して回避できないセキュリティ機能です。

于 2009-08-29T14:59:56.030 に答える