DLL 介面

COM DLL library可以輸出函式給其他軟體 (該軟體的程式語言需支援DLL函式輸入) 使用。

此介面的一個優點是DLL只會被初始化一次,而不像命令列介面,每當函式被呼叫時就會執行初始化。當任務需要呼叫多個函式時,本介面的執行速度會比較快。

所有具備命令列介面的功能均有DLL輸出函式。所有的函式均使用同樣的語法。

在 C 語言:

void CALLBACK EntryPoint(HWND hwnd, HINSTANCE hinst, LPSTR lpszCmdLine, int nCmdShow);

只有 hwnd ( 主控視窗 (owner window) 的視窗代碼 (window handle),供程式產生的其他視窗參照 ) 與 lpszCmdLine ( 在命令列執行程式時所代入的引數字串陣列,相當於命令列介面工具的命令列引數 ) 等參數是在內部使用。

此通式中的EntryPoint是指輸出的函式名稱,可參閱本使用說明的個別功能介紹。

Delphi語言的範例 - 合併函式的宣告:

function Merge(hWnd:THandle;hInst:Cardinal;lpszCmdLine:PChar;nCmdShow:Integer):Cardinal;stdcall;external 'PDFShellTools.dll'

此介面可由 Windows Rundll32 tool呼叫,如以下的合併函式範例所示。

"C:\Program Files\PDF-ShellTools\PDFShellTools.dll" Merge "C:\My docs\File1.PDF;C:\My Docs\File2.pdf"

相較於命令列介面,這種用法並沒有額外的優點。但是當呼叫者並不想顯示Win32主控視窗時,便能派上用場。

 

(c) 2006-2012 RTT