2012-03-04 46 views
1

我已經發現了下面的註冊表項將(通常)永久啓動IE9的InPrivate模式需要永久開始win7的64biz IE9的InPrivate模式

Windows Registry Editor Version 5.00 

[HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\Safety\PrivacIE] 
"FilteringMode"=hex(b):01,00,00,00,00,00,00,00 

(我甚至沒有收到了安全鑰匙在我的註冊表和手動添加的話)

不幸的是,這似乎並不對windows7的64位

添加與-inprivate快捷的工作是不是一種選擇,對我來說,我想通過VBA

使用IE

任何提示/建議?

+0

你能外殼IE9與交換機和GetObject的? – Fionnuala 2012-03-04 09:53:37

+0

不知道該怎麼做: – user668338 2012-03-04 10:52:15

+0

@Remou不知道該怎麼做。 嘗試: '設置objShell =的CreateObject( 「WScript.Shell」) ' 設置的obj = objShell.Exec(爲 「%ProgramFiles%/ Internet Explorer中/ IEXPLORE.EXE - 私人」) 但我需要的InternetExplorer的API,因此我需要以某種方式將對象投射到VBA中的InternetExplorer。 – user668338 2012-03-04 10:58:06

回答

1

來自全國各地的地方拼湊起來:

Dim sh As Object, oWin As Object, IE As Object 
Dim wss As Object 

Set wss = CreateObject("WScript.Shell") 
Set sh = CreateObject("Shell.Application") 

wss.exec "%ProgramFiles%/Internet Explorer/iexplore.exe -private"  
''You will probably need a delay here 
For Each oWin In sh.Windows 
    If TypeName(oWin.Document) = "HTMLDocument" Then 
     Set IE = oWin 
     Exit For 
    End If 
Next 

With IE 
    .navigate "http://stackoverflow.com" 

    Do While .busy 
     DoEvents 
    Loop 
    Do While .readystate <> 4 
     DoEvents 
    Loop 
End With 
+0

我modfied的用於下一個循環到: 對於每個oWin在sh.Windows Debug.Print類型名(oWin.Document) 如果類型名(oWin.Document)= 「HTMLDocument的」 接着 集IExp = oWin 退出對於 完如果 下一步 並獲得: IShellFolderViewDual3 IShellFolderViewDual3 IShellFolderViewDual3 IShellFolderViewDual3 IShellFolderViewDual3 IShellFolderViewDual3 IShellFolderViewDual3 IShellFolderViewDual3 IShellFolderViewDual3 在直接窗口 因此,我認爲我不能搶Iexplorer窗口?任何幫助 – user668338 2012-03-05 15:42:58

+0

您是否延遲評論?嘗試單步執行代碼以使Internet Explorer有機會加載。如果有效,你可以考慮使用兩種程序或延遲。 – Fionnuala 2012-03-05 16:26:02

+0

你需要檢查o.Win.Title =「Windows Internet Explorer」,否則它將無法找到窗口(如上面給出的TypeName()將無法如上所示,至少在我的系統上,你需要添加在ie開火之後睡一覺(Remou感謝您的提示!) – user668338 2012-03-05 17:54:57