我試圖通過命令列(運行對話)呼叫Internet選項控制面板小程式。特別是 "連接 "選項卡。
我使用了下面的語法:
rundll32.exe shell32.dll,Control_RunDLL INETCPL.CPL,,4
這樣做很好。我的問題是2方面的:
- 對于 "Control_RunDLL "函式,它的第二個引數是什么?
(在我的案例中,以及在我找到的所有檔案中,它是 NULL 或空的)
(第一個引數是小程式名稱,第三個引數是標簽號)
- 我在哪里可以訪問微軟的檔案,其中特別提到了第二個引數?
uj5u.com熱心網友回復:
經過進一步調查,發現一個.cpl(一個控制面板專案)[1]檔案可以包含多個小程式(其中列舉從0開始)。
第二個引數是.cpl檔案中的小程式索引號,然后第三個引數是特定小程式中的標簽索引號(如我問題中提到的)。
參考文獻:
[2] https://www.walkernews.net/2007/06/06/quick-start-to-rundll32-syntax-and-example/
[5] https://docs.microsoft.com/en-us/windows/win32/api/shlobj/nf-shlobj-shruncontrolpanel
uj5u.com熱心網友回復:
Control_RunDLL 是一個私有的 shell 函式,它沒有被記錄。我們仍然知道它的引數,因為所有的rundll32函式看起來是這樣的:
void CALLBACK FunctionName(HWND hwnd, HINSTANCE hinst, LPSTR lpszCmdLine, int nCmdShow) 。
這意味著它是shell32內部更深層次的東西,決議了命令列引數。
正如你自己發現的,.cpl檔案可以支持一個以上的控制面板 "小程式":
當控制面板加載一個.dll(或.cpl)檔案時,它會呼叫CPlApplet函式來獲取資訊,如該檔案承載的控制面板專案的數量,以及每個專案的資訊。
當Shell32 "托管 "一個.cpl檔案時,它只是假裝是控制面板。
第二個引數在檔案中被稱為 "對話框編號",在經典/所有控制面板視圖中用一個圖示表示。第3個引數是由小程式本身在回應CPL_STARTWPARMS時決議的,通常是一個名稱或數字,指定屬性表對話框中的一個特定標簽。
連接選項卡是檔案化的,作為第4頁,而在Vista及以后版本上顯示它的檔案化的方式是
control.exe /nameMicrosoft.InternetOptions /page 4
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/320307.html
標籤:
