API 呼叫範例
更新:2007 年 11 月
這個範例會示範如何呼叫 Win32 API 函式,來列舉和控制處理序與視窗,以及查詢和變更系統設定。
若要取得範例及其安裝指示
請執行下列其中一項或多項作業:
按一下 [說明] 功能表上的 [範例]。
讀我檔案會顯示範例的相關資訊。
造訪 Visual Studio 2008 範例 網站 (英文)。您可以在此找到最新版的範例。
在已安裝 Visual Studio 的電腦中尋找範例。根據預設,範例和讀我檔案會安裝在 drive:\Program Files\Microsoft Visual Studio 9.0\Samples\lcid 中。如果是 Visual Studio Express 版,則所有範例都能在線上找到。
如需詳細資訊,請參閱尋找範例檔案。
安全性注意事項: |
---|
範例程式碼可說明整個概念,並顯示和此概念相關的程式碼。此程式碼可能不符合特定環境的安全性要求,您也不應該以範例所示的方法使用此程式碼。我們建議您新增安全性及錯誤處理程式碼,讓您的專案更安全完善。Microsoft 提供的程式碼未經修改,並且不對任何可能造成的後果負任何責任。 |
若要執行這個範例
- 按 F5。
示範
Win32API 類別會定義於個別檔案 (Win32API.vb) 中。每個使用 Declare 陳述式的 API 宣告,可以做為 Win32API 類別的 Shared 成員。共用成員可以使用類別名稱直接呼叫。不需建立類別的執行個體,就能使用共用成員。
主要表單會包含一個索引標籤控制項 (Tab Control),其中含有四個索引標籤頁。每個索引標籤頁會示範使用 Win32 API 呼叫的動作:
使用中處理序:以所有執行中的 Windows 處理序填入清單檢視。重點在於如何使用委派來使用 EnumWindows 這個 Win32 回呼函式。
使用中視窗:使用 Win32 API 篩選回呼函式 EnumWindows 的結果,以所有使用中視窗填入 ListBox 控制項。在這個範例中,EnumWindows 是使用 DllImportAttribute 類別而非 Declare 陳述式來定義,以對照使用這個兩個方法之間的差異。
顯示視窗:可供使用者輸入視窗標題和 (或) 類別名稱,並將視窗帶至前景。這個範例強調將多個型別的參數多載至一個 Win32 API 函式,以允許將不同型別的變數傳遞至函式。
API 呼叫:顯示如何使用下列的 Win32 API 呼叫:GetDiskFreeSpace、GetDiskFreeSpaceEx、GetDriveType、CreateDirectory、SwapMouseButton、IsPwrHibernateAllowed、SetSuspendState 和 Beep。上述的呼叫範例會傳回無法從 Managed 類別對等用法取得的資訊。