Win32 API 列表4(格式有點亂)

西安郵電學院 徐兆元

901 LockServiceDatabase 鎖定指定SC管理器數據庫  No Yes Yes
902 LockWindowUpdate 禁止或使能在窗口中的繪畫  Yes Yes Yes
903 LogonUser 登錄用戶  No Yes Yes
904 LookupAccountName 把帳戶名轉爲SID  No Yes Yes
905 LookupAccountSid 把SID轉爲帳戶名  No Yes Yes
906 LookupIconIdFromDirectory 返回圖標或光標ID座標 "    函數功能:該函數通過圖標或光標數據搜索最適合當前顯示設備的圖標或光標。

    函數原型:int LookupIconIdFromDirectory(PBYTE presbits,BOOL fIcon);

    參數:

    presbits:指向圖標或光標圖錄數據的指針。因爲該函數不驗證資源數據,它導致通用的保護(GP)錯誤或返回一個未定義的值(如果presbitS未指向有效的資源數據)。

    fIcon:指定是尋求圖標或是光標。如果該參數是真,函數搜索圖標;如果參數是假,函數搜索光標。

    返回值:如果函數成功,返回值最適合當前顯示設備的圖標或光標的整數型資源標識符。如果函數失效,返回值是零。想獲得更多的錯誤信息,請調用GetLastError函數。

    備註:在一些設備相關和設備獨立的格式中,RT_GROUP_ICON類型的資源文件(RT_GROUP_CURSOR指示光標)包含圖標(或光標)數據。LookuPIconldFromDirectory函數搜索最適合當前顯示設備的圖標(或光標)的資源文件並返回它的整型標識符。FindResource和FindResourceEx函數利用該標識符使用MAKEINTRESOURCE宏在模塊中查找資源。

    圖標所在目錄是從一個具有RT_PROUP_ICON資源類型的資源文件裝入(或者光標的

    RT_GROUP_CURSOR類型),並且一特定圖標的整型資源名稱被載入。LookuPIconldFromDirectory函數返回一個代表圖標資源名的整型標識符,該圖標與當前顯示器件最匹配。

    LoadIcon,LoadCursor,LoadImage函數使用這個函數搜索最適合當前顯示設備的圖標或光標的特定的資源數據。

    速查:Windows NT:3.1及以上版本;Windows:95及以上版本;Windows CE:不支持;頭文件:winuser.h;庫文件:user32.lib。

" No Yes Yes
907 LookupIconIdFromDirectoryEx 搜索最適合當前顯示設備的圖標或光標 "    函數功能:該函數通過圖標或光標數據搜索最適合當前顯示設備的圖標或光標。

    函數原型:int LookupIconIdFromDirectoryEx(PBYTE presbits,BOOL fIcon,int cxDesired,int cyDesired,UINT Flags);

    參數:

    presbits:指向圖標或光標目錄數據的指針。因爲該函數不驗證資源數據,它導致通用的保護(GP)錯誤或返回一個未定義的值(如果presbits未指向有效的資源數據)。

    fIcon:指定是尋求圖標或是光標。如果該參數是真;函數搜索圖標;如果參數是假,函數搜索光標。

    cxDesired:指定圖標的期望寬度(以像素爲單位)。如果該參數是零,函數使用SM_CXICON或SM_CXCURSOR系統公制值。

    cyDesired:指定圖標的期望寬度(以像素爲單位)。如果該參數是零,函數使用SM_CYICON或SM_CYCURSOR系統公制值。

    Flags:指定下列值的組合:

    LR_DEFAULTCOLOR:使用缺省顏色格式;LR_MONOCHROME:創建單色圖標或光標。

    返回值:如果函數成功,返回值最適合當前顯示設備的圖標或光標的整數型資源標識符。如果函數失效,返回值是零。想獲得更多的錯誤信息,請調用GetLastError函數。

    備註:在一些設備相關和設備獨立的格式中,RT_GROUP_ICON類型的資源文件(RT_GROUP_CURSOR指示光標)包含目標(或光標)數據。LookupIconIdFromDirectoryEx函數搜索最適合當前顯示設備的圖標(或光標)的資源文件並返回它的整型標識符。FindResourceEx函數利用該標識符使用MAKENTRESOURCE宏在模塊中查找資源。

    圖標所在目錄是從一個具有RT_GROUP_ICCON資源類型的資源文件裝入(或者光標的

    RT_GROUP_CURSOR類型),並且一特定圖標的整型資源名稱被載入。LookupIconIdFromDirectoryEx函數返回一個代表圖標資源名的整型標識符,該圖標與當前顯示器件最匹配。

    LoadIcon,LoadImage,LoadCursor函數使用這個函數搜索最適合當前顯示設備的圖標或光標的特定的資源數據。

    速查:Windows NT:4.0及以上版本;Windows:95及以上版本;Windows CE:不支持;頭文件:winuser.h;庫文件:user32.lib。

" No Yes Yes
908 LookupPrivilegeDisplayName 返回可見特權名  No Yes Yes
909 LookupPrivilegeName 返回可編程特權名  No Yes Yes
910 LookupPrivilegeValue 返回特權名LUID  No Yes Yes
911 lopen   No Yes Yes
912 lread   No Yes Yes
913 lstrcat   No Yes Yes
914 lstrcmp 比較兩個字符串  Yes Yes Yes
915 lstrcmpi 比較兩個字符串  Yes Yes Yes
916 lstrcpy   No Yes Yes
917 lstrcpyn   No Yes Yes
918 lstrlen 返回字符串中字符數  Yes Yes Yes
919 lwrite   No Yes Yes
920 MakeAbsoluteSD 建立獨立SD  No Yes Yes
921 MakeSelfRelativeSD 建立自相關SD  No Yes Yes
922 MapDialogRect 將對話框映像至像素 "    函數功能:該函數把指定的對話框單位映射成屏幕單位(像素)。函數MapDialogRect用變換座標替換指定的RECT結構中的座標,這就使得該結構可以用來創建對話框或定位對話框內的控制。

    函數原型:BOOL MapDialogRect(HWND hDlg,LPRECT lpRect);

    參數:

    hDlg:標識對話框。MapDialogRect 函數只接收對話框創建函數中一個創建的對話框的句柄,對於其他窗口的句柄失效。

    lpRect:指向一個含有將被轉變的對話框座標的RECT結構。

    返回值:如果消息被處理,則返回值爲非零值。如果消息沒有被處理則返回值爲零。若想獲得更多的錯誤信息,請調用GetLastError函數。

    備註:MapDialogRect函數假定RECT結構內的起始座標代表對話框單位。爲把這些座標從對話框單位轉變爲像素,函數檢索對話框的當前水平和垂直基本單位,然後應用下列公式:

    left=(left*baseunitX)/4;  right=(right*baseunitX)/4

    top=(top*baseunitY)/ 8;   bottom=(bottom*baseunitY)/ 8

    在很多情況下,對話框的基本單位同用GetDialogBaseUnits函數檢索到的單位一樣。如果對話板模板有DS_SETFONT類型,那麼基本單位爲模扳給定的字體中的字符的平均寬度和高度,單位爲像素。

    速查:Windows NT:3.1及以上版本:Windows:95及以上版本;Windows CE:1.0及以上版本;頭文件:Winuser.h;庫文件:USer32.lib。

" Yes Yes Yes
923 MapGenericMask 映像對專用/標準的一般性訪問  No Yes Yes
924 MapViewOfFile 將視圖映像入地址空間  No Yes Yes
925 MapViewOfFileEx 將視圖映像入地址空間  No Yes Yes
926 MapVirtualKey 轉換虛擬關鍵字代碼或掃描代碼 "    函數功能:該函數將一虛擬鍵碼翻譯(映射)成一掃描碼或一字符值,或者將一掃描碼翻譯成一虛擬鍵碼。

    函數原型:UINT MaoVirtualKey(UINT uCode,UINT uMapType);

    參數:

    uCode:定義一個鍵的掃描碼或虛擬鍵碼。該值如何解釋依賴於uMapType參數的值。

    uMapType:定義將要執行的翻譯。該參數的值依賴於uCode參數的值。取值如下:

    0:代表uCodee是一虛擬鍵碼且被翻譯爲一掃描碼。若一虛擬鍵碼不區分左右,則返回左鍵的掃描碼。若未進行翻譯,則函數返回O。

    1:代表uCode是一掃描碼且被翻譯爲一虛擬鍵碼,且此虛擬鍵碼不區分左右。若未進行翻譯,則函數返回0。

    2:代表uCode爲一虛擬鍵碼且被翻譯爲一未被移位的字符值存放於返回值的低序字中。死鍵(發音符號)則通過設置返回值的最高位來表示。若未進行翻譯,則函數返回0。

    3:代表uCode爲一掃描碼且被翻譯爲區分左右鍵的一虛擬鍵碼。若未進行翻譯,則函數返回0。

    返回值:返回值可以是一掃描碼,或一虛擬鍵碼,或一字符值,這完全依賴於不同的uCode和uMapType的值。若未進行翻譯,則函數返回O。

    備註:應用程序可以使用MapVirtualKey將掃描碼翻譯爲虛擬鍵碼常數VK_SHIFT,VK_CONTROL和VK_MENU。反之亦然。這些翻譯不區分左右shift,ctrl,alt鍵。應用程序可以通過調用MapVirtualKey函數時將uCode參數

    設置爲如下的虛擬鍵碼常數來獲得分別相應於上述鍵的左右鍵的掃描碼:

    VK_LSHIFT,VK_RDHIFT;VK_LCONTROL;VK_RCONTROL;VK_LMENU,VK_RMENU

    僅當應用程序調用GetKeyboardState,SetKeyboardStaste,GetAsyncKeystate, GetKeyState和MapVirtUalKey函數時,纔可用這些區分左右鍵的常數。

    Windows CE:Windows CE僅支持uMapType參數取值爲2的情況,即將虛擬鍵映射爲未被移位的字符。

    速查:WindowsNT:3.1及以上版本;Windows:95及以上版本;WindowsCE:1.O及以L版本;頭文件:winuser.h;庫文件:user32.lib;在Windows NT上實現爲Unicode和ANSI兩種版本。

" Yes Yes Yes
927 MapVirtualKeyEx 虛擬鍵碼和掃描碼互相轉換 "    函數功能:該函數將虛擬鍵碼翻譯爲掃描碼或字符值,或者將掃描碼翻譯爲虛擬鍵碼。該函數使用由給她鍵盤佈局句柄標識的物理鍵盤和輸入語言來翻譯這些代碼。

    函數原型:UINT MapVirtualKeyEx(UINT uCode,UINT uMapType,HKL dwhkl);

    參數:

    uCode:定義一個鍵的虛擬鍵碼或掃描碼。該值如何解釋依賴於uMapType參數的值。

    uMapType:定義將要執行的翻譯。該參數的值同MapVirtuaIKe。

    dwhkl:翻譯給定代碼所使用的鍵盤佈局的句柄。該參數值可以是在此之前調用LoadKeyboardLayout函數返回的任何鍵盤佈局句柄。

    返回值:返回值可以是一掃描碼,或一虛擬鍵碼,或一字符值,這完全依賴於不同的uCode和uMapType的值。若未進行翻譯,則函數返回O。

    備註:應用程序可以使用MapVirtualKeyEx將掃描碼翻譯爲虛擬鍵碼常數VK_SHIT;VK_CONTROL和VK_MENU。反之亦然。這些翻譯不區分左右shift,ctrl,alt鍵。應用程序可以通過調用MapVirtualKey函數時將uCode參數設置爲如下的虛擬鍵碼常數來獲得分別相應於上述鍵的左右鍵的掃描碼:

    Vk_LSHIFT,VK_RDHIFT;VK_LCONTROL,VK_RCONTROL;VK_LMENU,VK_RMENU

    僅當應用程序調用GetKeyboardState,SetKeyboardState,GetAsyncKeystate,GetKeyState,MapVirtuaIKey和MapVirtualKeyEx函數時,纔可用這些區分左右鍵的常數。若要查看完整的虛擬鍵碼錶,請參考Virtual.KeyCodes。

    速查:Windows NT:4.0及以上版本;Windows:95及以上版本;Windows CE:不支持;頭文件:winuser.h;庫文件:user32.lib;Unicode:在Windows NT上實現爲Unicode和ANSI兩種版本。

