vc++之windows api
來源:互聯網
上載者:User
WindowsAPI函數清單
WindowsAPI簡介: API的英文全稱(Application Programming Interface),WIN32 API也就是MicrosoftWindows 32位平台的API。對這個定義的理解,需要追溯到作業系統的發展曆史上,當WINDOWS作業系統開始佔據主導地位的時候,開發WINDOWS平台下的應用程式成為人們的需要。而在WINDOWS程式設計領域處於發展的初期,WINDOWS程式員所能使用的編程工具唯有API函數,這些函數是WINDOWS提供給應用程式與作業系統的介面,他們猶如“積木塊”一樣,可以搭建出各種介面豐富,功能靈活的應用程式。所以可以認為API函數是構築整個WINDOWS架構的基石,在它的下面是WINDOWS的作業系統核心,而它的上面則是所有的華麗的WINDOWS應用程式。
API函數清單: 1. API之網路函數 WNetAddConnection 建立同一個網路資源的永久性串連 WNetAddConnection2 建立同一個網路資源的串連 WNetAddConnection3 建立同一個網路資源的串連 WNetCancelConnection 結束一個網路連接 WNetCancelConnection2 結束一個網路連接 WNetCloseEnum 結束一次枚舉操作 WNetConnectionDialog 啟動一個標準對話方塊,以便建立同網路資源的串連 WNetDisconnectDialog 啟動一個標準對話方塊,以便斷開同網路資源的串連 WNetEnumResource 枚舉網路資源 WNetGetConnection 擷取本地或已串連的一個資源的網路名稱 WNetGetLastError 擷取網路錯誤的擴充錯誤資訊 WNetGetUniversalName 擷取網路中一個檔案的遠程名稱以及/或者UNC(統一命名規範)名稱 WNetGetUser 擷取一個網路資源用以串連的名字 WNetOpenEnum 啟動對網路資源進行枚舉的過程 2. API之訊息函數 BroadcastSystemMessage 將一條系統訊息廣播給系統中所有的最上層視窗 GetMessagePos 取得訊息佇列中上一條訊息處理完畢時的滑鼠指標螢幕位置 GetMessageTime 取得訊息佇列中上一條訊息處理完畢時的時間 PostMessage 將一條訊息投遞到指定視窗的訊息佇列 PostThreadMessage 將一條訊息投遞給應用程式 RegisterWindowMessage 擷取分配給一個字串標識符的訊息編號 ReplyMessage 回覆一個訊息 SendMessage 調用一個視窗的視窗函數,將一條訊息發給那個視窗 SendMessageCallback 將一條訊息發給視窗 SendMessageTimeout 向視窗發送一條訊息 SendNotifyMessage 向視窗發送一條訊息 3. API之檔案處理函數 CloseHandle 關閉一個核心對象。其中包括檔案、檔案對應、進程、線程、安全和同步對象等 CompareFileTime 對比兩個檔案的時間 CopyFile 複製檔案 CreateDirectory 建立一個新目錄 CreateFile 開啟和建立檔案、管道、郵槽、通訊服務、裝置以及控制台 CreateFileMapping 建立一個新的檔案對應物件 DeleteFile 刪除指定檔案 DeviceIoControl 對裝置執行指定的操作 DosDateTimeToFileTime 將DOS日期和時間值轉換成一個 win32 FILETIME 值 FileTimeToDosDateTime 將一個 win32 FILETIME 值轉換成DOS日期和時間值 FileTimeToLocalFileTime 將一個FILETIME結構轉換成本地時間 FileTimeToSystemTime 根據一個FILETIME結構的內容,裝載一個SYSTEMTIME結構 FindClose 關閉由FindFirstFile函數建立的一個搜尋控制代碼 FindFirstFile 根據檔案名稱尋找檔案 FindNextFile 根據調用FindFirstFile函數時指定的一個檔案名稱尋找下一個檔案 FlushFileBuffers 針對指定的檔案控制代碼,重新整理內部檔案緩衝區 FlushViewOfFile 將寫入檔案對應緩衝區的所有資料都重新整理到磁碟 GetBinaryType 判斷檔案是否可以執行 GetCompressedFileSize 判斷一個壓縮檔在磁碟上實際佔據的位元組數 GetCurrentDirectory 在一個緩衝區中裝載目前的目錄 GetDiskFreeSpace 擷取與一個磁碟的組織有關的資訊,以及瞭解剩餘空間的容量 GetDiskFreeSpaceEx 擷取與一個磁碟的組織以及剩餘空間容量有關的資訊 GetDriveType 判斷一個磁碟機的類型 GetExpandedName 取得一個壓縮檔的全名 GetFileAttributes 判斷指定檔案的屬性 GetFileInformationByHandle 這個函數提供了擷取檔案資訊的一種機制 GetFileSize 判斷檔案長度 GetFileTime 取得指定檔案的時間資訊 GetFileType 在給出檔案控制代碼的前提下,判斷檔案類型 GetFileVersionInfo 從支援版本戳記的一個模組裡擷取檔案版本資訊 GetFileVersionInfoSize 針對包含了版本資源的一個檔案,判斷容納檔案版本資訊需要一個多大的緩衝區 GetFullPathName 擷取指定檔案的完整路徑名 GetLogicalDrives 判斷系統中存在哪些邏輯磁碟機字母 GetLogicalDriveStrings 擷取一個字串,其中包含了當前所有邏輯磁碟機的根磁碟機路徑 GetOverlappedResult 判斷一個重疊操作當前的狀態 GetPrivateProfileInt 為初始設定檔案(.ini檔案)中指定的條目擷取一個整數值 GetPrivateProfileSection 擷取指定小節(在.ini檔案中)所有項名和值的一個列表 GetPrivateProfileString 為初始設定檔案中指定的條目取得字串 GetProfileInt 取得win.ini初始設定檔案中指定條目的一個整數值 GetProfileSection 擷取指定小節(在win.ini檔案中)所有項名和值的一個列表 GetProfileString 為win.ini初始設定檔案中指定的條目取得字串 GetShortPathName 擷取指定檔案的短路徑名 GetSystemDirectory 取得Windows系統目錄(即System目錄)的完整路徑名 GetTempFileName 這個函數包含了一個臨時檔案的名字,它可由應用程式使用 GetTempPath 擷取為臨時檔案指定的路徑 GetVolumeInformation 擷取與一個磁碟卷有關的資訊 GetWindowsDirectory 擷取Windows目錄的完整路徑名 hread 參考lread hwrite 參考lwrite函數 lclose 關閉指定的檔案 lcreat 建立一個檔案 llseek 設定檔案中進行讀寫的當前位置 LockFile 鎖定檔案的某一部分,使其不與其他應用程式共用 LockFileEx 與LockFile相似,只是它提供了更多的功能 lopen 以二進位模式開啟指定的檔案 lread 將檔案中的資料讀入記憶體緩衝區 lwrite 將資料從記憶體緩衝區寫入一個檔案 LZClose 關閉由LZOpenFile 或 LZInit函數開啟的一個檔案 LZCopy 複製一個檔案 LZInit 這個函數用於初始化內部緩衝區 LZOpenFile 該函數能執行大量不同的檔案處理,而且相容於壓縮檔 LZRead 將資料從檔案讀入記憶體緩衝區 LZSeek 設定一個檔案中進行讀寫的當前位置 MapViewOfFile 將一個檔案對應物件映射到當前應用程式的地址空間 MoveFile 移動檔案 OpenFile 這個函數能執行大量不同的檔案操作 OpenFileMapping 開啟一個現成的檔案對應物件 QueryDosDevice 在Windows NT中,DOS裝置名稱會映射成NT系統裝置名。該函數可判斷當前的裝置映射情況 ReadFile 從檔案中讀出資料 ReadFileEx 與ReadFile相似,只是它只能用於非同步讀操作,並包含了一個完整的回調 RegCloseKey 關閉系統註冊表中的一個項(或鍵) RegConnectRegistry 訪問遠程系統的部分註冊表 RegCreateKey 在指定的項下建立或開啟一個項 RegCreateKeyEx 在指定項下建立新項的更複雜的方式。在Win32環境中建議使用這個函數 RegDeleteKey 刪除現有項下方一個指定的子項 RegDeleteValue 刪除指定項下方的一個值 RegEnumKey 枚舉指定項的子項。在Win32環境中應使用RegEnumKeyEx RegEnumKeyEx 枚舉指定項下方的子項 RegEnumValue 枚舉指定項的值 RegFlushKey 將對項和它的子項作出的改動實際寫入磁碟 RegGetKeySecurity 擷取與一個登錄機碼有關的安全資訊 RegLoadKey 從以前用RegSaveKey函數建立的一個檔案裡裝載註冊表資訊 RegNotifyChangeKeyValue 登錄機碼或它的任何一個子項發生變化時,用這個函數提供一種通知機制 RegOpenKey 開啟一個現有的登錄機碼 RegOpenKeyEx 開啟一個現有的項。在win32下推薦使用這個函數 RegQueryInfoKey 擷取與一個項有關的資訊 RegQueryValue 取得指定項或子項的預設(未命名)值 RegQueryValueEx 擷取一個項的設定值 RegReplaceKey 用一個磁碟檔案儲存的資訊替換註冊表資訊;並建立一個備份,在其中包含當前註冊表資訊 RegRestoreKey 從一個磁碟檔案恢複註冊表資訊 RegSaveKey 將一個項以及它的所有子項都儲存到一個磁碟檔案 RegSetKeySecurity 設定指定項的安全特性 RegSetValue 設定指定項或子項的預設值 RegSetValueEx 設定指定項的值 RegUnLoadKey 卸載指定的項以及它的所有子項 RemoveDirectory 刪除指定目錄 SearchPath 尋找指定檔案 SetCurrentDirectory 設定目前的目錄 SetEndOfFile 針對一個開啟的檔案,將當前檔案位置設為檔案末尾 SetFileAttributes 設定檔案屬性 SetFilePointer 在一個檔案中設定當前的讀寫位置 SetFileTime 設定檔案的建立、訪問及上次修改時間 SetHandleCount 這個函數不必在win32下使用;即使使用,也不會有任何效果 SetVolumeLabel 設定一個磁碟的卷標(Label) SystemTimeToFileTime 根據一個FILETIME結構的內容,載入一個SYSTEMTIME結構 UnlockFile 解除對一個檔案的鎖定 UnlockFileEx 解除對一個檔案的鎖定 UnmapViewOfFile 在當前應用程式的記憶體位址空間解除對一個檔案對應物件的映射 VerFindFile 用這個函數決定一個檔案應安裝到哪裡 VerInstallFile 用這個函數安裝一個檔案 VerLanguageName 這個函數能根據16位語言代碼擷取一種語言的名稱 VerQueryValue 這個函數用於從版本資源中擷取資訊 WriteFile 將資料寫入一個檔案 WriteFileEx 與WriteFile類似,只是它只能用於非同步寫操作,並包括了一個完整的回調 WritePrivateProfileSection 為一個初始設定檔案(.ini)中指定的小節設定所有項名和值 WritePrivateProfileString 在初始設定檔案指定小節內設定一個字串 WriteProfileSection 為Win.ini初始設定檔案中一個指定的小節設定所有項名和值 WriteProfileString 在Win.ini初始設定檔案指定小節內設定一個字串 4. API之列印函數 AbortDoc 取消一份文檔的列印 AbortPrinter 刪除與一台印表機關聯在一起的緩衝檔案 AddForm 為印表機的表單列表添加一個新表單 AddJob 用於擷取一個有效路徑名,以便用它為作業建立一個後台列印檔案。它也會為作業分配一個作業編號 AddMonitor 為系統添加一個印表機監視器 AddPort 啟動"添加連接埠"對話方塊,允許使用者在系統可用連接埠列表中加入一個新連接埠 AddPrinter 在系統中添加一台新印表機 AddPrinterConnection 串連指定的印表機 AddPrinterDriver 為指定的系統添加一個列印驅動程式 AddPrintProcessor 為指定的系統添加一個列印處理器 AddPrintProvidor 為系統添加一個列印供應商 AdvancedDocumentProperties 啟動印表機文檔設定對話方塊 ClosePrinter 關閉一個開啟的印表機對象 ConfigurePort 針對指定的連接埠,啟動一個連接埠配置對話方塊 ConnectToPrinterDlg 啟動串連印表機對話方塊,用它同訪問網路的印表機串連 DeleteForm 從印表機可用表單列表中刪除一個表單 DeleteMonitor 刪除指定的列印監視器 DeletePort 啟動"刪除連接埠"對話方塊,允許使用者從當前系統刪除一個連接埠 DeletePrinter 將指定的印表機標誌為從系統中刪除 DeletePrinterConnection 刪除與指定印表機的串連 DeletePrinterDriver 從系統刪除一個印表機驅動程式 DeletePrintProcessor 從指定系統刪除一個列印處理器 DeletePrintProvidor 從系統中刪除一個列印供應商 DeviceCapabilities 利用這個函數可獲得與一個裝置的能力有關的資訊 DocumentProperties 印表機配置控制函數 EndDocAPI 結束一個成功的列印工作 EndDocPrinter 在後台列印程式的層級指定一個文檔的結束 EndPage 用這個函數完成一個頁面的列印,並準備裝置情境,以便列印下一個頁 EndPagePrinter 指定一個頁在列印工作中的結尾 EnumForms 枚舉一台印表機可用的表單 EnumJobs 枚舉列印佇列中的作業 EnumMonitors 枚舉可用的列印監視器 EnumPorts 枚舉一個系統可用的連接埠 EnumPrinterDrivers 枚舉指定系統中已安裝的印表機驅動程式 EnumPrinters 枚舉系統中安裝的印表機 EnumPrintProcessorDatatypes 枚舉由一個列印處理器支援的資料類型 EnumPrintProcessors 枚舉系統中可用的列印處理器 Escape 裝置控制函數 FindClosePrinterChangeNotification 關閉用FindFirstPrinterChangeNotification函數擷取的一個印表機通告對象 FindFirstPrinterChangeNotification 建立一個新的改變通告對象,以便我們注意印表機狀態的各種變化 FindNextPrinterChangeNotification 用這個函數判斷觸發一次印表機改變通告訊號的原因 FreePrinterNotifyInfo 釋放由FindNextPrinterChangeNotification函數分配的一個緩衝區 GetForm 取得與指定表單有關的資訊 GetJob 擷取與指定作業有關的資訊 GetPrinter 取得與指定印表機有關的資訊 GetPrinterData 為印表機設定註冊表配置資訊 GetPrinterDriver 針對指定的印表機,擷取與印表機驅動程式有關的資訊 GetPrinterDriverDirectory 判斷指定系統中包含了印表機驅動程式的目錄是什麼 GetPrintProcessorDirectory 判斷指定系統中包含了印表機處理器驅動程式及檔案的目錄 OpenPrinter 開啟指定的印表機,並擷取印表機的控制代碼 PrinterMessageBox 在擁有指定列印工作的系統上顯示一個印表機出錯訊息框 PrinterProperties 啟動印表機屬性對話方塊,以便對印表機進行配置 ReadPrinter 從印表機讀入資料 ResetDC 重設一個裝置情境 ResetPrinter 改變指定印表機的預設資料類型及文檔設定 ScheduleJob 提交一個要列印的作業 SetAbortProc 為Windows指定取消函數的地址 SetForm 為指定的表單設定資訊 SetJob 對一個列印工作的狀態進行控制 SetPrinter 對一台印表機的狀態進行控制 SetPrinterData 設定印表機的註冊表配置資訊 StartDoc 開始一個列印工作 StartDocPrinter 在後台列印的層級啟動一個新文檔 StartPage 列印一個新頁前要先調用這個函數 StartPagePrinter 在列印工作中指定一個新頁的開始 WritePrinter 將發送目錄中的資料寫入印表機 5. API之文本和字型函數 AddFontResource 在Windows系統中添加一種字型資源 CreateFont 用指定的屬性建立一種邏輯字型 CreateFontIndirect 用指定的屬性建立一種邏輯字型 CreateScalableFontResource 為一種TureType字型建立一個資源檔,以便能用API函數AddFontResource將其加入Windows系統 DrawText 將文本描繪到指定的矩形中 DrawTextEx 與DrawText相似,只是加入了更多的功能 EnumFontFamilies 列舉指定裝置可用的字型 EnumFontFamiliesEx 列舉指定裝置可用的字型 EnumFonts 列舉指定裝置可用的字型 ExtTextOut 經過擴充的文本描繪函數。也請參考SetTextAlign函數 GetAspectRatioFilterEx 用SetMapperFlags要求Windows只選擇與裝置當前縱橫比相符的點陣字型時,本函數可判斷縱橫比大小 GetCharABCWidths 判斷TureType字型中一個或多個字元的A-B-C大小 GetCharABCWidthsFloat 查詢一種字型中一個或多個字元的A-B-C尺寸 GetCharacterPlacement 該函數用於瞭解如何用一個給定的字元顯示一個字串 GetCharWidth 調查字型中一個或多個字元的寬度 GetFontData 接收一種可縮放字型檔的資料 GetFontLanguageInfo 返回目前選入指定裝置情境中的字型的資訊 GetGlyphOutline 取得TureType字型中構成一個字元的曲線資訊 GetKerningPairs 取得指定字型的字距資訊 GetOutlineTextMetrics 接收與TureType字型內部特徵有關的詳細資料 GetRasterizerCaps 瞭解系統是否有能力支援可縮放的字型 GetTabbedTextExtent 判斷一個字串佔據的範圍,同時考慮製表站擴充的因素 GetTextAlign 接收一個裝置情境當前的文本對齊標誌 GetTextCharacterExtra 判斷額外字元間距的當前值 GetTextCharset 接收當前選入指定裝置情境的字型的字元集標識符 GetTextCharsetInfo 擷取與當前選定字型的字元集有關的詳細資料 GetTextColor 判斷當前字型顏色。通常也稱為"前景色彩" GetTextExtentExPoint 判斷要填入指定地區的字元數量。也用一個數組裝載每個字元的範圍資訊 GetTextExtentPoint 判斷一個字串的大小(範圍) GetTextFace 擷取一種字型的字樣名