ユーザーの SkyDrive をネットワーク ドライブにマップするアプリケーションを作成しました。ただし、Word 文書をネットワーク ドライブから直接開くと、Microsoft Office 2010 は WebDav を使用して文書を読み込もうとし、ユーザーが再度ログインするように求めます。
ログインすると問題なく動作し、[Remember Me] をクリックすると、資格情報ストアに資格情報が保存rundll32.exe keymgr.dll, KRShowKeyMgr
されます。これは、セッションが閉じられるまでのみ続きます。
ユーザーの資格情報の自動保存をプログラムに組み込み、ユーザーにプロンプトが表示されないようにしたいと考えています。
CredWrite API を使用してみましたが、一般的な資格情報しか保存できません。(.Net Passport) 資格情報を保存する必要があります。 http://msdn.microsoft.com/en-us/library/windows/desktop/aa375187(v=vs.85).aspx
フラグを CREDUI_FLAGS_SERVER_CREDENTIAL http://msdn.microsoft.com/en-us/library/windows/desktop/aa375177(v=vs.85).aspxに設定して CredUIPromptForCredentials API を使用してのみ、これを達成できました 。
その単語が credui.dll に対して行う API 呼び出しを調べましたが、呼び出しているものと同じです (いくつかのキャプションを除く)。
しかし、それは異なる結果を生み出します。私のコードは、保存するこの資格情報を生成します
単語 api 呼び出し/後続のコードは、この資格情報を生成します
ただし、資格情報ターゲットを正しく保存して、オフィスがプロンプトなしでロードするようにする方法がわかりません。ユーザーが [OK] をクリックするだけで済むように、ユーザー名とパスワードを事前に入力できるので、オプションがない場合はプロンプトをロードしたいと思いますが、サイレントに実行したいと思います。
さらに、Word の WebDav サポートを無効にするか、ネットワーク ドライブを実際のネットワーク ドライブとして使用するように強制する必要がある場合は、これも機能します。私は答えを見つけることができませんでした。誰かが何か考えを持っているなら、私はそれを大いに感謝します.