" No Yes Yes
928 MapWindowPoints 將點轉換到另一座標系統  Yes Yes Yes
929 MaskBlt 轉換位圖  No Yes Yes
930 mciExecute 執行MCI設備命令  No Yes Yes
931 mciGetCreatorTask 返回創建任務  No Yes Yes
932 mciGetDeviceID 返回設備名對應的ID  No Yes Yes
933 mciGetDeviceIDFromElementID 用元素引用返回設備ID  No Yes Yes
934 mciGetErrorString 返回MCI出錯代碼的文本描述  No Yes Yes
935 mciGetYieldProc 獲取過程地址  No Yes Yes
936 mciSendCommand 向MCI設備發出一條命令消息  No Yes Yes
937 mciSendString 向MCI設備發出一條命令字符串  No Yes Yes
938 mciSetYieldProc 設置過程地址  No Yes Yes
939 MenuItemFromPoint 確定指定位置的菜單項 "    函數功能:該函數確定指定位置的菜單項(如果存在)。

    函數原型:UINT WINAPI MenuItemFromPoint(HWND hWnd,HMENU hMenu,POINT ptScreen);

    參數:

    hWnd:含有菜單的窗口的句柄。

    在Windows NT 5.0和Windows 98環境下,如果此值爲NULL並且參數hMenu指定一個彈出式菜單,則此函數將會找到菜單窗口。

    hMenu:將被命中測試的菜單項所在的菜單的句柄。

    PtScreen:用於指定測試位置的POINT結構。如果hMenu指定一個菜單條,此參數按窗口座標,否則按客戶座標定義。

    返回值:返回指定位置的菜單項相對於零的位置,或者當指定位置沒有菜單項時返回C1。

    速查:Windows NT:4.0及以上版本:Windows:95及以上版本;Windows CE:不支持;頭文件:winuser.h;輸入庫:user32.lib。

" No Yes Yes
940 MessageBeep 產生聲音  Yes Yes Yes
941 MessageBox 建立消息框窗體 "    函數功能:該函數創建、顯示、和操作一個消息框。消息框含有應用程序定義的消息和標題,加上預定義圖標與Push(下按)按鈕的任何組合。

    函數原型:int MessageBox(HWND hWnd, LPCTSTR lpText, LPCTSTR lpCaption, UINT uType);

    參數:

    hWnd:標識將被創建的消息框的擁有窗口。如果此參數爲NULL,則消息框沒有擁有窗口。

    lpText:指向一個以NULL結尾的、含有將被顯示的消息的字符串的指針。

    lpCaption:指向一個以NULL結尾的、用於對話框標題的字符串的指針。

    uType:指定一個決定對話框的內容和行爲的位標誌集。此參數可以爲下列標誌組中標誌的組合。

    指定下列標誌中的一個來顯示消息框中的按鈕,標誌的含義如下。

    MB_ABORTRETRYIGNORE:消息框含有三個按鈕:Abort,Retry和Ignore。

    MB_OK:消息框含有一個按鈕:OK。這是缺省值。

    MB_OKCANCEL:消息框含有兩個按鈕:OK和Cancel。

    MB_RETRYCANCEL:消息框含有兩個按鈕:Retry和Cancel。

    MB_YESNO:消息框含有兩個按鈕:Yes和No。

    MB_YESNOCANCEL:消息框含有三個按鈕:Yes,No和Cancel。

    指定下列標誌中的一個來顯示消息框中的圖標:標誌的含義如下。

    MB_ICONEXCLAMATION:

    MB_ICONWARNING:一個驚歎號出現在消息框。

    MB_ICONINFORMATION:

    MB_ICONASTERISK:一個圓圈中小寫字母i組成的圖標出現在消息框。

    MB_ICONOUESTION:一個問題標記圖標出現在消息框。

    MB_ICONSTOP:

    MB_ICONERROR:

    MM_ICONHAND:一個停止消息圖標出現在消息框。

    指定下列標誌中的一個來顯不缺省的按鈕:標誌的含義如下。

    MB_DEFBUTTON1:第一個按鈕爲缺省按鈕。如果MB_DEFBUTTON2,MB_DEFBUTTON3,MB_DEFBUTTON4沒有被指定,則MB_DEFBUTTON1爲缺省值。

    MB_DEFSUTTON2;第二個按鈕爲缺省按鈕。

    MB_DEFBUTTON3:第三個按鈕爲缺省按鈕。

    MB_DEFBUTTON4:第四個按鈕爲缺省按鈕。

    指定下列標誌中的一個來顯示對話框的形態:標誌的含義如卜。

    MB_APPLMODAL:在hwnd參數標識的窗口中繼續工作以前,用戶一定響應消息框。但是,用戶可以移動到其他線程的窗口且在這些窗口中工作。根據應用程序中窗口的層次機構,用戶則以移動到線程內的其他窗口。所有母消息框的子窗口自動地失效,但是彈出窗口不是這樣。如果既沒有指定MB_SYSTEMMODAL也沒有指定MB_TASKMOOAL,則MB_APPLMODAL爲缺省的。

    MB_SYSTEMMODAL:除了消息框有WB_EX_TOPMOST類型,MB_APPLMODAL和WS_EX_TOPMOST一樣。用系統模態消息框來改變各種各樣的用戶,主要的損壞錯誤需要立即注意(例如,內存溢出)。如果不是那些與hwnd聯繫的窗口,此標誌對用戶對窗口的相互聯繫沒有影響。

    MB_TASKMODAL:如果參數hwnd爲NULL,除了所有屬於當前線程高層次的窗口足失效的,MB_TASKMODALL和MB_ApPLMODAL一樣。當調用應用程序或庫沒有一個可以得到的窗口句柄時,使用此標誌。但仍需要阻止到調用應用程序甲其他窗口的輸入而不是擱置其他線程。

    另外,可以指定下列標誌。

    MB_DEFAULT_DESKTOP_ONLy:接收輸入的當前桌面一定是一個缺省桌面。否則,函數調用失敗。缺省桌面是一個在用戶已經紀錄且以後應用程序在此上面運行的桌面。

    MB_HELP:把一個Help按鈕增加到消息框。選擇Help按鈕或按F1產生一個Help事件。

    MB_RIGHT:文本爲右調整。

    MB_RTLREADING:用在Hebrew和Arabic系統中從右到左的順序顯示消息和大寫文本。

    MB_SETFOREGROUND:消息框變爲前景窗口。在內部系統爲消息個調用SetForegrundWindow函數。

    MB_TOPMOSI:消息框用WS_EX_TOPMOST窗口類型來創建MB_SERVICE_NOTIFICATION。

    Windows NT:調用程序是一個通知事件的用戶的服務程序。函數在當前活動桌面上顯示一個消息框,即使沒有用戶登記到計算機。

    如果設置了此參數,則hwnd參數一定爲NULL。所以消息框可以出現在一個桌面上而不是桌面響應參數hwnd。

    對於Windows NT 4.0,MB_SERVICE_NOTIFICATION的值己經改變。對於舊的和新的值,請參見WINUSER。

    Windows NT 4.O通過把舊值映射到MessageBox和MessageBoxEx執行中的新值,爲先存在的服務程序提供逆兼容。此映射只爲有了版本數目的可執行程序而做。

    爲了建立一個用MB_SERVICE_NOTIFICATION的服務器,且可以在Windows NT 3.X和Window NT 4.0上執行,可有兩種選擇。在連接時間,指定一個版本數目小於4.0的版本,或在連接時間,指定一個4.0版本。在運行時間,用函數GetVersionEx來檢測系統版本,然後在Windows NT 3.X上用MB_SERVICE_NOTIFICATION_NT 3.x來運行和在Windows NT 4.0上用MB_SERVICE_NOTIFICAION來運行。MB_SERVCE_NOTIFICATION_NT3.x(WindowNT)此值響應於爲WindowNT3.51的MB_SERVICE_NOTIFICAION

    定義的值。

    返回值:如果沒有足夠的內存來創建消息框,則返回值爲零。如果函數調用成功,則返回值爲下列對話框返回的菜單項目值中的一個:

    IDABORT:Abort 按鈕被選中。IDCANCEL:Cancel按鈕被選中。IDIGNORE:Ignore按鈕被選中。

    IDNO:NO按鈕被選中。IDOK:OK按鈕被選中。IDRETRY:RETRY按鈕被選中。

    IDYES:YES按鈕被選中。

    如果一個消息框有一個Cancel按鈕,且如果Esc鍵被按下或Cancel鍵被選擇,則函數返回IDCANCEL值。如果消息框沒有Cancel按鈕,則按Esc鍵沒有作用。

    備註:當創建一個系統模態消息框來表示系統在內存的低端中時,由lpTeXt和lpCaption參數指向的字符串不應該從一個資源文件中取出,因爲試圖裝載此資源可能導致失敗。

    當一個應用程序調用MessageBox,且爲uType參數指定MB_ICONHAND和MB_SYSTEMMODAL標誌時,系統不管可用內存爲多少,直接顯示結果消息框。當這些標誌被指定,系統把消息框文本的長度侷限於三行。系統不能自動截斷要填到消息框的行,但是消息字符串一定含有回車換行,以在合適的位置換行。

    如果在對話框出現的的同時創建了消息框,則可使用對話框的句柄作爲hwnd參數,hwnd參數不應該標識一個子窗口,例如對話框中的一個控制。

    Windows 95:系統可以支持最大達16364個窗口句柄。

    Windows CE:Windows CE 不支持uType參數的下列值:

    MB_STSTEMMODAL;MB_TASKMODAL;MB_HELP;MB_RTLREADING;MB_DEFAULT_DESKTOP_ONLY;

    MB_SERVICE_NOTIFICATION;MB_USERICON。

    不支持下列返回值:IDCLOSE;IDHELP。

    速查:Windows:3.1及以上版本:Windows:95及以上版本;Windows:1.0及以上版本;頭文件:Winuser.h;庫文件:USer32.lib;URicode:在Windows NT上實現爲Unicode和ANSI兩種版本。

" Yes Yes Yes
942 MessageBoxEx 建立消息框窗體 "    函數功能:該函數創建、顯示、和操作一個消息框。消息框含有一個應用程序定義的消息和標題,加上預定義目標與pus(下推)按鈕的任何組合。wLanguageld參數指定哪一個語言資源集被用於預定義的下推按鈕。有關MessageBoxEX函數其他參數的完整描述,請參見MessageBoxEx函數。

    函數原型:int MessageBoxEx(HWND hwnd,LPCTSTR lPText, LPCTSTR lpCaPtion, UINT UTye, WORD wLanguageld);

    參數:

    hWnd:標識將被創建的消息框的擁有窗口。如果此參數爲NULL,則消息框沒有擁有窗口。

    lPText:指向一個以NULL結尾的、含有將被顯示的消息的字符串的指針。

    lpCaPtion:向一個以NULL結尾的結、用於對話框標題的字符串的指針。如果此參數爲NULL,則用缺省的標題Error。

    uType:指定一個決定對話框的內容和行爲的位標誌集。標誌的意義參見MessageBox/uType。

    備註:當創建一個系統模態消息框來表示系統在在內存的低端中時,由lPText和IpCaPtion參數指向的字符串不應該從一個資源文件中取出,因爲試圖裝載此資源可能導致失敗。

    當一個應用程序調用MessageBox,且爲uType參數指定MB_ICONHAND和MB_SYSTEMMODAL標誌時,系統不管可用內存爲多少,直接顯示結果消息框。當這些標誌被指定,系統把消息框文本的長度侷限於三行。系統不能自動截斷要填到消息框的行,但是消息字符串一定含有回車換行,以在合適的位置換行。

    如果在對話框出現的的同時創建了消息框,則可使用對話框的句柄作爲hwnd參數,hwnd參數不應該標識一個子窗口,例如對話框中的一個控制。

    Windows 95:系統可以支持最大達 16364個窗口句柄。

    速查:Windows NT:3.1及以上版本:Windows:95及以上版本;Windows CE:1.0及以上版本;頭文件:Winuser.h;庫文件: user32.lib; Unicode:在Windows NT上實現爲Unicode和ANSI兩種版本。

