質問

私は、マイクロソフト社の放棄したスーパーユーザーの簡易スイッチャーのと同様のユーティリティを作成しようとしていますようこそ画面を経由せずにユーザーの簡易切り替えを可能にする(ダウンロードする)、。

I(WinStationConnectWと一緒に)文書化されていないWTSEnumerateSessionsのAPIを使用して作業の実装を持っていますが、それだけですでにログインしているユーザーに切り替えることができます。

それは?
にログインしていないユーザーに切り替えることができるようにどのように私は、ログインセッションを作成することができます それはVistaの/七つの仕事にいいと思いますが、私は、XPをサポートする必要があります。 (私の現在のコードが既にありません)。

私は、スーパーユーザーの簡易スイッチャーはそれをしないので、これが可能であることを知っています。 (それはそれを行うには、Windowsのサービスを必要とするが)

私はC#を書いているが、私はC#にどんな答えを翻訳することができます。

役に立ちましたか?

解決

私はInitiateInteractiveLogonShellLocalMachineのCOMオブジェクトで文書化されていないshgina.dll関数を呼び出すことによって、XPでこれを解決します。

のみローカルシステムアカウントによって呼び出すことができます。この方法では、コンソールにユーザーをログインします。 (これは、RDPセッションにユーザがログインできない)

DLLのバージョンは、Windows 7(およびおそらくまた、Vistaの場合)に含まれ、このメソッドが含まれていません。

他のヒント

どのバージョンのWindowsは、あなたがターゲットにしたいですか?

私は簡単な方法がないと信じています。 Windows XPの場合は、 GINA にあります。 Windows Vistaのために、「資格情報プロバイダのがあります。

また、Windows XPをターゲットにしている場合、あなたがサービスを作成することができ、それは、ユーザーがキーボードの上にそれらを押したかのようにログインするためのWinlogonデスクトップにキーストロークを送信します。これは、RealVNCのか、UltraVNCので行われた、私は覚えていません。しかし、このアプローチは、Windows Vistaでの仕事をしません。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top