Select the product you need help with
資訊: Windows Rundll 和 Rundll32 介面文章編號: 164787 - 檢視此文章適用的產品。 在此頁中結論Microsoft Windows 95、 Windows 98 和 Windows 千禧版 (Me) 包含兩個命令列公用程式具名 Rundll.exe 和 Rundll32.exe,可讓您叫用 (Invoke) 從 16 位元或 32 位元一個 DLL 匯出的函式。不過,Rundll 和 Rundll32 程式並不允許您從任何 DLL 呼叫任何匯出的函式。比方說您不可以使用這些公用程式呼叫 Win32 API (應用程式發展介面) 呼叫從系統 DLL 匯出。程式只可讓您明確地寫入由這些呼叫的 DLL 呼叫函式。本文提供的在上面所列之 Windows 作業系統下的 Rundll 和 Rundll32 程式使用的更多詳細資料。 Microsoft Windows NT 4.0]、 [Windows 2000] 和 [Windows XP 隨附只 Rundll32。沒有在任一個平台上支援的 Rundll (Win16 公用程式)。 僅供內部使用,在 Microsoft 原本設計 Rundll 和 Rundll32 公用程式。但它們所提供的功能是充分泛用它們是現在可供一般使用。 請注意 「 Windows NT 4.0 只隨附 Rundll32 公用程式支援僅 Rundll32。 其他相關資訊Rundll vs.Rundll32Rundll 載入並執行 16 位元 DLL,而 Rundll32 載入並執行 32 位元 DLL。如果您傳遞錯誤類型的 DLL Rundll 或 Rundll32,它可能無法執行但不表示任何錯誤訊息。Rundll 命令列Rundll 的命令列是,如下所示:
Rundll 的運作方式Rundll 會執行下列步驟:
如何撰寫您的 DLL在您的 DLL 撰寫 <entrypoint>函式使用下列的原型:16 位元 DLL:
hwnd - window handle that should be used as the owner window for
any windows your DLL creates
hinst - your DLL's instance handle
lpszCmdLine - ASCIIZ command line your DLL should parse
nCmdShow - describes how your DLL's windows should be displayed
hwnd = (parent window handle) hinst = HINSTANCE of SETUPX.DLL lpszCmdLine = "132 C:\WINDOWS\INF\SHELL.INF" nCmdShow = (whatever the nCmdShow was passed to CreateProcess) 特殊的備忘稿上 Windows 95 和 Windows NT 之間的差異在 Windows NT、 Windows 2000 和 Windows XP Rundll32.exe 行為卻有些不同,以容納 UNICODE 指令行。Windows NT 首先會嘗試 GetProcAddress <entrypoint>西部如果找到這個進入點原型會假定為: 如果找不到 <EntryPoint>W 進入點,然後 Windows NT 將 GetProcAddress 為 <entrypoint>A 和 <entrypoint>。如果找到其中然後會被視為 ANSI 進入點並被視為與 Windows 95/98/Me.相同的方式因此,視您的 DLL 在 Windows 95 上執行具有 ANSI 支援和 Windows NT/2000年/XP 上具有 UNICODE 支援您應該匯出兩個函式: EntryPointW 和進入點。在 Windows NT/2000年/Me,UNICODE 命令列將會被呼叫 EntryPointW 函式 ; 在 Windows 95/98/Me,進入點函式會呼叫以 ANSI 命令列。 屬性文章編號: 164787 - 上次校閱: 2006年11月21日 - 版次: 4.4 這篇文章中的資訊適用於:
機器翻譯 重要:本文是以 Microsoft 機器翻譯軟體翻譯而成,而非使用人工翻譯而成。Microsoft 同時提供使用者人工翻譯及機器翻譯兩個版本的文章,讓使用者可以依其使用語言使用知識庫中的所有文章。但是,機器翻譯的文章可能不盡完美。這些文章中也可能出現拼字、語意或文法上的錯誤,就像外國人在使用本國語言時可能發生的錯誤。Microsoft 不為內容的翻譯錯誤或客戶對該內容的使用所產生的任何錯誤或損害負責。Microsoft也同時將不斷地就機器翻譯軟體進行更新。 按一下這裡查看此文章的英文版本:164787
(http://support.microsoft.com/kb/164787/en-us/
)
Microsoft及(或)其供應商不就任何在本伺服器上發表的文字資料及其相關圖表資訊的恰當性作任何承諾。所有文字資料及其相關圖表均以「現狀」供應,不負任何擔保責任。Microsoft及(或)其供應商謹此聲明,不負任何對與此資訊有關之擔保責任,包括關於適售性、適用於某一特定用途、權利或不侵權的明示或默示擔保責任。Microsoft及(或)其供應商無論如何不對因或與使用本伺服器上資訊或與資訊的實行有關而引起的契約、過失或其他侵權行為之訴訟中的特別的、間接的、衍生性的損害或任何因使用而喪失所導致的之損害、資料或利潤負任何責任。 | 文章翻譯
|




回此頁最上方