" No Yes Yes
943 MessageBoxIndirect 創建、顯示和操作一個消息框 "    函數功能:該函數創建、顯示和操作一個消息框。消息框含有應用程序定義的消息文本和標題,任何位圖和預定義的push(下推)按鈕的任意組合。

    函數原型:int MessageBoxIndirect(LPMSGBoXPARAMs lpMsgBoxParams);

    參數:

    lpMsgBoxParams:指向一個含有用於顯示消息框信息的MSGBOXPARAMS結構。

    返回值:如果沒有足夠內存來創建消息框,則返回值爲零。如果函數調用成功,則返回值爲下列對話框返回的菜單項目值中的一個:

    IDABORT:Abort按鈕被選中;

    IDCANCEL:Cancel 按鈕被選中;

    IDGNORE:lgnorem按鈕被選中;

    IDNO:NO按鈕被選中;

    IDOK:OK按鈕被選中;

    IDRETRY:RETRY按鈕被選中;

    IDYES:YES按鈕被選中。

    如果一個消息框有一個Cancel按鈕,且當Esc鍵被按或Cancel鍵被選擇時,則函數返回IDCANCEL值。如果消息框沒有Cancel按鈕,則按Esc鍵沒有作用。

    備註:當創建一個系統模態消息框來表示系統在在內存的低端時,由lpText和lpCaption參數指向的字符串不應該從一個資源文件中取出,因爲試圖裝載此資源可能導致失敗。

    當一個應用程序調用MessageBox,且爲uType參數指定MB_ICONHAND和MB_SYSTEMMODAL標誌時,系統不管可用內存爲多少,直接顯示結果消息框。當這些標誌被指定,系統被把消息框文本的長度侷限於三行。系統不能自動截斷要填到消息框的行,但是消息字符串一定含有回車換行,以在合適的位置換行。

    如果在對話框出現的的同時創建了消息框,則可使用對話框的句柄作爲hwnd參數,hwnd參數不應該標識一個子窗口,例如對話框中的一個控制。

    Windows 95:系統可以支持最大達16364個窗口句柄。

    速查:Wbindows NT:4.0及以上版本;Windows:95及以下版本;Windows CE:不支持;頭文件:winuser.h;庫文件:User32.lib:Unicoda:在Windows NT上實現爲Unicode和ANSI兩種版本。

" No Yes Yes
944 midiConnect 連接MIDI設備  No Yes Yes
945 midiDisconnect 斷開MIDI設備  No Yes Yes
946 midiInAddBuffer 向MIDI設備發送輸入緩衝  No Yes Yes
947 midiInClose 關閉MIDI輸入設備  No Yes Yes
948 midiInGetDevCaps 確定MIDI設備性能  No Yes Yes
949 midiInGetErrorText 返回MIDI出錯代碼的文本描述  No Yes Yes
950 midiInGetID 返回MIDI設備句柄ID  No Yes Yes
951 midiInGetNumDevs 返回MIDI設備數量  No Yes Yes
952 midiInMessage 向MIDI設備驅動程序發送消息  No Yes Yes
953 midiInOpen 打開MIDI設備  No Yes Yes
954 midiInPrepareHeader 準備MIDI輸入緩衝區  No Yes Yes
955 midiInReset 結束MIDI輸入和標準輸入緩衝區  No Yes Yes
956 midiInStart 開始MIDI輸入設備  No Yes Yes
957 midiInStop 結束MIDI輸入  No Yes Yes
958 midiInUnprepareHeader 清除預備頭  No Yes Yes
959 midiOutCacheDrumPatches 預裝入MIDI碰撞修正碼  No Yes Yes
960 midiOutCachePatches 預裝入MIDI修正碼  No Yes Yes
961 midiOutClose 關閉MIDI輸出設備  No Yes Yes
962 midiOutGetDevCaps 返回MIDI輸出設備性能  No Yes Yes
963 midiOutGetErrorText 返回MIDI輸出出錯文本  No Yes Yes
964 midiOutGetID 返回MIDI輸出設備ID  No Yes Yes
965 midiOutGetNumDevs 獲取MIDI輸出設備數量  No Yes Yes
966 midiOutGetVolume 返回MIDI輸出設備卷  No Yes Yes
967 midiOutLongMsg 發送系統專用MIDI消息  No Yes Yes
968 midiOutMessage 向MIDI設備驅動程序發送消息  No Yes Yes
969 midiOutOpen 打開MIDI輸出設備  No Yes Yes
970 midiOutPrepareHeader 準備MIDI輸出數據塊  No Yes Yes
971 midiOutReset 結束MIDI輸出和標記緩衝區  No Yes Yes
972 midiOutSetVolume 設置MIDI輸出設備卷  No Yes Yes
973 midiOutShortMsg 向MIDI輸出設備發送短消息  No Yes Yes
974 midiOutUnprepareHeader 消除MIDI輸出頭  No Yes Yes
975 midiStreamClose 關閉打開的MIDI流  No Yes Yes
976 midiStreamOpen 打開MIDI流  No Yes Yes
977 midiStreamOut 向MIDI流發送數據  No Yes Yes
978 midiStreamPause 暫停MIDI流  No Yes Yes
979 midiStreamPosition 獲取MIDI流當前位置  No Yes Yes
980 midiStreamProperty 獲取MIDI流屬性  No Yes Yes
981 midiStreamRestart 重啓動指定MIDI流  No Yes Yes
982 midiStreamStop 停止播放MIDI流  No Yes Yes
983 mixerClose 關閉混合設備  No Yes Yes
984 mixerGetControlDetails 獲取指定混合器控件  No Yes Yes
985 mixerGetDevCaps 獲取混合器性能  No Yes Yes
986 mixerGetID 獲取混合器ID值  No Yes Yes
987 mixerGetLineControls 返回混合器線控件  No Yes Yes
988 mixerGetLineInfo 獲取混合器信息  No Yes Yes
989 mixerGetNumDevs 獲取當前混合設備數量  No Yes Yes
990 mixerMessage 向混合設備發送消息  No Yes Yes
991 mixerOpen 打開混合設備  No Yes Yes
992 mixerSetControlDetails 放置混合器控件  No Yes Yes
993 mmioAdvance 直接I/O緩衝  No Yes Yes
994 mmioAscend 超出RIFF塊  No Yes Yes
995 mmioClose 關閉MM文件  No Yes Yes
996 mmioCreateChunk 建立RIFF文件塊  No Yes Yes
997 mmioDescend 減少RIFF塊  No Yes Yes
998 mmioFlush 將MM I/O緩衝區轉換至磁盤  No Yes Yes
999 mmioGetInfo 返回MM文件信息  No Yes Yes
1000 mmioInstallIOProcA 裝入及刪除自定義I/O過程  No Yes Yes
1001 mmioOpen 打開多媒體文件  No Yes Yes
1002 mmioRead 讀入文件  No Yes Yes
1003 mmioRename 重命名多媒體文件名  No Yes Yes
1004 mmioSeek 改變當前文件位置  No Yes Yes
1005 mmioSendMessage 向I/O過程發送消息  No Yes Yes
1006 mmioSetBuffer 控制I/O緩衝  No Yes Yes
1007 mmioSetInfo 設置文件信息  No Yes Yes
1008 mmioStringToFOURCC 將字符串變爲四個字符代碼  No Yes Yes
1009 mmioWrite 寫文件  No Yes Yes
1010 mmsystemGetVersion 返回MM軟件版本  No Yes Yes
1011 ModifyMenu 改變菜單項  Yes Yes Yes
1012 ModifyWorldTransform 改變世界變換式  No Yes Yes
1013 mouse_event 同步鼠標擊鍵和鼠標動作 "    函數功能:該函數綜合鼠標擊鍵和鼠標動作。

    函數原型:VOID mouse_event(DWORD dwFlags, DWORD dx, DWORD dy, DWORD dwData, DWORD dwExtraInfo);

    參數:

    dwFlags:標誌位集,指定點擊按鈕和鼠標動作的多種情況。此參數裏的各位可以是下列值的任何合理組合:

    MOOSE_EVENTF_ABSOLOTE:表明參數dX,dy含有規範化的絕對座標。如果不設置此位,參數含有相對數據:相對於上次位置的改動位置。此標誌可被設置,也可不設置,不管鼠標的類型或與系統相連的類似於鼠標的設備的類型如何。要得到關於相對鼠標動作的信息,參見下面備註部分。

    MOOSEEVENTFMOVE:表明發生移動。

    M00SEEVENTF_LEFTDOWN:表明接按下鼠標左鍵。

    M00SEEVENTF_LEFTUP:表明鬆開鼠標左鍵。

    MOOSEEVENTF_RIGHTDOWN:表明按下鼠標右鍵。

    MOOSEEVENTF_RIGHTUP:表明鬆開鼠標右鍵。

    MOOSEEVENTF_MIDDLEDOWN:表明按下鼠標中鍵。

    MOOSEEVENTF_MIDDLEUP:表明鬆開鼠標中鍵。

    MOOSEEVENTF_WHEEL:在Windows NT中如果鼠標有一個輪,表明鼠標輪被移動。移動的數量由dwData給出。

    dx:指定鼠標沿x軸的絕對位置或者從上次鼠標事件產生以來移動的數量,依賴於MOOSEEVENTF_ABSOLOTE的設置。給出的絕對數據作爲鼠標的實際X座標;給出的相對數據作爲移動的mickeys數。一個mickey表示鼠標移動的數量,表明鼠標已經移動。

    dy:指定鼠標沿y軸的絕對位置或者從上次鼠標事件產生以來移動的數量,依賴於MOOSEEVENTF_ABSOLVTE的設置。給出的絕對數據作爲鼠標的實際y座標,給出的相對數據作爲移動的mickeys數。

    dwData:如果dwFlags爲MOOSEEVENTF_WHEEL,則dwData指定鼠標輪移動的數量。正值表明鼠標輪向前轉動,即遠離用戶的方向;負值表明鼠標輪向後轉動,即朝向用戶。一個輪擊定義爲WHEEL_DELTA,即120。

    如果dwFlags不是MOOSEEVENTF_WHEEL,則dWData應爲零。

    dwExtraInfo:指定與鼠標事件相關的附加32位值。應用程序調用函數GetMessgeExtraInfo來獲得此附加信息。

    返回值:無。

    備註:如果鼠標被移動,用設置MOUSEEVENTF_MOVE來表明,dX和dy保留移動的信息。給出的信息是絕對或相對整數值。

    如果指定了MOWSEEVENTF_ABSOLOTE值,則dX和dy含有標準化的絕對座標,其值在0到65535之間。事件程序將此座標映射到顯示錶面。座標(0,0)映射到顯示錶面的左上角,(6553,65535)映射到右下角。

    如果沒指定MOWSEEVENTF_ABSOLOTE,dX和dy表示相對於上次鼠標事件產生的位置(即上次報告的位置)的移動。正值表示鼠標向右(或下)移動;負值表示鼠標向左(或上)移動。

    鼠標的相對移動服從鼠標速度和加速度等級的設置,一個最終用戶用鼠標控制面板應用程序來設置這些值,應用程序用函數SystemParametersInfo來取得和設置這些值。

    在應用加速時系統對指定相對鼠標移動提供了兩個測試。如果指定的沿X軸y軸的距離比第一個鼠標閾值大,並且鼠標的加速等級非零,則操作系統將距離加倍。如果指定的沿X軸或y軸的距離比第二個鼠標閾值大,並且鼠標的加速等級爲2,則操作系統將從第一個閾測試得來的距離加倍。這樣就允許操作系統將指定鼠標沿X軸或y軸的相對位移加到4倍。

    一旦應用了加速,系統用期望的鼠標速度換算合成的值。鼠標速度的範圍是從1(最慢)到20(最快),並代表基於鼠標移動的距離指示符移動的數量。缺省值是10,表示對鼠標的移動設有附加的修改。

    函數mouse_event需要用的應用程序用來合成鼠標事件。也被應用程序用來取得鼠標位置和鼠標按鍵狀態之外的鼠標信息。例如,如果輸入板製造商想將基於畫筆的信息傳給自己的應用程序,可以寫一個直接與輸入板硬件通信的動態鍵接庫(DLL),獲得附加的信息,並保存到一個隊列中。DLL然後調用mouse_event,用標準按鍵和x/y位置數據,並在參數dwExtraInfo設置排列的附加信息的指針或索引。當應用程序需要附加信息時,調用DLL(連同存貯在dwEXtralnfo中的指針或索引),則DLL返回附加信息。

    Windows CE:Windows CE不支持參數 dwFlags取MOOSE EVENTF WHEEL常數。

    速查: Windows NT: 3.1及以上版本; Windows:95及以上版本;Windows CE:不支持;頭文件:winuser.h;輸入庫:user32.lib。

