4

プロジェクトの一環として、セキュア ソケット レイヤー上で実行される Web アプリケーションを自動化する必要があります。そのため、一部のアカウントが正常に機能しなかった場合は、ログアウト後に vbscript を使用して SSL 状態、キャッシュ、閲覧履歴をクリアする必要があります。これまでに次のコードを書いていますが、正しく動作していません。

ieObj.document.execCommand ("ClearAuthenticationCache")

 Set objFSO = CreateObject("Scripting.FileSystemObject")
 Set objShell = CreateObject("Shell.Application")
 Set objFolder = objShell.Namespace(TEMPORARY_INTERNET_FILES)
 objFSO.DeleteFile (objFolder.Self.Path & "\*.*")
 ieObj.Quit
 Set ieObj = Nothing
 Application.Wait DateAdd("s", 2, Now)

今すぐ更新するために、sendkeys を使用して SSL 状態をクリアしています。

Sub ClearSSLState()
' Macro1 Macro
Dim oShell
Set oShell = CreateObject("Wscript.Shell")
oShell.Run ("cmd")
Application.Wait DateAdd("s", 1, Now)
oShell.AppActivate "C:\SYSROOT\system32\cmd.exe"

Application.Wait DateAdd("s", 1, Now)
oShell.SendKeys "inetcpl.cpl"
oShell.SendKeys "{enter}"
oShell.AppActivate "Internet Properties"
Application.Wait DateAdd("s", 1, Now)
oShell.SendKeys "^{TAB 3}"
oShell.SendKeys "{Tab}"

oShell.SendKeys "{enter}"
oShell.SendKeys "{enter}"
oShell.SendKeys "{Tab 6}"
oShell.SendKeys "{enter}"
Application.Wait DateAdd("s", 1, Now)

oShell.AppActivate "C:\SYSROOT\system32\cmd.exe"
oShell.SendKeys "exit"
oShell.SendKeys "{enter}"

End Sub

vbscriptを使用してssl状態をクリアするオプションを誰かが提案してくれれば、本当に感謝しています。

どうもありがとう :)

4

1 に答える 1

4

コントロール パネル アクションをProcess Monitor (すばらしいユーティリティ、BTW) でインストルメント化すると、[ Clear SSL State ] ボタンが押されたときに次のコマンドが実行されるように見えます。

"C:\Windows\system32\rundll32.exe" "C:\Windows\system32\WININET.dll",DispatchAPICall 3
于 2012-11-15T12:09:49.273 に答える