這個是Seraph裡的協助解釋
SendWindowMessage(WindowID, MessageID, lParam, wParam)
向指定視窗發送一個訊息,這裡的MessageID指的是windows標準訊息常量,如果能夠靈活運用的話,相信以下的內容能給大家在寫指令碼時帶來些協助.
以下的內容就是windows標準訊息常量,貼出來方便大家尋找和學習,呵~
WM_NULL = &H0000;
WM_Create = &H0001;
應用程式建立一個視窗
WM_DESTROY = &H0002;
一個視窗被銷毀
WM_MOVE = &H0003;
移動一個視窗
WM_SIZE = &H0005;
改變一個視窗的大小
WM_ACTIVATE = &H0006;
一個視窗被啟用或失去啟用狀態;
WM_SETFOCUS = &H0007;
獲得焦點後
WM_KILLFOCUS = &H0008;
失去焦點
WM_ENABLE = &H000A;
改變enable狀態
WM_SETREDRAW = &H000B;
設定視窗是否能重畫
WM_SETTEXT = &H000C;
應用程式發送此訊息來設定一個視窗的文本
WM_GETTEXT = &H000D;
應用程 序發送此訊息來複製對應視窗的文本到緩衝區
WM_GETTEXTLENGTH = &H000E;
得到與一個視窗有關的文本的長 度(不包含Null 字元)
WM_PAINT = &H000F;
要求一個視窗重畫自己
WM_CLOSE = &H0010;
當一個視窗或應用程式要關閉時發送一個訊號
WM_QUERYENDSESSION = &H0011;
當 使用者選擇結束對話方塊或程式自己調用ExitWindows函數
WM_QUIT = &H0012;
用來結束程式運行或當程式調用 postquitmessage函數
WM_QUERYOPEN = &H0013;
當使用者視窗恢複以前的大小位置時,把此訊息 發送給某個表徵圖
WM_ERASEBKGND = &H0014;
當視窗背景必須被擦除時(例在視窗改變大小時)
WM_SYSCOLORCHANGE = &H0015;
當系統色彩改變時,發送此訊息給所有最上層視窗
WM_ENDSESSION = &H0016;
當 系統進程發出WM_QUERYENDSESSION訊息後,此訊息發送給應用程式,
通知它對話是否結束
WM_SYSTEMERROR = &H0017;
WM_SHOWWINDOW = &H0018;
當隱藏或顯示視窗是發送此訊息給這個視窗
WM_ACTIVATEAPP = &H001C;
發此訊息給應用程式哪個視窗是啟用的,哪個是非啟用的;
WM_FONTCHANGE = &H001D;
當系統的字型資源庫變化時發送此訊息給所有最上層視窗
WM_TIMECHANGE = &H001E;
當 系統的時間變化時發送此訊息給所有最上層視窗
WM_CANCELMODE = &H001F;
發送此訊息來取消某種進行中的摸態 (操作)
WM_SETCURSOR = &H0020;
如果滑鼠引起游標在某個視窗中移動且滑鼠輸入沒有被捕獲時,就發訊息給某 個視窗
WM_MOUSEACTIVATE = &H0021;
當游標在某個非啟用的視窗中而使用者正按著滑鼠的某個鍵發送此訊息給 當前視窗
WM_CHILDACTIVATE = &H0022;
發送此訊息給MDI子視窗當使用者點擊此視窗的標題列,或當視窗被 啟用,移動,改變大小
WM_QUEUESYNC = &H0023;
此訊息由基於電腦的訓練程式發送,通過 WH_JOURNALPALYBACK的hook程式
分離出使用者輸入訊息
WM_GETMINMAXINFO = &H0024;
此 訊息發送給視窗當它將要改變大小或位置;
WM_PAINTICON = &H0026;
發送給已最小化的視窗當它表徵圖將要被重畫
WM_ICONERASEBKGND = &H0027;
此訊息發送給某個已最小化的視窗,僅當它在畫表徵圖前它的背景必須被重畫
WM_NEXTDLGCTL = &H0028;
發送此訊息給一個對話方塊程式去更改焦點位置
WM_SPOOLERSTATUS = &H002A;
每 當列印管理列隊增加或減少一條作業時發出此訊息
WM_DRAWITEM = &H002B;
當 button,combobox,listbox,menu的可視外觀改變時發送
此訊息給這些空件的所有者
WM_MEASUREITEM = &H002C;
當button, combo box, list box, list view control, or menu item 被建立時
發送此訊息給控制項的所有者
WM_DeleteITEM = &H002D;
當the list box 或 combo box 被銷毀 或 當 某些項被刪除通過LB_DeleteSTRING, LB_RESETCONTENT, CB_DeleteSTRING, or CB_RESETCONTENT 訊息
WM_VKEYTOITEM = &H002E;
此 訊息有一個LBS_WANTKEYBOARDINPUT風格的發出給它的所有者來響應WM_KEYDOWN訊息
WM_CHARTOITEM = &H002F;
此訊息由一個LBS_WANTKEYBOARDINPUT風格的列表框發送給他的所有者來響應WM_CHAR訊息
WM_SETFONT = &H0030;
當繪製文本時程式發送此訊息得到控制項要用的顏色
WM_GETFONT = &H0031;
應 用程式發送此訊息得到當前控制項繪製文本的字型
WM_SETHOTKEY = &H0032;
應用程式發送此訊息讓一個視窗與一個 熱鍵相關連
WM_GETHOTKEY = &H0033;
應用程式發送此訊息來判斷熱鍵與某個視窗是否有關聯
WM_QUERYDRAGICON = &H0037;
此訊息發送給已最小化的視窗,當此視窗將要被拖放而它的類中沒有定義表徵圖,應用程式能返回一個表徵圖或游標的控制代碼,當使用者拖放表徵圖時系統顯示這個表徵圖或游標
WM_COMPAREITEM = &H0039;
發送此訊息來判定combobox或 listbox新增加的項的相對位置
WM_GETOBJECT = &H003D;
WM_COMPACTING = &H0041;
顯示記憶體已經很少了
WM_WINDOWPOSCHANGING = &H0046;
發送此訊息給 那個視窗的大小和位置將要被改變時,來調用setwindowpos函數或其它視窗管理函數
WM_WINDOWPOSCHANGED = &H0047;
發送此訊息給那個視窗的大小和位置已經被改變時,來調用setwindowpos函數或其它視窗管理函數
WM_POWER = &H0048;(適用於16位的windows)
當系統將要進入暫停狀態時發送此訊息
WM_COPYDATA = &H004A;
當一個應用程式傳遞資料給另一個應用程式時發送此訊息
WM_CANCELJOURNAL = &H004B;
當某個使用者取消程式日誌啟用狀態,提交此訊息給程式
WM_NOTIFY = &H004E;
當某 個控制項的某個事件已經發生或這個控制項需要得到一些資訊時,發送此訊息給它的父視窗
WM_INPUTLANGCHANGEREQUEST = &H0050;
當使用者選擇某種輸入語言,或輸入語言的熱鍵改變
WM_INPUTLANGCHANGE = &H0051;
當平台現場已經被改變後發送此訊息給受影響的最最上層視窗
WM_TCARD = &H0052;
當 程式已經初始化windows協助常式時發送此訊息給應用程式
WM_HELP = &H0053;
此訊息顯示使用者按下了F1,如 果某個菜單是啟用的,就發送此訊息個此視窗關聯的菜單,否則就
發送給有焦點的視窗,如果當前都沒有焦點,就把此訊息發送給當前啟用的視窗
WM_USERCHANGED = &H0054;
當使用者已經登入或退出後發送此訊息給所有的視窗,當使用者登入或退出時系統更新使用者的具體
設定資訊,在使用者更 新設定時系統馬上發送此訊息;
WM_NOTIFYFORMAT = &H0055;
公用控制項,自訂控制項和他們的父視窗通過此消 息來判斷控制項是使用ANSI還是UNICODE結構
在WM_NOTIFY訊息,使用此控制項能使某個控制項與它的父控制項之間進行相互連信
WM_CONTEXTMENU = &H007B;
當使用者某個視窗中點擊了一下右鍵就發送此訊息給這個視窗
WM_STYLECHANGING = &H007C;
當調用SETWINDOWLONG函數將要改變一個或多個 視窗的風格時發送此訊息給那個視窗
WM_STYLECHANGED = &H007D;
當調用SETWINDOWLONG函數一個或多個 視窗的風格後發送此訊息給那個視窗
WM_DISPLAYCHANGE = &H007E;
當顯示器的解析度改變後發送此訊息給所有的視窗
WM_GETICON = &H007F;
此 訊息發送給某個視窗來返回與某個視窗有關連的大表徵圖或小表徵圖的控制代碼;
WM_SETICON = &H0080;
程式發送此訊息讓 一個新的大表徵圖或小表徵圖與某個視窗關聯;
WM_NCCreate = &H0081;
當某個視窗第一次被建立時,此訊息在 WM_Create訊息發送前發送;
WM_NCDESTROY = &H0082;
此訊息通知某個視窗,非客戶區正在銷毀
WM_NCCALCSIZE = &H0083;
當某個視窗的用戶端區域必須被核算時發送此訊息
WM_NCHITTEST = &H0084;//移動滑鼠,按住或釋放滑鼠時發生
WM_NCPAINT = &H0085;
程式發送此訊息給某個視窗 當它(視窗)的架構必須被繪製時;
WM_NCACTIVATE = &H0086;
此訊息發送給某個視窗 僅當它的非客戶區需要被改變來顯示是啟用還是非啟用狀態;
WM_GETDLGCODE = &H0087;
發送此訊息給某個與對 話框程式關聯的控制項,widdows控制方位鍵和TAB鍵使輸入進入此控制項
通過響應WM_GETDLGCODE訊息,應用程式可以把他當成一個特 殊的輸入控制項並能處理它
WM_NCMOUSEMOVE = &H00A0;
當游標在一個視窗的非客戶區內移動時發送此訊息給這個 視窗 //非客戶區為:表單的標題列及窗
的邊框體
WM_NCLBUTTONDOWN = &H00A1;
當游標在一個 視窗的非客戶區同步選取滑鼠左鍵時提交此訊息
WM_NCLBUTTONUP = &H00A2;
當使用者釋放滑鼠左鍵同時 游標某個視窗在非客戶區十發送此訊息;
WM_NCLBUTTONDBLCLK = &H00A3;
當使用者雙擊滑鼠左鍵同時游標某 個視窗在非客戶區十發送此訊息
WM_NCRBUTTONDOWN = &H00A4;
當使用者按下滑鼠右鍵同時游標又在視窗的非客 戶區時發送此訊息
WM_NCRBUTTONUP = &H00A5;
當使用者釋放滑鼠右鍵同時游標又在視窗的非客戶區時發送此訊息
WM_NCRBUTTONDBLCLK = &H00A6;
當使用者雙擊滑鼠右鍵同時游標某個視窗在非客戶區十發送此訊息
WM_NCMBUTTONDOWN = &H00A7;
當使用者按下滑鼠中鍵同時游標又在視窗的非客戶區時發送此訊息
WM_NCMBUTTONUP = &H00A8;
當使用者釋放滑鼠中鍵同時游標又在視窗的非客戶區時發送此訊息
WM_NCMBUTTONDBLCLK = &H00A9;
當使用者雙擊滑鼠中鍵同時游標又在視窗的非客戶區時發送此訊息
WM_KEYFIRST = &H0100;
WM_KEYDOWN = &H0100;
//按下一個鍵
WM_KEYUP = &H0101;
//釋放一個鍵
WM_CHAR = &H0102;
//按下某鍵,並已發出WM_KEYDOWN, WM_KEYUP訊息
WM_DEADCHAR = &H0103;
當用translatemessage函數翻譯WM_KEYUP訊息時發送此訊息給擁有焦點的視窗
WM_SYSKEYDOWN = &H0104;
當使用者按住ALT鍵同步選取其它鍵時提交此訊息給擁有焦點的視窗;
WM_SYSKEYUP = &H0105;
當使用者釋放一個鍵同時ALT 鍵還按著時提交此訊息給擁有焦點的視窗
WM_SYSCHAR = &H0106;
當WM_SYSKEYDOWN訊息被TRANSLATEMESSAGE函數翻譯後提交此訊息給擁有焦點的視窗
WM_SYSDEADCHAR = &H0107;
當WM_SYSKEYDOWN訊息被TRANSLATEMESSAGE函數翻譯後發送此訊息給擁有焦點的視窗
WM_KEYLAST = &H0108;
WM_INITDIALOG = &H0110;
在一個對話方塊程式被顯示前發送此訊息給它,通常用 此訊息初始化控制項和執行其它任務
WM_COMMAND = &H0111;
當使用者選擇一條功能表命令項或當某個控制項發送一條訊息給 它的父視窗,一個快速鍵被翻譯
WM_SYSCOMMAND = &H0112;
當使用者選擇視窗菜單的一條命令或當使用者選擇最大化 或最小化時那個視窗會收到此訊息
WM_TIMER = &H0113; //發生了定時器事件
WM_HSCROLL = &H0114;
當一個視窗標準水平捲軸產生一個滾動事件時發送此訊息給那個視窗,也發送給擁有它的控制項
WM_VSCROLL = &H0115;
當一個視窗標準垂直捲軸產生一個滾動事件時發送此訊息給那個視窗也,發送給擁有它的控制項 WM_INITMENU = &H0116;
當一個菜單將要被啟用時發送此訊息,它發生在使用者菜單條中的某項或按下某個菜單鍵,它允許程式在顯示前更改菜單
WM_INITMENUPOPUP = &H0117;
當一個下拉式功能表或子功能表將要被啟用時發送此訊息,它允許程式在它顯示前更改菜單,而不要改變全部
WM_MENUSelect = &H011F;
當使用者選擇一條功能表項目時發送此訊息給菜單的所有者(一般是視窗)