" No Yes Yes
1014 MoveFile 更名文件  No Yes Yes
1015 MoveFileEx 更名文件  No Yes Yes
1016 MoveToEx 移動當前位置  Yes Yes Yes
1017 MoveWindow 改變窗口位置及大小 "
    函數功能:該函數改變指定窗口的位置和尺寸。對於頂層窗口,位置和尺寸是相對於屏幕的左上角的:對於子窗口,位置和尺寸是相對於父窗口客戶區的左上角座標的。

    函數原型:BOOL MoveWindow(HWND hWnd, int x, int y, int nWidth, int nHeight, BOOL bRePaint);

    參數:

    hWnd:窗口句柄。

    x:指定窗口的新位置的左邊界。

    Y:指定窗口的新位置的頂部邊界。

    nWidth:指定窗口的新的寬度。

    nHaight:指定窗口的新的高度。

    bRepaint:確定窗口是否被刷新。如果該參數爲TRUE,窗口接收一個WM_PAINT消息;如果參數爲FALSE,不發生任何刷新動作。它適用於客戶區,非客戶區(包括標題欄和滾動條),及由於移動子窗口而露出的父窗口的區域。如果參數爲FALSE,應用程序就必須明確地使窗口無效或重畫該窗口和需要刷新的父窗口。

    返回值:如果函數成功,返回值爲非零;如果函數失敗,返回值爲零。若想獲得更多錯誤信息,請調用GetLastError函數。

    備註:如果bRepaint爲TRUE,系統在窗口移動後立即給窗口過程發送WM_PAINT消息(即由MoveWindow函數調用UPdateWindow函數)。如果bRepaint 爲FALSE,系統將WM_PAINT消息放在該窗口的消息隊列中。消息循環只有在派遣完消息隊列中的其他消息時纔派遣WM_PAINT消息。

    MoveWindow給窗口發送WM_WfNOWPOSCHANGING,WM_WINDOWPOSCHANGED,WM_MOVE,WM_SIZE和WM_NCCALCSIZE消息,

    速查:Windows NT:3.1以上版本:Windows:95以上版本;Windows CE:1.0以上版本:頭文件:winuser.h;庫文件:user32.lib。

" Yes Yes Yes
1018 MsgWaitForMultipleObjects 等待多個對象句柄  No Yes Yes
1019 MulDiv 將兩數相乘並併除以結果  Yes Yes Yes
1020 MultiByteToWideChar 將多媒體字符串映像爲通配字符串  No Yes Yes
1021 Netbios 運行指定NCB  No Yes Yes
1022 NotifyBootConfigStatus 通知響應引導配置  No Yes Yes
1023 NotifyChangeEventLog   No Yes Yes
1024 ObjectCloseAuditAlarm 刪除對象時產生審查/警報  No Yes Yes
1025 ObjectOpenAuditAlarm 訪問對象時產生審查/警報  No Yes Yes
1026 ObjectPrivilegeAuditAlarm 進行特權操作時產生審查/警報  No Yes Yes
1027 OemKeyScan 將OEM ASCII映像爲掃描碼 "    函數功能:該函數將0-0x0FF的OEM ASCII代碼映射爲OEM掃描碼及其轉換狀態。該函數通過模擬鍵盤輸入來提供信息,使得一個程序可將OEM文本傳送到另一程序。

    函數原型:DWORD OemKeyScan(WORD wOemChar);

    參數:

    wOemChar:定義OEM字符的ASII值。

    返回值:返回值的低序字中包含給定的OEM字符的掃描碼,高序字中包含了轉換狀態,它可能是如下標誌位的組合:

    1:任一。shift鍵被按下;2:任一ctrl鍵被接下;

    4:任一alt鍵被按下;    8:Hankaku鍵被按下;

    16:保留(由鍵盤佈局驅動程序定義);32:保留(由鍵盤佈局驅動程序定義)

    若一字符在當前鍵盤佈局下不能通過單擊某鍵產生,則返回值爲OXFFFFFFFF。

    備註;該函數對於需要ctrl+alt鍵的字符或者死鍵不提供翻譯。該函數不翻譯的字符必須通過使用alt+鍵區機制的模擬輸入進行拷貝。Numlock鍵必須關閉。

    該函數對於使用當前鍵盤佈局不能通過一次擊鍵得到的字符不進行翻譯,例如需要死鍵的帶音調的字符。該函數不翻譯的字符必須通過使用alt+鍵區機制的模擬輸入進行拷貝。Numlock鍵必須關閉。該函數使用VkKeyScan函數來實現。

    速查:Windows NT:3.1及以上版本;Windows:95及以上版本;Windows CE:不支持;頭文件:winuser.h;庫文件:user32.lib。

" Yes Yes Yes
1028 OemToChar 轉換OEM字符串  No Yes Yes
1029 OemToCharBuff 轉換OEM字符串  No Yes Yes
1030 OffsetClipRgn 移動剪輯區  Yes Yes Yes
1031 OffsetRect 用偏移量移動矩形  Yes Yes Yes
1032 OffsetRgn 用指定偏移量移動區域  Yes Yes Yes
1033 OffsetViewportOrgEx 移動視口區域  Yes Yes Yes
1034 OffsetWindowOrgEx 移動窗口區域  Yes Yes Yes
1035 OpenBackupEventLog 打開備份事件句柄  No Yes Yes
1036 OpenClipboard 打開CLIPBOARD  Yes Yes Yes
1037 OpenDesktop   No Yes Yes
1038 OpenDriver 打開可安裝驅動程序  Yes Yes Yes
1039 OpenEvent 打開事件對象  No Yes Yes
1040 OpenEventLog 打開事件登記句柄  No Yes Yes
1041 OpenFile 建立、打開或刪除文件  Yes Yes Yes
1042 OpenFileMapping 打開命名文件的映像對象  No Yes Yes
1043 OpenIcon 激活最小化窗口 "    函數功能:該函數將一個最小化窗口恢復到原來的位置和尺寸並且激活該窗口。

    函數原型:BOOL OpenIcon(HWND hWnd);

    參數:

    hWnd:被恢復與激活的窗口的句柄。

    返回值:如果函數成功,返回值爲非零;如果函數失敗,返回值爲零。若想獲得更多錯誤信息,請調用GetLastError函數。

    備註:Openlcon向給出的窗口發送WM_QUERYOPEN消息。

    速查:Windows NT:3.1以上版本;Windows:95以上版本;Windows CE:不支持:頭文件:winuser.h;庫文件:user32.lib。

" Yes Yes Yes
1044 OpenInputDesktop   No Yes Yes
1045 OpenMutex 打開命名MUTEX對象  No Yes Yes
1046 OpenPrinter 獲取指定打印機的句柄  No Yes Yes
1047 OpenProcess 將句柄返回給過程對象  No Yes Yes
1048 OpenProcessToken 打開過程令牌對象  No Yes Yes
1049 OpenSCManager 連接服務控件管理器  No Yes Yes
1050 OpenSemaphore 打開命名信號量對象  No Yes Yes
1051 OpenService 打開服務  No Yes Yes
1052 OpenThreadToken 打開線索令牌對象  No Yes Yes
1053 OpenWindowStation   No Yes Yes
1054 OutputDebugStr   No Yes Yes
1055 OutputDebugString 向調試發送字符串  Yes Yes Yes
1056 PackDDElParam 將數據打包裝入DDE消息IPARAM  No Yes Yes
1057 PageSetupDlg 建立並顯示頁設置對話框 "    函數功能:該函數創建一個PageSetup對話框,此對話框能使用戶指定打印頁的屬性。這些屬性包括紙張大小和來源,送紙方向和頁邊距。

    函數原型:BOOL PageSetupDlg(LPPAGESETUPDLG lppsd);

    參數:

    lppsd:指向一個包含初始化對話框信息的PAGESETUPDLG結構。當函數返回時,該結構存放有關用戶選擇的信息。

    返回值:如果用戶點擊OK鈕,返回值爲非零值,lppsp參數指向的PAGESETUPDLG結構中的成員顯示用戶的選擇。如果用戶取消或關閉PageSetup對話框或錯誤出現,返回值爲零。若想獲得更多的錯誤信息,請調用CommDlgExtendedError函數

    速查:Windows NT:3.1及以上版本;Windows:95及以上版本;Windows CE:不支持;頭文件:commdlg.h;庫文件:commdlg32.lib;Unicode:在Windows NT環境中實現爲Unicode和ANSI兩個版本。

" No Yes Yes
1058 PaintDesktop   No Yes Yes
1059 PaintRgn 用設備描述表中的刷子填充區域  Yes Yes Yes
1060 PatBlt 建立位圖圖案  Yes Yes Yes
1061 PathToRegion 建立區域  No Yes Yes
1062 PeekMessage 檢查消息隊列 "    函數功能:該函數爲一個消息檢查線程消息隊列,並將該消息(如果存在)放於指定的結構。

    函數原型:BOOL PeekMessage(LPMSG lpMsg, HWND hWnd, UINT wMSGfilterMin, UINT wMsgFilterMax, UINT wRemoveMsg);

    參數:

    lpMsg:接收消息信息的MSG結構指針。

    hWnd:其消息被檢查的窗口的句柄。

    wMsgFilterMin:指定被檢查的消息範圍裏的第一個消息。

    wMsgFilterMax:指定被檢查的消息範圍裏的最後一個消息。

    wRemoveMsg:確定消息如何被處理。此參數可取下列值之一:

    PM_NOREMOVE:PeekMessage處理後,消息不從隊列裏除掉。

    PM_REMOVE:PeekMessage處理後,消息從隊列裏除掉。

    可將PM_NOYIELD隨意組合到PM_NOREMOVE或PM_REMOVE。此標誌使系統不釋放等待調用程序空閒的線程。

    缺省地,處理所有類型的消息。若只處理某些消息,指定一個或多個下列值:

    PM_QS_INPUT:Windows NT5.0和Windows 98:處理鼠標和鍵盤消息。

    PM_QS_PAINT:Windows NT 5.0和Windows 98:處理畫圖消息。

    PM_QS_POSTMESSAGE:Windows NT 5.0和Windows 98:處理所有被寄送的消息,包括計時器和熱鍵。

    PM_QS_SENDMESSAGE:Windows NT 5.0和Windows 98:處理所有發送消息。

    返回值:如果消息可得到,返回非零值;如果沒有消息可得到,返回值是零。

    備註:和函數GetMessage不一樣的是,函數PeekMesssge在返回前不等待消息被放到隊列裏。

    PeekMesssge只得到那些與參數hWnd標識的窗口相聯繫的消息或被lsChild確定爲其子窗口相聯繫的消息,並且該消息要在由參數wMsgFiterMin和wMsgFiherMax確定的範圍內。如果hWnd爲NULL,則PeekMessage接收屬於當前調用線程的窗口的消息(PeekMessage不接收屬於其他線程的窗口的消息)。如果hWnd爲C1,PeekMessage只返回hWnd值爲NULL的消息,該消息由函數PostThreadMessage寄送。如果wMsgFilterMin和wMsgFilterMax都爲零,GetMessage返回所有可得的消息(即,無範圍過濾)。

    常數WM_KEYFIRST和WMKEYLAST可作爲過濾值取得所有鍵盤消息;常數WM_MOUSEFIRST和WM_MOUSELAST可用來接收所有的鼠標消息。

    PeekMessage通常不從隊列裏清除WM_PANT消息。該消息將保留在隊列裏直到處理完畢。但如果WM_PAINT消息有一個空更新區,PeekMessage將從隊列裏清除WM_PAINT消息。

    Windows CE:有一個NULL更新區的WM_PAINT消息不從隊列裏清除。

    速查:WindowsNT:3.1及以上版本;Wihdows:95及以上版本:WindowsCE:1.0及以上版本;頭文件:winuser.h輸入庫:user32.lib:Unicode:在Windows NT環境下以Unicode和ANSI方式實現。

" Yes Yes Yes
1063 PeekNamedPipe 預顯示管道隊列數據  No Yes Yes
1064 Pie 繪製餅狀鍥形圖  Yes Yes Yes
1065 PlayEnhMetaFile 運行增強圖元文件  No Yes Yes
1066 PlayEnhMetaFileRecord 運行增強圖元文件記錄  No Yes Yes
1067 PlayMetaFile 運行WINDOWS圖元文件到DC  Yes Yes Yes
1068 PlayMetaFileRecord 運行WINDOWS圖元文件記錄  Yes Yes Yes
1069 PlaySound 播放聲音文件  No Yes Yes
1070 PlgBlt 傳輸像素  No Yes Yes
1071 PolyBezier 畫BEZIER曲線  No Yes Yes
1072 PolyBezierTo 畫BEZIER曲線  No Yes Yes
1073 PolyDraw 畫一系列直線及BEZIER曲線  No Yes Yes
1074 PolyPolygon 畫一系列多邊形  Yes Yes Yes
1075 PolyPolyline 畫相連線段  No Yes Yes
1076 PolyTextOut 書寫字符串  No Yes Yes
1077 Polygon 畫多邊形  Yes Yes Yes
1078 Polyline 畫線段  Yes Yes Yes
1079 PolylineTo 畫一條或多條直線  No Yes Yes
1080 PostMessage 將消息加入線程消息隊列 "    函數功能:該函數將一個消息放入(寄送)到與指定窗口創建的線程相聯繫消息隊列裏,不等待線程處理消息就返回。消息隊列裏的消息通過調用GetMessage和PeekMessage取得。

    函數原型:B00L PostMessage(HWND hWnd, UINT Msg, WPARAM wParam, LPARAM lParam);

    參數:

    hWnd:其窗口程序接收消息的窗口的句柄。可取有特定含義的兩個值:

    HWND_BROADCAST:消息被寄送到系統的所有頂層窗口,包括無效或不可見的非自身擁有的窗口、被覆蓋的窗口和彈出式窗口。消息不被寄送到子窗口。

    NULL:此函數的操作和調用參數dwThread設置爲當前線程的標識符PostThreadMessage函數一樣。

    Msg:指定被寄送的消息。

    wParam:指定附加的消息特定的信息。

    lParam:指定附加的消息特定的信息。

    返回值:如果函數調用成功,返回非零值:如果函數調用失敗,返回值是零。若想獲得更多的錯誤信息,請調用GetLastError函數。

    備註:需要以 HWND_BROADCAST方式通信的應用程序應當用函數 RegisterwindwosMessage來獲得應用程序間通信的獨特的消息。

    如果發送一個低於WM_USER範圍的消息給異步消息函數(PostMessage.SendNotifyMessage,SendMesssgeCallback),消息參數不能包含指針。否則,操作將會失敗。函數將再接收線程處理消息之前返回,發送者將在內存被使用之前釋放。

    速查:WindowsNT:3.1及以上版本;Windows:95及以上版本;WindowsCE:1.0及以上版本;頭文件:winuser.h;輸入庫:user32.lib;Unicode:在Windows NT環境下以Unicode和ANSI方式實現。

" Yes Yes Yes
1081 PostQuitMessage 通知WINDOWS線程將中斷 "    函數功能:該函數向系統表明有個線程有終止請求。通常用來響應WM_DESTROY消息。

    函數原型:VOID PostQuitMessage(int nExitCode);

    參數:

    pExitCode:指定應用程序退出代碼。此值被用作消息WM_QUIT的wParam參數。

    返回值:無。

    備註:PostQuitMessage寄送一個WM_oUT消息給線程的消息隊列並立即返回;此函數向系統表明有個線程請求在隨後的某一時間終止。

    當線程從消息隊列裏取得WM_QUIT消息時,應當退出消息循環並將控制返回給系統。返回給系統的退出值必須是消息WM_QUIT的wParam參數。

    速查:WindowsNT:3.1及以上版本;Windows:95及以上版本;WindowsCE:1.0及以上版本;頭文件:winuser.h;輸入庫:user32,lib:Uhicode:在Wihdows NT環境下以Unicode和ANSI方式實現。

" Yes Yes Yes
1082 PostThreadMessage 向線程發出消息 "    函數功能:該函數將一個消息放入(寄送)到指定線程的消息隊列裏,不等待線程處理消息就返回。

    函數原型:BOOL PostThreadMessage(DWORD idThread, UINT Msg, WPARAM wParam, LPARAM LParam);

    參數:

    idThread:其消息將被寄送的線程的線程標識符。如果線程沒有消息隊列,此函數將失敗。當線程第一次調用一個Win 32 USER或GDI函數時,系統創建線程的消息隊列。要得到更多的信息,參見備註。

    Msg:指定將被寄送的消息的類型。

    wParam:指定附加的消息特定信息。

    LParam:指定附加的消息特定信息。

    返回值:如果函數調用成功,返回非零值。如果函數調用失敗,返回值是零。若想獲得更多的錯誤信息,請調用GetLastError函數。如果idThread不是一個有效的線程標識符或由idThread確定的線程沒有消息隊

    列,GetLastError返回ERROR_INVALID_THREAD。

    備註:消息將寄送到的線程必須創建消息隊列,否則調用PostThreadMessage會失敗。用下列方法之一來處理這種情況:
    調用PostThreadMessage。如果失敗,調用Sleep,再調用PostThreadMessage,反覆執行,直到PostThreadMessage成功。

    創建一個事件對象,再創建線程。在調用PostThreadMessage之前,用函數WaitForSingleObject來等特事件被設置爲被告知狀態。消息將寄送到的線程調用PeedMessage(&msg, NULL, WM_USER, WM_USER, PM_NOREMOVE)來強制系統創建消息隊列。設置事件,表示線程已準備好接收寄送的消息。

    消息將寄送到的線程通過調用GetMesssge或PeekMesssge來取得消息。返回的MSG結構中的hwnd成員爲NULL。

    速查:Windows NT:3.1及以上版本;Windows:95及以上版本;Windows CE:1.0及以上版本:頭文件:winuser.h;輸入庫:user32.lib;Unicode:在Windows NT環境下以Unicode和ANSI方式實現。

" No Yes Yes
1083 PrepareTape 準備磁帶設備  No Yes Yes
1084 PrintDlg 建立打印文本對話框 "    函數功能:該函數顯示打印對話框或打印設置對話框。打印對話框使用戶指定特殊的打印工作的特點。

    打印設置對話框不能應用在新應用程序中,它已經被PageSetupDlg函數創建的打印設置公共對話框所替代。

    函數原型:BOOL PrintDlg(LPPRINTDLG lppd);

    參數:

    lppd:指向一個含有初始化對話框信息的PRINTDLG結構。當PRINTDLG函數返回時,此結構含有關用戶選擇的信息。

    返回值:如果用戶點擊OK按鈕,返回值爲非零值。由lppd參數指向的PRINTDLG結構中的成員顯示用戶的選擇。如果用戶取消或關閉Print或PrinterSetup對話框或錯誤出現,返回值爲零。若想獲得更多的錯誤信息,請調用CommDlgError函數。如果用戶取消或關閉對話框,函數返回零值:否則,返回值如下:

    CDERR_FINDRESFAILURE PDERR_CRETELCFAILUPE

    COERR_INITIALIZATION PDERR_DEFAULTDIFFERENT

    CDERR_LOADRESFAILURE PDERR_DNDMMISMATCH

    CDERR_LOADSTRFAILURE PDERR_GETDEVMODEFAIL

    CKERR_LOCKRESFAILURE PDERR_INITFAILURE

    CDERR_MEMALLOCFAILURE PDERR LOADDRVFAILURE

    CDERR_MEMLOCKFAILURE PDERR_NODEFAULTPRN

    CDERR_NOHINSTANCE PDERR_NODEVICES

    CDFRR_NOHOOK PDERR_PARSEFAILURE

    CDERR_NOTEMPLATE PDERR_PRINTERNOTFOUND

    CDERR_STRUCTSIZE PDERR_RETDEFFAILURE

    備註:如果掛鉤函數(由PRINTDLG結構中的lpfnPrintHOOk成員或lpfnSetupHOOk成員指向的)處理WM_CTLCOLORDLG信息,掛鉤函數必須返回一個刷子句柄,此刷了用來刷控制背景。

    Windows NT 5.0以及以後的版本:可用PrintDlgEx函數來顯示一個Print屬性頁,此屬性頁有一個含有Print公共對話框相似的控制的General頁,其控制與Print公共對話框中的控制相似。

    Windows CE:PRINTDLG結構包含Windows CE中不同的成員。

    速查:WindowsNT:3.1及以上版本;Windows:95及以上版本;WindowsCE:2.0及以上版本;頭文件:commdlg.h;庫文件:comdlg32.lih;Unicode:在Windows NT環境中實現爲Unicode和ANSI兩個版本。

" No Yes Yes
1085 PrinterMessageBox 顯示打印作業出錯信息  No Yes Yes
1086 PrinterProperties 修改打印機屬性  No Yes Yes
1087 PrivilegeCheck 檢查特權安全描述表  No Yes Yes
1088 PrivilegedServiceAuditAlarm 產生特權系統服務聲音警報  No Yes Yes
1089 PtInRect 確定點是否在矩形內  Yes Yes Yes
1090 PtInRegion   No Yes Yes
1091 PtVisible 查詢點是否在剪輯區域內  Yes Yes Yes
1092 PulseEvent 設置並復位事件  No Yes Yes
1093 PurgeComm 消除通信隊列  No Yes Yes
1094 QueryDosDevice 獲取DOS設備名信息  No Yes Yes
1095 QueryPerformanceCounter 獲取計數值  No Yes Yes
1096 QueryPerformanceFrequency 返回計數頻率  No Yes Yes
1097 QueryServiceConfig 獲取服務配置參數  No Yes Yes
1098 QueryServiceLockStatus 獲取服務數據庫鎖定狀態  No Yes Yes
1099 QueryServiceObjectSecurity 獲取服務對象安全描述  No Yes Yes
1100 QueryServiceStatus 獲取服務狀態  No Yes Yes
1101 RaiseException 建立異常條件  No Yes Yes
1102 ReadConsole 讀控制檯輸入數據  No Yes Yes
1103 ReadConsoleOutput 讀屏幕緩衝區數據  No Yes Yes
1104 ReadConsoleOutputAttribute 讀控制檯屬性字符串  No Yes Yes
1105 ReadConsoleOutputCharacter 讀屏幕緩衝區字符串  No Yes Yes
1106 ReadEventLog 讀事件記錄  No Yes Yes
1107 ReadFile 讀文件  No Yes Yes
1108 ReadFileEx 異步讀文件  No Yes Yes
1109 ReadPrinter 讀打印機數據  No Yes Yes
1110 ReadProcessMemory 在進程中讀內存  No Yes Yes
1111 RealizePalette 將邏輯調色板映像爲系統調色板  Yes Yes Yes
1112 RectInRegion 查詢矩形是否有重疊區域  Yes Yes Yes
1113 RectVisible 查詢矩形是否有剪輯區中  Yes Yes Yes
1114 Rectangle 畫一個矩形  Yes Yes Yes
1115 RedrawWindow 更新客戶窗口  Yes Yes Yes
1116 RegCloseKey 關閉登錄關鍵字  No Yes Yes
1117 RegConnectRegistry 連接遠程登錄  No Yes Yes
1118 RegCreateKey 建立關鍵字  No Yes Yes
1119 RegCreateKeyEx 建立關鍵字  No Yes Yes
1120 RegDeleteKey 刪除關鍵字  No Yes Yes
1121 RegDeleteValue 從登錄關鍵字中刪除一個值  No Yes Yes
1122 RegEnumKey 列舉指定關鍵字的子關鍵字  No Yes Yes
1123 RegEnumKeyEx 列舉指定關鍵字的子關鍵字  No Yes Yes
1124 RegEnumValue 列舉指定關鍵字的值  No Yes Yes
1125 RegFlushKey 寫入關鍵字  No Yes Yes
1126 RegGetKeySecurity 獲取登錄關鍵安全屬性  No Yes Yes
1127 RegLoadKey 登記關鍵字和子關鍵字  No Yes Yes
1128 RegNotifyChangeKeyValue 顯示登記關鍵字的變化  No Yes Yes
1129 RegOpenKey 打開關鍵字  No Yes Yes
1130 RegOpenKeyEx 打開關鍵字  No Yes Yes
1131 RegQueryInfoKey 返回登錄字信息  No Yes Yes
1132 RegQueryValue 返回指定關鍵字名  No Yes Yes
1133 RegQueryValueEx 返回關鍵字的類型和值  No Yes Yes
1134 RegReplaceKey 更改關鍵字  No Yes Yes
1135 RegRestoreKey 登錄保存樹  No Yes Yes
1136 RegSaveKey 將登錄保存了的樹存入文件  No Yes Yes
1137 RegSetKeySecurity 設置登錄關鍵字的安全屬性  No Yes Yes
1138 RegSetValue 將文本字符串與指定關鍵字關聯  No Yes Yes
1139 RegSetValueEx 將文本字符串與指定關鍵字關聯  No Yes Yes
1140 RegUnLoadKey 從記錄中卸載關鍵字  No Yes Yes
1141 RegisterClass 註冊窗口類 "    函數功能:該函數爲隨後在調用Createwindow函數和CreatewindowEx函數中使用的窗口註冊一個窗口類。RegisterClass函數己經由函數RegisterClassEx函數來代替,但是,如果不需要設置類的小目標則仍然可以使用RegisterClass函數。

    函數原型:ATOM RegisterClass( CONST WNDCLASS *lpWndClass);

    參數:

    lpWndClass:指向一個WNDCLASS結構的指針。在將它傳遞給函數之前,必須在該結構中填充適當的類屬性。

    返回值:如果函數成功,返回值是唯一標識已註冊的類的一個原子;如果函數失敗,返回值爲0。若想獲得更多錯誤信息,請調用GetLastError函數。

    備註:如果使用RegisterClassA來註冊窗口,應用程序通知系統被註冊類的窗口的消息使用ANSI字符集的文本和字符參數;如果使用RegisterClassW來註冊窗口,應用程序需要系統以Unicode來傳遞消息的文本參數。lsWindowUnicode函數使應用程序可以查詢每一個窗口的字符特徵。參看Win32API中的ANSI和Unicode

    函數,請查閱Functiont prototype。

    應用程序註冊的所有的窗口類在應用程序中止後都爲未註冊的類。

    Windows 95:所有由DLL註冊的類在DLL卸載後均未註冊的類。

    Windows NT:所有由DLL註冊的類在DLL卸載後仍爲已註冊的類。

    Windows 95:如果WNDCLASSEX結構中的cbWndExtra或cbClsExtra單元包含字節數超過40個字節,則RegisterClassEx將失敗。

    Windows CE:由lpWndClass參數指向的WNDCLAS結構不支持lpszMenuName域,因爲WindowsCE不支持缺省菜單。

    除非使用了WindowsCE的lconcurs組件(這個組件提供了在適當目標平臺上的鼠標支持),否則不能使用由lpWndClass指向的WNDCLASS結構中的hCursor域。

    速查:Windows NT:3.1以上版本;Windows:95以上版本:WindowsCE:1.0以上版本;頭文件:Winuser.h;庫文件:user32.lib;Unicode:在Windows NT上實現爲Unicodee和ANSI兩種版本。

" No Yes Yes
1142 RegisterClassEx 註冊一個窗口類 "    函數功能:該函數爲隨後在調用Createwindow函數和CreatewindowEx函數中使用的窗口註冊一個窗口類。

    函數原型:ATOM RegisterClassEx(CONST WNDCLASSEX *lpwcx);

    參數:

    lpwcx:指向一個WNDCLASSEX結構的指針。在傳遞給這個函數之前,必須在結構內填充適當的類的屬性返回值:如果函數成功,返回值是唯一識別被註冊類的一個原於;如果函數失敗,返回值爲0。若想獲得更多錯誤信息,請調用callGetLastError函數。

    備註:如果使用RegisterClassEx來註冊窗口類,應用程序通知系統被註冊類的窗回的消息使用ANSI字符集的文本和字符參數;如果使用RegisterClassExW來註冊窗口類,應用程序需要系統以Unicode來傳遞消息的文本參數。IsWindowUnicode函數使應用程序可以查詢每一個窗口的字符特徵。參看 Win32 API中的ANSI和Unicode函數,請查閱 Functiont prototype(函數原型)。

    應用程序註冊的所有的窗口類在應用程序中止後都爲未註冊的類。

    Windows 95:所有由DLL註冊的類在DLL卸載後均未註冊的類。

    Windows NT:所有由DLL註冊的類在DLL卸載後仍爲已註冊的類。

    Windows 95:如果WNDCLASSEX結構中的cbWndEXtra或cbCIsEXtra單元包含字節數超過40個字節,則RegisterClassEx將失敗。

    速查:Windows NT:4.0以上版本;Windows:95以上版本;Windows CE:不支持:頭文件:winuser.h;庫文件:user32.lib; Unicode:在 Windows NT上實現爲 Unicode和 ANSI兩種版本。

" No Yes Yes
1143 RegisterClipboardFormat 登記新的CLIPBOARD格式  Yes Yes Yes
1144 RegisterEventSource 返回登記的事件記錄句柄  No Yes Yes
1145 RegisterHotKey 定義一個系統範圍的熱鍵 "    函數功能:該函數定義一個系統範圍的熱鍵。

    函數原型:BOOL RegisterHotKey(HWND hWnd, int id, UINT fsModifiers, UINT vk);

    參數:

    hWnd:接收熱鍵產生WM_HOTKEY消息的窗口句柄。若該參數NULL,傳遞給調用線程的WM_HOTKEY消息必須在消息循環中中進行處理。

    id:定義熱鍵的標識符。調用線程中的其他熱鍵不能使用同樣的標識符。應用功能程序必須定義一個0X0000-0xBFFF範圍的值。一個共享的動態鏈接庫(DLL)必須定義一個0xC000-0xFFFF範圍的值伯GlobalAddAtom函數返回該範圍)。爲了避免與其他動態鏈接庫定義的熱鍵衝突,一個DLL必須使用GlobalAddAtom函數獲得熱鍵的標識符。

    fsModifoers:定義爲了產生WM_HOTKEY消息而必須與由nVirtKey參數定義的鍵一起按下的鍵。該參數可以是如下值的組合:

    MOD_ALT:按下的可以是任一Alt鍵。MOD_CONTROL:按下的可以是任一Ctrl鍵。

    MOD_SHIFT:按下的可以是任一Shift鍵。

    MOD_WIN:按下的可以是任一Windows按鍵。這些鍵可以用Microsoft Windows日誌記錄下來。

    vk:定義熱鍵的虛擬鍵碼。

    返回值:若函數調用成功,返回一個非O值。若函數調用失敗,則返回值爲0。若要獲得更多的錯誤信息,可以調用GetLastError函數。

    備註:當某鍵被接下時,系統在所有的熱鍵中尋找匹配者。一旦找到一個匹配的熱鍵,系統將把WM_HOTKEY消息傳遞給登記了該熱鍵的線程的消息隊列。該消息被傳送到隊列頭部,因此它將在下一輪消息循環中被移去。該函數不能將熱鍵同其他線程創建的窗口關聯起來。

    若爲一熱鍵定義的擊鍵己被其他熱鍵所定義,則RegisterHotKey函數調用失敗。

    若hWnd參數標識的窗口已用與id參數定義的相同的標識符登記了一個熱鍵,則參數fsModifiers和vk的新值將替代這些參數先前定義的值。

    Windows CE:Windows CE 2.0以上版本對於參數fsModifiers支持一個附加的標誌位。叫做MOD_KEYUP。

    若設置MOD_KEYUP位,則當發生鍵被按下或被彈起的事件時,窗口將發送WM_HOTKEY消息。

    RegisterHotKey可以被用來在線程之間登記熱鍵。

    速查:Windows NT:3.1及以上版本;Windows:95及以上版本;Windows CE:不支持;頭文件:winuser.h;庫文件:user32.lib。

" No Yes Yes
1146 RegisterServiceCtrlHandler 登記服務控制請求句柄  No Yes Yes
1147 RegisterWindowMessage 定義新的窗口消息  Yes Yes Yes
1148 ReleaseCapture 釋放鼠標捕獲 "    函數功能:該函數從當前線程中的窗口釋放鼠標捕獲,並恢復通常的鼠標輸入處理。捕獲鼠標的窗口接收所有的鼠標輸入(無論光標的位置在哪裏),除非點擊鼠標鍵時,光標熱點在另一個線程的窗口中。

    函數原型:BOOL ReleaseCapture(VOID);

    參數:無。

    返回值:如果函數調用成功,返回非零值;如果函數調用失敗,返回值是零。若想獲得更多的錯誤信息,請調用GetlastError函數。

    備註:應用程序在調用函數SetCaPture之後調用此函數。

    Windows 95:調用ReleaseCapture會引起失去鼠標捕獲的窗日接收一個WM_CAPTURECHANGED消息。

    速查:WindowsNT:3.1及以上版本;Windows:95及以上版本:WindowsCE:1.0及以上版本;頭文件:winuser.h;輸入庫:User32.lib。

" Yes Yes Yes
1149 ReleaseDC 釋放設備描述表  Yes Yes Yes
1150 ReleaseMutex 釋放公制對象  No Yes Yes
1151 ReleaseSemaphore 釋放信號量對象  No Yes Yes
1152 RemoveDirectory 刪除目錄  No Yes Yes
1153 RemoveFontResource 刪除字體資源  Yes Yes Yes
1154 RemoveMenu 刪除菜單項和彈出式菜單 "    函數功能:該函數從指定菜單刪除一個菜單項或分離一個子菜單。如果菜單項打開一個下拉式菜單或子菜單,RemoveMenu不消毀該菜單或其句柄,允許菜單被重用。在調用此函數前,函數GetSubMenu應當取得下拉式菜單或子菜單的句柄。

    函數原型:BOOL RemoveMenu(HMENU hMenu, UINT uPosition, UINT uFlgs);

    參數:

    hMenu:將被修改的菜單的句柄。

    UPosition:指定將被刪除的菜單項,其含義由參數uFlages決定。

    uFlags:指定參數uPosition如何解釋。此參數必須爲下列之一值:

    MF_BYCOMMAND:表示uPositon給出菜單項的標識符。如果MF_BYCOMMAND和MF_BYPOSITION都沒被指定,則MF_BYCOMMAND是缺省標誌。

    u_BYPOSITION:表示uPositon給出菜單項相對於零的位置。

    返回值:如果函數調用成功,返回非零值;如果函數調用失敗,返回值是零。若想獲得更多的錯誤信息,請調用GetLastError函數。

    備註:只要一個菜單被修改,無論它是否在顯示窗口裏,應用程序都必須調用函數DrawMenuBar。

    速查:WindowsNT:3.1及以上版本;Windows:95及以上版本;WindowsCE:1.0及以上版本;頭文件:winuser.h;輸入庫:user32.lib。

" Yes Yes Yes
1155 RemoveProp 從指定的窗口的屬性表中刪除一項 "    函數功能:該函數從指定的窗口的屬性表中刪除一項。指定的字符串標識了要刪除的項。

    函數原型:HANDLE RemoveProp(HWND hWnd, LPCTSTR lpString);

    參數:

    hWnd:指向要改變屬性項的窗口的句柄。

    lpString:指向以null結尾的字符串指針,或者包含一個標識字符串的原子。如果該參數是一個原子,那麼它必須是使用AddAtom函數創建的。原子是16位的數據值,它必須是放置在lpString參數的低位字中,

    而高位率必須爲0。

    返回值:返回值標識了指定的字符串。如果該串無法在指定的屬性表中發現,那麼返回值爲NULL。

    備註:應用程序必須釋放與從屬性表中清除的項相關的數據句柄。應用程序只能清除它加入的那些屬性它不能清除其他應用程序或系統本身加入的屬性。

    RemoveProp函數返回與該字符串相關的數據句柄,這樣應用程序就可以釋放與該句柄相關的數據。

    速查:Windows NT:3.1以上版本;Windows:95以上版本;Windows CE:不支持;頭文件:winuser.h;文件:user32.lib;Unicode:在Windows NT環境中以Unicode和ANSI版本實現。

" Yes Yes Yes
1156 ReplaceText 建立替代文本對話框 "    函數功能。該函數創建一個系統定義的無模式對話框,此對話框使用戶查找或替代一個串,或執行控制和替代操作。

    函數原型:HWND ReplaceText(LPFINDREPLACE lpfr);

    參數:

    lpfr:指向一個包含初始化對話框的信息的FINDREPLACE結構。對話框應用此結構把用戶輸入的有關信息傳送到應用程序。有關更多的信息,見卜列說明部分。

    返回值:如果函數調用成功,返回值爲對話框的窗口句柄,可以用窗口句柄與對話框聯繫或關閉它。如果函數調用失敗,返回值爲NULL。若想獲得更多的錯誤信息,調用CommDlgExError函數,其返回值如下:

    CDERR_FINDRESFAILURE CDERR_MEMLOCKFAILURE

    CDERR_INITIALIZATION COERR_NOHINSTANCE

    CDERR_LOADRESFAILURE CDERR_NOHOOK

    CDERR_LOADSTRFAILURE CDERR_BITEMPLATE

    CDERR_LOCKRESFAILURE CDERR_STRUCTSIZE

    CDERR_MEMALLOCFAILURE FRERR_BUFFERLENGTHZERO

    備註:PepIACE Text函數不執行文本替代操作。相反,對話框把FINDSGSTRING 已登記的信息傳送到對話框窗口的窗口函數。當創建對話框時,FINDREPLACE結構的hwndowner成員指定該對話框窗口。

    調用ReplaceText函數之前,必須調用RegisterWindowMessage函數爲FINDSGSTRING信息登記標識。

    當用戶擊點Find Next,Replace ALL按鈕時,或當關閉對話框時,對話框函數應用這些標識發送信息。

    FINDMSGSTRING信息中的IParam參數含有一個指向FINDREPLACE結構的指針。此結構的Flags成員表明了形式信息的事件。該結構中其他的成員表明用戶的輸入信息。

    如果創建了Replace對話框,必須應用應用程序信息鏈中的IsDialogMesssage函數來保證對話框能正確處理鏈盤輸入信息,例如Tab鍵和Esc鍵。

    ISDialogMessage函數返回值表明Replace對話框是否處理信息。

    可以爲Replace對話樞提供一個FRHookProc掛鉤函數,此掛鉤函數能處理髮送到對話框中的信息。

    爲使一個掛鉤函數生效,可設置FINDREPLACE結構中Flags成員的FR_ENABLEHOOK標誌且指定IpfnHook成員中掛鉤函數的地址。

    速查:Windows NT:3.1及以上版本;Windows:95及以上版本;Windows CE:不支持;頭文件:commdlg.h;庫文件:comdlg32.lib:Unicode:在Windows NT環境中實現爲Unicode和ANSI兩個版本。

" No Yes Yes
1157 ReplyMessage 響應通過SENDMESSAGE發送的消息 "    函數功能:該函數用於應答由函數SendMessage發送的消息,不返回控制給調用SendMessage的函數。

    函數原型:BOOL ReplyMessage(LRESULT LResult);

    參數:

    LResult:指定消息處理的結果。可能的值由所發送的消息確定。

    返回值:如果調用線程正處理從其他線程或進程發送的消息,返回非零值。如果調用線程不是正處理從其他線程或進程發送的消息,返回值是零。

    備註:調用此函數,接收消息的窗口程序允許調用SendMessage的線程繼續運行,儘管接收消息的線程已返回控制。調用ReplyMessage的線程也繼續運行。

    如果消息不是通過SendMessage發送的,或者消息由同一個線程發送,ReplyMessage不起作用。

    速查:Windows NT:3.1及以上版本;Windows:95及以上版本:Windows CE:不支持:頭文件:winuser.h;輸入庫,user32.lib。

" Yes Yes Yes
1158 ReportEvent 寫入事件記錄項目  No Yes Yes
1159 ResetDC 更新設備描述表  No Yes Yes
1160 ResetEvent 復位事件對象  No Yes Yes
1161 ResetPrinter 設置打印數據類型和設備模式值  No Yes Yes
1162 ResizePalette 修改邏輯調色板大小  Yes Yes Yes
1163 RestoreDC 恢復設備描述表  Yes Yes Yes
1164 ResumeThread 開始暫停的線索  No Yes Yes
1165 ReuseDDElParam 重利用DDE消息IPARAM  No Yes Yes
1166 RevertToSelf 停止模擬  No Yes Yes
1167 RoundRect 畫圓角矩形  Yes Yes Yes
1168 SHAppBarMessage 設置任務欄消息  No Yes Yes
1169 SHFileOperation 執行系統文件對象的操作  No Yes Yes
1170 SHFreeNameMappings 釋放文件名映像對象  No Yes Yes
1171 SHGetFileInfo 獲取工作臺外殼文件夾界面  No Yes Yes
1172 SHGetNewLinkInfo   No Yes Yes
1173 SaveDC 保存設備描述表  Yes Yes Yes
1174 ScaleViewportExtEx 調整視口大小  Yes Yes Yes
1175 ScaleWindowExtEx 調整窗口大小  Yes Yes Yes
1176 ScheduleJob 調度作業  No Yes Yes
1177 ScreenToClient 將屏幕點轉換爲客戶座標  Yes Yes Yes
1178 ScrollConsoleScreenBuffer 滾動屏幕緩衝區中的數據  No Yes Yes
1179 ScrollDC 水平或垂直移動矩形 "    函數功能:該函數水平和垂直滾動一個位矩形。

    函數原型:BOOL ScrollDC(
                HDC hDC,                // handle of device context
                int dx,                 // horizontal scroll units
                int dy,                 // vertical scroll units
                CONST RECT *lprcScroll, // address of structure for scrolling rectangle
                CONST RECT *lprcClip,   // address of structure for clipping rectangle
                HRGN hrgnUpdate,        // handle of scrolling region
                LPRECT lprcUpdate       // address of structure for update rectangle
               );

    參數:

    hDC:含有要滾動位數的設備描述表句柄。

    dx:在設備單元中,指定水平滾動數量。在向左滾動時此參數必須爲負。

    dy:在設備單元中,指定垂直滾動數量。在向上滾動時此參數必須爲負。

    lprcScroll:指向包含與滾動矩形的同等之物的RECT結構。

    lprcClip:指向包含類似於剪下矩形之物的RECT結構。只有在剪輯矩形內部的圖案才受影響。

    hrgnUpdate:處理滾動過程中位覆蓋的區域。ScrollDC定義這個區域,它不一定是一個矩形。

    lprcUpdate:指向RECT結構,它接收到類似於被限制滾動更新區域矩形之物。這是所需求重畫的最大的矩形區域。當函數返回時,不管指定設備內容映射的模式如何,結構中的值將在客戶端對應結構中。

    返回值:如果函數運行成功,返回值爲非零;如果函數運行失敗,返回值爲零。若想獲得更多的錯誤信息,請調用GetLastError函數。

    注意:如果參數lprcUpdate爲空,系統將不再計算更新矩形。如果參數hrgnUpdate和IprcUpdate均爲空,系統將不再計算更新區域。如果參數hrgnUpdate不爲空,系統將好像擁有包含一個有效的未被滾動過程覆蓋區域旬柄(由ScrollDC定義滾動過程)。當必須滾動窗體的整個客戶區域,使用ScrollWindowEx函數。

    Windows CE:參數dx和dy中只有一個可以爲非零。

    速查:Windows NT 3.1、Windows 95、windows CE1.0對以上,頭文件:winuser.h;庫文件:user32.lib。

" Yes Yes Yes
1180 ScrollWindow 移動窗口客戶區 "    函數功能:該函數滾動所指定的窗體客戶區域內容。函數提供了向後兼容性,新的應用程序應使用ScrollWindowEX。

    函數原型:BOOL ScrollWindow(
                HWND hWnd,              // handle of window to scroll
                int XAmount,            // amount of horizontal scrolling
                int YAmount,            // amount of vertical scrolling
                CONST RECT *lpRect,     // address of structure with scroll rectangle
                CONST RECT *lpClipRect  // address of structure with clip rectangle
               ); 

    參數:

    hWnd:客戶區域將被滾動的窗體句柄。

    XAmount:指定水平滾動以設備爲單位的數量。如果窗體被滾動模式爲CS_OWNDC或CS_CLASSDC,此參數則使用邏輯單位而不使用設備單位。當向左滾動窗體內容時,參數值必須爲負。

    YAmount:指定垂直滾動設備單位數量。如果窗體被滾動模式爲CS_OWNDC或CS_CLASSDC,此參數則使用邏輯單位而不使用設備單位。當向上滾動窗體內容時,參數值必須爲負。

    lpRect:指向所指定將被滾動的客戶區域部分的RECT結構。若此參數爲NULL,則整個客戶區域均被滾動。

    lpClipRect:指向包含類似於剪輯滾動條RECT結構。只有剪輯矩形條內部的位受影響。由外向內的滾動矩形內部被着色,而由矩形內向外的滾動將不被着色。

    返回值:如果函數運行成功,返回值爲非零;如果函數運行失敗,返回值爲零。若想獲得更多的錯誤信息,請調用GetLastError函數。

    注意:如果在被滾動的窗體中由^符,滾動富體將自動隱藏起^符,以防止它被擦掉;當滾動結束後再恢復^符。^符的位置因而被調整過來。

    未被ScrollWindow覆蓋的區域不再被重畫,但它組合成窗體的更新區域。應用程序最終最終受到 WM_PAINT的消息,通知它區域必須被重畫。爲了在滾動過程的同時重畫未覆蓋區域,則應在調用ScrollWindow函數後馬上調用UpdateWindow函數。

    如果參數lpRect爲空,則窗體中的任何子窗體的位置由參數XAmount和Yamount種的數量決定偏移;窗體無效(未着色)的區域也進行偏移。IpRect爲空時ScrollWindow則更快。

    如果參數lpRect不爲空,則窗體中的子窗體的位置不改變,窗體中無效(未着色)的區域也不進行偏移。爲了防止lpRect不爲空時更新的問題,則在調用ScrollWindow之前先調用UpdateWindow函數重窗體。

    速查:Windows NT 3.1、Windows 95以上,頭文件:winuser.h;庫文件:user32.lib。

" Yes Yes Yes
1181 ScrollWindowEx 移動窗口客戶區 "    函數功能:該函數滾動指定窗體客戶區域的目錄。

    函數原型:int ScrollWindowEx(
                HWND hWnd,              // handle of window to scroll
                int dx,                 // amount of horizontal scrolling
                int dy,                 // amount of vertical scrolling
                CONST RECT *prcScroll,  // address of structure with scroll rectangle
                CONST RECT *prcClip,    // address of structure with clip rectangle
                HRGN hrgnUpdate,        // handle of update region
                LPRECT prcUpdate,       // address of structure for update rectangle
                UINT flags              // scrolling flags
               ); 


    參數:

    hWnd:客戶區域將被滾動的窗體句柄。

    dx:在設備單元中,指定水平滾動數量。在向左滾動時此參數必須爲負。

    dy:在設備單元中,指定垂直滾動數量。在向上滾動時此參數必須爲負。

    prcScroll:指向RECT結構,它指定了將被滾動的客戶區域部分。

    prcClip:指向包含了類似於被剪下矩形的RECT結構。只有在剪下內部的小塊圖形才受影響。從矩形外向內部的滾動部分將被着色;而從內向外的滾動部分將不再被着色。

    hrgnUpdate:處理已被修改的區域,保存這些由於滾動而無效的區域。此參數可以爲空。

    prcUpdate:指向RECT結構,它接收由於滾動使得矩形無效部分的邊界。此參數值可以爲空。

    flags:指定控制滾動的標誌。這個參數可以是下面的值:

    SW_ERASE:通過發送WM_ERASEBKGND消息給窗體。

    SW_INVALIDATE:在滾動後,使得由參數hrgnUpdate標識的無效區域被擦除。

    SW_SCROLLCHILDREN:動所有由參數prcScroll指出交叉重疊矩形的子窗體。子窗體按照dx和dy規定的像素個數滾動。系統發送消息給所有由prcScroll指出交叉重疊矩形的子窗體,即使他們不移動。

    SW_SMOOTHSCROLL:Windows NT 5.0或以上版本中:使用平滑滾動。利用flags參數中HIWORD部分簡要說明所需平滑滾動操作的時間。

    返回值:如果函數運行成功,返回值爲SIMPLEREGION(矩形的無效區域),COMPLEXREGION(非矩形的無效區域)或NULLREGION(沒有使無效的區域)如果函數運行成功,返回值爲ERROR。若想獲得更多的錯誤信息,請調用GetLastError函數。

    注意:如果SW_INVALIDATE和SW_ERASE標誌沒有被設定,那麼函數ScrollWindowEx不能使滾動離開的區域失效。如果其中任意一個標誌被設置,ScrollWindowEx函數就可以使區域無效。這塊區域將不再被更新直到應用程序調用theUpdateWindow函數,調用theRedrawWindow函數(指定RDW_UPDATENOW或RDW_ERASENOW標誌)或是從申請隊列中找到WM_PAINT消息。

    如果窗體擁有WS_CLIPCHILDREN類型,那麼由hrgnUpdate和prcUpdate指定的返回區域描述了必須更新的滾動窗體的全部區域,包括所需更新子窗體的任何區域。

    若SW_SCROLLCHILDREN標誌被設置,在子窗體被滾動時,系統將不能完全更新屏幕。位於矩形外邊的滾動子窗體部分不被擦除,也不在它的新方向上被重畫。爲了移動子窗體使之完全不在prcScroll指定的矩形條中,可使用DeferWindowPos函數。若標誌SW_SCROLLCHILDREN被設置並且^符號交叉滾動矩形,則光標也重新設置。

    所有輸入輸出均被定義爲客戶端如果有必要,使用IptoDP和dptoLP函數轉換邏輯相關性。

    Windows CE:參數flags不支持SW_SCROLLCHILDREN。參數dx和dy中只有一個爲零。

    速查:Windows NT 3.1、Windows 95、Windows CE 1.0以上,頭文件:winuser.h;庫文件:user32.lib。

" Yes Yes Yes
1182 SearchPath 查找文件  No Yes Yes
1183 SelectClipPath 選定當前路徑爲剪輯區域  No Yes Yes
1184 SelectClipRgn 選定剪輯區域  Yes Yes Yes
1185 SelectObject 選定對象  Yes Yes Yes
1186 SelectPalette 選定調色板  Yes Yes Yes
1187 SendDlgItemMessage 向對話框控件發送消息 "    函數功能:該函數把一個消息發送給指定的對話框中的控制。

    函數原型:LONG SendDlgItemMessage(
                HWND hDlg,      // handle of dialog box
                int nIDDlgItem, // identifier of control
                UINT Msg,       // message to send
                WPARAM wParam,  // first message parameter
                LPARAM lParam   // second message parameter
               );

    參數:

    hDlg:指定含有控制的對話框。

    nIDDigItem:指定接收消息的控制的標識符。

    Msg:指定將被髮送的消息。

    wParam:指定消息特定的其他信息。

    lParam:指定消息特定的其他信息。

    返回值:返回值指定消息處理的結果,且依賴於發送的消息。

    備註:SendDlgItemMessage函數直到消息已經被處理時才返回。

    使用SendDlgItemMessage函數同從一個指定的控制中檢索句柄和調用SendMessagge函數一樣。

    速查:WindowsNT:3.1及以上版本;Windows:95及以上版本;WindowsCE:1.0及以上版本;頭文件:winuser.h;庫文件:user32.lib Unicode:在Windows NT上實現爲Unicode和ANSI兩種版本。

" Yes Yes Yes
1188 SendDriverMessage 向可安裝驅動程序發送消息  Yes Yes Yes
1189 SendMessage 向窗口進程發送消息 "    函數功能:該函數將指定的消息發送到一個或多個窗口。此函數爲指定的窗口調用窗口程序,直到窗口程序處理完消息再返回。而函數PostMessage不同,將一個消息寄送到一個線程的消息隊列後立即返回。

    函數原型:LRESULT SendMessage(
                HWND hWnd,      // handle of destination window
                UINT Msg,       // message to send
                WPARAM wParam,  // first message parameter
                LPARAM lParam   // second message parameter
               );

    參數:

    hWnd:其窗口程序將接收消息的窗口的句柄。如果此參數爲HWND_BROADCAST,則消息將被髮送到系統中所有頂層窗口,包括無效或不可見的非自身擁有的窗口、被覆蓋的窗口和彈出式窗口,但消息不被髮送到子窗口。

    Msg:指定被髮送的消息。

    wParam:指定附加的消息指定信息。

    lParam:指定附加的消息指定信息。

    返回值:返回值指定消息處理的結果,依賴於所發送的消息。

    備註:需要用HWND_BROADCAST通信的應用程序應當使用函數RegisterWindowMessage來爲應用程序間的通信取得一個唯一的消息。

    如果指定的窗口是由調用線程創建的,則窗口程序立即作爲子程序調用。如果指定的窗口是由不同線程創建的,則系統切換到該線程並調用恰當的窗口程序。線程間的消息只有在線程執行消息檢索代碼時才被處理。發送線程被阻塞直到接收線程處理完消息爲止。

    Windows CE:Windows CE不支持Windows桌面平臺支持的所有消息。使用SendMesssge之前,要檢查發送的消息是否被支持。

    速查:Windows NT:3.1及以上版本:Windows:95及以上版本;Windows CE:1.0及以上版本;頭文件:winuser.h;輸入庫:user32.lib;Unicode:在Windows NT環境下以Unicode和ANSI方式實現。

" Yes Yes Yes
1190 SendMessageCallback 向窗口進程發送消息 "    函數功能:該函數將指定的消息發送到一個或多個窗口。此函數爲指定的窗口調用窗口程序,並立即返回。當窗口程序處理完消息後,系統調用指定的回調函數,將消息處理的結果和一個應用程序定義的值傳給回調函數。

    函數原型:BOOL SendMessageCallback(
               HWND hWnd,                       // handle of destination window
               UINT Msg,                        // message to send
               WPARAM wParam,                   // first message parameter
               LPARAM lParam,                   // second message parameter
               SENDASYNCPROC lpResultCallBack,  // function to receive message value
               DWORD dwData                     // value to pass to callback function
              );

    參數:

    hWnd:其窗口程序將接收消息的窗口的句柄。如果此參數爲HWND_BROADCAST,則消息將被髮送到系統中所有頂層窗口,包括無效或不可見的非自身擁有的窗口、被覆蓋的窗口和彈出式窗口,但消息不被髮送到子窗口。

    Msg:指定被髮送的消息。

    wParam:指定附加的消息指定信息。

    lParam:指定附加的消息指定信息。

    lpResultCallBack:指向回收函數的指針,窗曰程序處理完消息後調用該回調函數。參見SendAsyncProc可得到合適的回調函數的信息。如果hwnd爲HWND_BROADCAST,系統爲每個頂層窗口調用一次SendASyncProc回調函數。

    dwData:一個應用程序定義的值,被傳給由參數lpResultCallBack指向的回調函數。

    返回值:如果函數調用成功,返回非零值。如果函數調用失敗,返回值是零。若想獲得更多的錯誤信息,請調用GetLastError函數。

    備註:如果發送一個低於WM_USER範圍的消息給異步消息函數(PostMessage,SendNotifyMesssge;SendMessageCallback),消息參數不能包含指針。否則,操作將會失敗。函數將在接收線程處理消息之前返回,發送者將在內存被使用之前釋放。

    需要以HWND_BROADCAST方式通信的應用程序應當用函數RegisterWindwosMessage來獲得應用程序間通信的獨特的消息。

    此回調函數僅當調用SendMessagecallback的線程調用GetMessage,PeekMessage或WaitMessage時調用。

    速查:Windows NT:3.1及以上版本;Windows:95及以上版本;Windows CE:不支持;頭文件:winuser.h;輸入庫:user32.lib;Unicode:在Windows NT環境下以Unicode和ANSI方式實現。

" No Yes Yes
1191 SendMessageTimeout 向窗口進程發送消息 "    函數功能:該函數將指定的消息發送到一個或多個窗口。此函數爲指定的窗口調用窗口程序,並且,如果指定的窗口屬於不同的線程,直到窗口程序處理完消息或指定的超時週期結束函數才返回。如果接收消息的窗口和當前線程屬於同一個隊列,窗口程序立即調用,超時值無用。

    函數原型:LRESULT SendMessageTimeout(
               HWND hWnd,               // handle of destination window
               UINT Msg,                // message to send
               WPARAM wParam,           // first message parameter
               LPARAM lParam,           // second message parameter
               UINT fuFlags,            // how to send the message
               UINT uTimeout,           // time-out duration
               LPDWORD lpdwResult       // return value for synchronous call
              );

    參數:

    hWnd:其窗口程序將接收消息的窗口的句柄。如果此參數爲HWND_BROADCAST,則消息將被髮送到系統中所有頂層窗口,包括無效或不可見的非自身擁有的窗口。

    Msg:指定被髮送的消息。

    wParam:指定附加的消息指定信息。

    lParam:指定附加的消息指定信息。

    fuFlags;指定如何發送消息。此參數可爲下列值的組合:

    SMTO_ABORTIFHUNG:如果接收進程處於“hung”狀態,不等待超時週期結束就返回。

    SMTO_BLOCK:阻止調用線程處理其他任何請求,直到函數返回。

    SMTO_NORMAL:調用線程等待函數返回時,不被阻止處理其他請求。

    SMTO_ONTIMEOUTIFNOTHUNG:Windows 95及更高版本:如果接收線程沒被掛起,當超時週期結束時不返回。

    uTimeout:爲超時週期指定以毫秒爲單位的持續時間。如果該消息是一個廣播消息,每個窗口可使用全超時週期。例如,如果指定5秒的超時週期,有3個頂層窗回未能處理消息,可以有最多15秒的延遲。

    lpdwResult:指定消息處理的結果,依賴於所發送的消息。

    返回值:如果函數調用成功,返回非零值。如果函數調用失敗,或超時,返回值是零。若想獲得更多的錯誤信息,請調用GetLastError函數。如果GetLastError返回零,表明函數超時。如果使用HWND_BROADCAST,SenddMessaggTimeout不提供單個窗口超時信息。

    速查: Windows NT:3.1及以上版本;Windows:95及以上版本;Windows CE:不支持;頭文件:winuser.h;輸入庫:user32.lib;Unicode:在Windows NT環境下以Unicode和ANSI方式實現。

" No Yes Yes
1192 SendNotifyMessage 向窗口進程發送消息 "    函數功能:該函數將指定的消息發送到一個窗口。如果該窗口是由調用線程創建的;此函數爲該窗口調用窗口程序,並等待窗口程序處理完消息後再返回。如果該窗口是由不同的線程創建的,此函數將消息傳給該窗口程序,並立即返回,不等待窗口程序處理完消息。

    函數原型:BOOL SendNotifyMessage(
               HWND hWnd,         // handle of destination window
               UINT Msg,          // message to send
               WPARAM wParam,     // first message parameter
               LPARAM lParam      // second message parameter
              );

    參數:

    hWnd:其窗口程序將接收消息的窗口的句柄。如果此參數爲HWND_BROADCAST,則消息將被髮送到系統中所有頂層窗口,包括無效或不可見的非自身擁有的窗口、被覆蓋的窗口和彈出式窗口,但消息不被髮送到子窗口。

    Msg:指定被髮送的消息。

    wParam:指定附加的消息指定信息。

    lParam:指定附加的消息指定信息。

    返回值:如果函數調用成功,返回非零值;如果函數調用失敗,返回值是零。若想獲得更多的錯誤信息,請調用GetLastError函數。

    備註:如果發送一個低於WM_USER範圍的消息給異步消息函數(PostMessage,SendNotifyMessage,SendMesssgeCallback),消息參數不能包含指針。否則,操作將會失敗。函數將在接收線程處理消息之前返回,發送者將在內存被使用之前釋放。

    需要以HWND_BROADCAST方式通信的應用程序應當用函數RegisterWindwosMessage來獲得應用程序間通信的獨特的消息。

    速查:WindowsNT:3.1及以上版本;Windows:95及以上版本;WindowsCE:1.0及以上版本;頭文件:winuser.h;輸入庫:user32.lib;Unicode:在Windows NT環境下以Uncode和ANSI方式實現。

" No Yes Yes
1193 SetAbortProc 設備打印作業的放棄函數  No Yes Yes
1194 SetAclInformation 設備ACL信息  No Yes Yes
1195 SetActiveWindow 激活一個窗口 "    函數功能:該函數激活一個窗口。該窗口必須與調用線程的消息隊列相關聯。

    函數原型:HWND SetActiveWindow(
               HWND hWnd         // handle of window to activate
              );

    參數:

    hWnd:將被激活的最頂層窗口。

    返回值:若函數調用成功,則返回原先活動窗口的句柄。若函數調用失敗,則返回值爲NULL。若要獲得更多錯誤信息,可以調用GetLastError函數。

    備註:SetActiveWindow函數激活一個窗口,但當應用程序處於後臺時,將不激活指定窗口。當應用程序激活窗口時處於前臺,則窗口將被放到前臺。

    若hWnd參數指定的窗口是被調用線程創建的,調用線程的活動窗口的狀態將被設置到hWnd中。否則,調用線程的活動窗口的狀態被設爲NULL。

    從另一方面講,SetForegroundWindow窗口函數激活一個窗口並將其強制爲前臺的。當應用程序要顯示關鍵錯誤或需要用戶立即注意的信息時,應只能調用SetForegroundWindow函數。

    使用AttachThreadInput函數可將一個線程的輸人處理連接到其他線程。這使得調用SetActiveWindow函數的線程可以激活與其他線程的消息隊列相關的窗口。

    速查:WindowsNT:3.1及以上版本;Windows:95及以上版本;WindowsCE:1.0及以上版本;頭文件:winuser.h;庫文件:user32.lib。

" Yes Yes Yes
1196 SetArcDirection 設置畫弧方向  No Yes Yes
1197 SetBitmapBits 設置位圖的值  Yes Yes Yes
1198 SetBitmapDimensionEx 設置位圖的寬和高  Yes Yes Yes
1199 SetBkColor 設置當前背景色  Yes Yes Yes
1200 SetBkMode 設置背景模式  Yes Yes Yes

發佈了29 篇原創文章 · 獲贊 4 · 訪問量 13萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章