亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁(yè) > 編程 > Delphi > 正文

Delphi實(shí)現(xiàn)獲取句柄并發(fā)送消息的方法

2020-01-31 20:50:58
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友

本文以實(shí)例形式詳細(xì)說(shuō)明了Delphi獲取句柄并發(fā)送消息的方法,具體用法說(shuō)明如下:

查找另外一個(gè)窗口的句柄:

handle := FindWindow(nil,PChar('窗口的標(biāo)題'));//查到窗體句柄

查找子窗體:

childHandle := FindWindowEx(handle,0,'子窗體類(lèi)','子窗體標(biāo)題'); 

另外有個(gè)枚舉子窗體的API,

EnumChildWindows(主創(chuàng)體句柄,@回調(diào)函數(shù),用戶(hù)參數(shù));

用這個(gè)函數(shù)需要自己寫(xiě)一個(gè)回調(diào)的函數(shù),比如:

function EnumChildProc(ahWND:HWND; param:LPARAM):boolean; stdcall;sendmessage(handle,message,wl,rl)
unit Unit1; interface uses Windows,Messages,Tlhelp32,SysUtils,Classes,Graphics,Controls,Forms,Dialogs,StdCtrls;type TForm1=class(TForm)procedure FormCreate(Sender: TObject); private {Private declarations}  public  {Public declarations} end; var Form1: TForm1;implementation{ $R *.DFM}procedure TForm1.FormCreate(Sender: TObject);var a,b:PAnsiChar;h:HWND;beginh:= FindWindow(nil,'abc.txt - 記事本');h:= FindWindowEx(h,0,'edit',nil);SendMessage(h,WM_SETTEXT,255,Integer(PChar('我來(lái)測(cè)度了')));ShowMessage( IntToStr(h));end;
SendMessage(TreeView.Handle,TVM_SETBKCOLOR,0,RGB(255,0,0)); 設(shè)置TV背景顏色SendMessage(Button.Handle,WM_LBUTTONDOWN,0,0);  鼠標(biāo)左鍵按下SendMessage(Button.Handle,WM_LBUTTONUP,0,0);   鼠標(biāo)左鍵抬起SendMessage(Edit.Handle,WM_SETTEXT,255,Integer(PChar('abc'))); 傳遞文本SendMessage(Edit.Handle,WM_Char,Wparam('Q'),2);  傳遞字符SendMessage(Button.Handle,BM_SETSTYLE,BS_RADIOBUTTON,1);  改變Button風(fēng)格SendMessage(ComboBox.Handle,CB_SETDropPEDWIDTH,300,0);  改變CBDownWidth

WM_CUT、WM_COPY和WM_PASTE  剪切,復(fù)制,粘帖

實(shí)現(xiàn)任意組合鍵:

keybd_event(VK_Control, MapVirtualKey(VK_Control, 0), 0, 0);keybd_event(ord('V'), MapVirtualKey(ord('V'), 0), 0, 0);keybd_event(ord('V'), MapVirtualKey(ord('V'), 0), KEYEVENTF_KEYUP, 0);keybd_event(VK_Control, MapVirtualKey(VK_Control, 0), KEYEVENTF_KEYUP, 0);

SendMessageA說(shuō)明: 調(diào)用一個(gè)窗口的窗口函數(shù),將一條消息發(fā)給那個(gè)窗口。除非消息處理完畢,否則該函數(shù)不會(huì)返回

SendMessage所包含4個(gè)參數(shù):   
1. hwnd 32位的窗口句柄窗口可以是任何類(lèi)型的屏幕對(duì)象,因?yàn)閃in32能夠維護(hù)大多數(shù)可視對(duì)象的句柄
2. wMsg 用于區(qū)別其他消息的常量值,這些常量可以是Windows單元中預(yù)定義的常量,也可以是自定義的常量
3. wParam 通常是一個(gè)與消息有關(guān)的常量值,也可能是窗口或控件的句柄
4. lParam 通常是一個(gè)指向內(nèi)存中數(shù)據(jù)的指針。由于WParm、lParam和Pointer都是32位的,因此,它們之間可以相互轉(zhuǎn)換

wMsg函數(shù)詳細(xì)說(shuō)明: 

★WM_Create 創(chuàng)建一個(gè)窗口
★WM_DESTROY 當(dāng)一個(gè)窗口被破壞時(shí)發(fā)送
★WM_MOVE 移動(dòng)一個(gè)窗口
★WM_SIZE 改變一個(gè)窗口的大小
★WM_ACTIVATE 一個(gè)窗口被激活或失去激活狀態(tài)
★WM_SETFOCUS 一個(gè)窗口獲得焦點(diǎn)
★WM_KILLFOCUS 一個(gè)窗口失去焦點(diǎn)
★WM_ENABLE 一個(gè)窗口改變成Enable狀態(tài)
★WM_SETREDRAW 設(shè)置窗口是否能重畫(huà)
★WM_SETTEXT 應(yīng)用程序發(fā)送此消息來(lái)設(shè)置一個(gè)窗口的文本
★WM_GETTEXT 應(yīng)用程序發(fā)送此消息來(lái)復(fù)制對(duì)應(yīng)窗口的文本到緩沖區(qū)
★WM_GETTEXTLENGTH 得到與一個(gè)窗口有關(guān)的文本的長(zhǎng)度(不包含空字符)
★WM_PAINT 要求一個(gè)窗口重畫(huà)自己
★WM_CLOSE 當(dāng)一個(gè)窗口或應(yīng)用程序要關(guān)閉時(shí)發(fā)送一個(gè)信號(hào)
★WM_QUERYENDSESSION 用戶(hù)選擇結(jié)束對(duì)話(huà)框或程序自己調(diào)用ExitWindows函數(shù)
★WM_QUIT 用來(lái)結(jié)束程序運(yùn)行
★WM_QUERYOPEN 用戶(hù)窗口恢復(fù)以前的大小位置時(shí),把此消息發(fā)送給某個(gè)圖標(biāo)
★WM_ERASEBKGND 當(dāng)窗口背景必須被擦除時(shí)(例在窗口改變大小時(shí))
★WM_SYSCOLORCHANGE 當(dāng)系統(tǒng)顏色改變時(shí),發(fā)送此消息給所有頂級(jí)窗口
★WM_QUERYENDSESSION 消息后,此消息發(fā)送給應(yīng)用程序,通知它對(duì)話(huà)是否結(jié)束
★WM_SHOWWINDOW 當(dāng)隱藏或顯示窗口是發(fā)送此消息給這個(gè)窗口
★WM_ACTIVATEAPP 發(fā)此消息給應(yīng)用程序哪個(gè)窗口是激活的,哪個(gè)是非激活的   
★WM_FONTCHANGE 當(dāng)系統(tǒng)的字體資源庫(kù)變化時(shí)發(fā)送此消息給所有頂級(jí)窗口
★WM_TIMECHANGE 當(dāng)系統(tǒng)的時(shí)間變化時(shí)發(fā)送此消息給所有頂級(jí)窗口
★WM_CANCELMODE 發(fā)送此消息來(lái)取消某種正在進(jìn)行的摸態(tài)(操作)
★WM_SETCURSOR 如果鼠標(biāo)引起光標(biāo)在某個(gè)窗口中移動(dòng)
★WM_ENDSESSION 當(dāng)系統(tǒng)進(jìn)程發(fā)出且鼠標(biāo)輸入沒(méi)有被捕獲時(shí),就發(fā)消息給某個(gè)窗口
★WM_MOUSEACTIVATE 當(dāng)光標(biāo)在某個(gè)非激活的窗口中而用戶(hù)正按著鼠標(biāo)的某個(gè)鍵發(fā)送此消息給當(dāng)前窗口
★WM_CHILDACTIVATE 送此消息給MDI子窗口當(dāng)用戶(hù)點(diǎn)擊此窗口的標(biāo)題欄,或當(dāng)窗口被激活,移動(dòng),改變大小
★WM_QUEUESYNC 此消息由基于計(jì)算機(jī)的訓(xùn)練程序發(fā)送,通過(guò) WH_JOURNALPALYBACK的hook程序分離出用戶(hù)輸入消息
★WM_GETMINMAXINFO 此消息發(fā)送給窗口當(dāng)它將要改變大小或位置   
★WM_PAINTICON 發(fā)送給最小化窗口當(dāng)它圖標(biāo)將要被重畫(huà)
★WM_ICONERASEBKGND 此消息發(fā)送給某個(gè)最小化窗口,僅當(dāng)它在畫(huà)圖標(biāo)前它的背景必須被重畫(huà)
★WM_NEXTDLGCT★發(fā)送此消息給一個(gè)對(duì)話(huà)框程序去更改焦點(diǎn)位置
★WM_SPOOLERSTATUS 每當(dāng)打印管理列隊(duì)增加或減少一條作業(yè)時(shí)發(fā)出此消息   
★WM_DRAWITEM 當(dāng)button,combobox,listbox,menu的可視外觀改變時(shí)發(fā)送
★WM_MEASUREITEM 當(dāng)button, combobox, listbox, listview control, or menuitem 被創(chuàng)建時(shí)
★WM_VKEYTOITEM 此消息有一個(gè)LBS_WANTKEYBOARDINPUT風(fēng)格的發(fā)出給它的所有者來(lái)響應(yīng)WM_KEYDOWN消息   
★WM_CHARTOITEM 此消息由一個(gè)LBS_WANTKEYBOARDINPUT風(fēng)格的列表框發(fā)送給他的所有者來(lái)響應(yīng)WM_CHAR消息   
★WM_SETFONT 當(dāng)繪制文本時(shí)程序發(fā)送此消息得到控件要用的顏色
★WM_GETFONT 應(yīng)用程序發(fā)送此消息得到當(dāng)前控件繪制文本的字體
★WM_SETHOTKEY 應(yīng)用程序發(fā)送此消息讓一個(gè)窗口與一個(gè)熱鍵相關(guān)連
★WM_GETHOTKEY 應(yīng)用程序發(fā)送此消息來(lái)判斷熱鍵與某個(gè)窗口是否有關(guān)聯(lián)
★WM_QUERYDRAGICON 此消息發(fā)送給最小化窗口,當(dāng)此窗口將要被拖放而它的類(lèi)中沒(méi)有定義圖標(biāo),應(yīng)用程序能返回一個(gè)圖標(biāo)或光標(biāo)的句柄,當(dāng)用戶(hù)拖放圖標(biāo)時(shí)系統(tǒng)顯示這個(gè)圖標(biāo)或光標(biāo)
★WM_COMPAREITEM 發(fā)送此消息來(lái)判定combobox或listbox新增加的項(xiàng)的相對(duì)位置
★WM_COMPACTING 顯示內(nèi)存已經(jīng)很少了
★WM_WINDOWPOSCHANGING 發(fā)送此消息給那個(gè)窗口的大小和位置將要被改變時(shí),來(lái)調(diào)用setwindowpos函數(shù)或其它窗口管理函數(shù)
★WM_WINDOWPOSCHANGED 發(fā)送此消息給那個(gè)窗口的大小和位置已經(jīng)被改變時(shí),來(lái)調(diào)用setwindowpos函數(shù)或其它窗口管理函數(shù)
★WM_POWER 當(dāng)系統(tǒng)將要進(jìn)入暫停狀態(tài)時(shí)發(fā)送此消息
★WM_COPYDATA 當(dāng)一個(gè)應(yīng)用程序傳遞數(shù)據(jù)給另一個(gè)應(yīng)用程序時(shí)發(fā)送此消息
★WM_CANCELJOURNA 當(dāng)某個(gè)用戶(hù)取消程序日志激活狀態(tài),提交此消息給程序
★WM_NOTIFY 當(dāng)某個(gè)控件的某個(gè)事件已經(jīng)發(fā)生或這個(gè)控件需要得到一些信息時(shí),發(fā)送此消息給它的父窗口   
★WM_INPUTLANGCHANGEREQUEST 當(dāng)用戶(hù)選擇某種輸入語(yǔ)言,或輸入語(yǔ)言的熱鍵改變
★WM_INPUTLANGCHANGE 當(dāng)平臺(tái)現(xiàn)場(chǎng)已經(jīng)被改變后發(fā)送此消息給受影響的最頂級(jí)窗口
★WM_TCARD 當(dāng)程序已經(jīng)初始化windows幫助例程時(shí)發(fā)送此消息給應(yīng)用程序
★WM_HELP 此消息顯示用戶(hù)按下了F1,如果某個(gè)菜單是激活的,就發(fā)送此消息個(gè)此窗口關(guān)聯(lián)的菜單,否則就發(fā)送給有焦點(diǎn)的窗口,如果當(dāng)前都沒(méi)有焦點(diǎn),就把此消息發(fā)送給當(dāng)前激活的窗口
★WM_USERCHANGED 當(dāng)用戶(hù)已經(jīng)登入或退出后發(fā)送此消息給所有的窗口,當(dāng)用戶(hù)登入或退出時(shí)系統(tǒng)更新用戶(hù)的具體設(shè)置信息,在用戶(hù)更新設(shè)置時(shí)系統(tǒng)馬上發(fā)送此消息
★WM_NOTIFYFORMAT 公用控件,自定義控件和他們的父窗口通過(guò)此消息來(lái)判斷控件是使用ANSI還是UNICODE結(jié)構(gòu)

function EnumChildWindowsProc(hwnd, lparam: Integer): Boolean;    var   buffer: array[0..255] of char;    begin   Result := True;   GetClassName(hwnd,buffer,256);   if StrPas(Buffer)='Edit' then   begin   SendMessage(hwnd,WM_GETTEXT,256,lparam);   Result:=False;   end;    end;      procedure TForm1.Button1Click(Sender: TObject);    var   hwnd: Integer;   buffer: array[0..255] of char;    Begin   hwnd := FindWindow('CabinetWClass',nil);   if hwnd<> 0 then   begin   EnumChildWindows(hwnd,@EnumChildWindowsProc,Longint(@buffer[0]));   Caption := StrPas(buffer);   end;    end;
發(fā)表評(píng)論 共有條評(píng)論
用戶(hù)名: 密碼:
驗(yàn)證碼: 匿名發(fā)表

圖片精選

黄色一级大片在线免费观看| 亚洲欧美日韩天堂| 韩国日本一区二区三区| 国产精品你懂的在线| 精品国产一区二区亚洲人成毛片| 99久久免费精品国产72精品九九| 在线中文字幕一区| ww国产内射精品后入国产| 久久www免费人成精品| 成人午夜亚洲| 波多野结衣中文字幕一区| 一区二区三区无码高清视频| xxxxwwww欧美| 黄色激情视频网址| dy888夜精品国产专区| 97在线观视频免费观看| 天堂а在线中文在线无限看推荐| 日本a视频在线观看| 久久一日本道色综合| 国产露脸无套对白在线播放| 麻豆网在线观看| 欧美日韩中出| 天天躁日日躁狠狠躁伊人| 亚洲成年人视频| 视频在线观看免费影院欧美meiju| 天天操天天操天天操天天操天天操| 国产精品a久久久久久| 国产精品国产三级国产专区51| 中文字幕在线播放一区| 97在线播放免费观看| 色影视在线视频资源站| 懂色aⅴ精品一区二区三区蜜月| 中国人与牲禽动交精品| 91亚洲精品一区二区乱码| 99在线看视频| www.超碰97.com| 正在播放欧美一区| 精品久久国产老人久久综合| 在线免费观看羞羞视频一区二区| 欧美理伦片在线播放| 精品一区二区三区在线播放| www.黄在线观看| 午夜精品久久久久久久久久久久久蜜桃| 欧美男女视频| 天天干视频在线| 亚洲 国产 欧美 日韩| 国产成人精品999在线观看| 精品国产乱码久久久| 97精品国产露脸对白| 精品国产区一区| 91久久大香伊蕉在人线| 中文字幕有码热在线视频| 国产精品一级片在线观看| 成人毛片av在线| 99999精品视频| 91视频你懂的| 日本福利视频在线观看| 成人免费毛片视频| 成人自拍视频在线观看| 欧美第一页草草影院浮力| 精品欧美国产一区二区三区| 久久影视中文粉嫩av| 日韩中文字幕在线免费观看| 欧美一区二区三区爽爽爽| 色综合蜜月久久综合网| 女人天堂在线视频| **在线精品| 欧美69xx性欧美| 国产欧美精品va在线观看| 亚洲精品大片| 欧美特级一级片| 国产精品观看在线亚洲人成网| eeuss第一页| 色噜噜成人av在线| 久久久久国产精品免费免费搜索| 丰满熟妇乱又伦| 欧美私人免费视频| 国产91综合一区在线观看| 精品中文字幕在线播放| 国产精品久久久久久久久久三级| 中文字幕精品综合| www.日韩欧美| 国产片侵犯亲女视频播放| 日韩欧美在线不卡| 久久久老熟女一区二区三区91| 日韩国产一区二| 日韩高清一区二区| 污片视频在线免费观看| 国产资源一区| 久热在线视频精品网站| 国产深夜福利| 色婷婷综合久久久中字幕精品久久| 亚洲一区免费| 日本一区二区三区在线免费观看| 亚洲妇女av| 国产99免费视频| 国产亚洲美州欧州综合国| 久久久精品国产网站| 公侵犯人妻一区二区三区| 欧美成人vr18sexvr| 精品国产va久久久久久久| 色涩视频在线观看| 欧洲精品久久久久毛片完整版| 国产一区二区三区在线观看免费视频| 日韩三级在线| 污网站在线观看视频| 日韩欧美小视频| 大片免费在线看视频| 最近免费看av| 小说区视频区图片区| 欧美日韩精品区| 欧美福利网址| 91久久一区二区| 欧美电影在线观看网站| 99久久精品国产导航| 日韩国产激情在线| 国产一区二区福利视频| 日本特黄在线观看| 中出视频在线观看| 鲁片一区二区三区| 欧美黑人一级爽快片淫片高清| 成人黄色在线视频| 乱一区二区av| 极品少妇xxxx偷拍精品少妇| 国产欧美自拍视频| 亚洲欧美在线看| 成年女人免费v片| 欧美精品一区二区高清在线观看| 一道精品视频一区二区三区图片| 三级a三级三级三级a十八发禁止| 免费一级特黄特色毛片久久看| 久久狠狠高潮亚洲精品| 少妇高潮一区二区三区99| 日本高清中文字幕二区在线| 2021狠狠干| 欧美另类99xxxxx| 精品中文字幕一区二区三区| 欧美色女视频| 国产精品视频男人的天堂| 无码国产精品久久一区免费| 91国拍精品国产粉嫩亚洲一区| 免费成人av电影| 69久久99精品久久久久婷婷| 啪啪av大全导航福利综合导航| 欧美精品资源| 成人软件在线观看| 中文字幕在线观看免费| 韩国精品美女www爽爽爽视频| 在线免费不卡电影| 久草在线中文888| 亚洲精品字幕在线| 成人黄色午夜影院| 性欧美精品男男| 伊人久久一区| 久久91超碰青草是什么| 免费黄色av网址| 国产成人精品免费一区二区| 91精品国产色综合久久不卡粉嫩| 中文字幕欧美人妻精品一区| 久久精品日韩| 日本福利视频在线观看| 午夜视频免费播放| 97视频国产在线| 美女国产一区二区三区| 在线免费观看av网址| 国语对白做受xxxxx在线中国| 我看黄色一级片| 久久精品久久综合| 久久久久久久黄色| 91精品国产色综合久久不卡蜜臀| 色综合久久久久久久久久久| 欧美日韩精品综合| 九九精品免费视频| 久久日韩粉嫩一区二区三区| 久久久老熟女一区二区三区91| 欧美一区二区三区白人| www黄色在线| 影音先锋男士资源站| 欧美6699| 久久综合另类图片小说| 国产乱淫a∨片免费观看| www.青草| 亚洲婷婷综合久久一本伊一区| 一级黄色在线播放| 98视频精品全部国产| 色综合久久久久久久久五月| 国产福利免费在线观看| 久久综合久久综合九色| 日韩视频精品在线观看| 日韩精品在线视频美女| 亚洲裸体xxxx| 97香蕉久久超级碰碰高清版| 中国男女全黄大片| 国内精品视频一区二区三区八戒| 久久久久久久av麻豆果冻| 久久久99精品免费观看不卡| 丝袜足控免费网站xx网站| 国产综合精品一区| 在线免费观看视频| 喜爱夜蒲2在线| 一二三四国产精品| 五级黄高潮片90分钟视频| 精品无码国模私拍视频| 国产最顶级的黄色片在线免费观看| 114美女做爰视频在线| 日本精品一二区| 国产成人免费视频app| 美女爆乳18禁www久久久久久| 最新理论片影院| 玖玖玖国产精品| 大伊人狠狠躁夜夜躁av一区| 国产一区二区三区久久精品| 青草视频在线观看免费| 成人免费毛片东京热| 一区二区乱子伦在线播放| 国产欧美一区二| 99国内精品久久久久| 国产亚洲一二三区| 国产精品国产精品88| 亚洲91精品在线| 日韩在线观看视频一区二区| 在线观看免费黄色| 黑人巨大精品欧美一区二区奶水| free性m.freesex欧美| 先锋资源一区二区| 天天做天天爱天天高潮| 中文人妻熟女乱又乱精品| 最新国产精品久久精品| 久草视频视频在线播放| 久久99国产精品视频| 5278欧美一区二区三区| 成人在线超碰| 欧美久久久久久久久久久久| 强开小嫩苞一区二区三区视频| 亚洲网站在线观看| 91蝌蚪porny九色| 91文字幕巨乱亚洲香蕉| 欧洲熟妇的性久久久久久| 免费黄漫在线观看| 午夜免费看视频| 久久精品欧美一区| 人妖精品videosex性欧美| 美女视频在线免费| 亚洲一区二区三区免费看| 久操视频在线观看| 在线播放av片| 中文综合在线观看| 日本一二区不卡| 亚洲在线观看一区| 先锋影音男人站| 天堂蜜桃91精品| 北条麻妃在线观看| 久久久99免费视频| 三级中文字幕在线观看| 亚洲网站在线免费观看| 国产资源在线播放| 久久无码av三级| 中文字幕 自拍| 亚洲第一成人在线| 另类小说色综合| 人人澡人人澡人人看| a视频免费观看| 亚洲色大成网站www久久九九| 国产精品对白久久久久粗| 91丨九色丨黑人外教| 精品欧美一区二区久久久伦| 风间由美一区二区三区在线观看| 精品国产免费久久久久久婷婷| 欧美日韩视频在线| 欧美性视频在线| 91在线视频成人| 精品国产一区二区三区不卡| 男人插女人视频在线观看| 欧美日韩一区高清| 国产三级视频在线播放| 香蕉加勒比综合久久| 性少妇videosexfreexxx片| 国产主播性色av福利精品一区| 日韩大片在线观看| 亚洲成年人影院| 国产精品色在线网站| 先锋影音av在线| 免费看成年人视频| 日本欧美色综合网站免费| 热99精品只有里视频最新| 国产在线a不卡| 国产精品国内免费一区二区三区| 人人妻人人玩人人澡人人爽| 成人综合婷婷国产精品久久蜜臀| 99pao成人国产永久免费视频| 色噜噜在线网| 亚洲成人精品电影在线观看| 国产精品久久久av久久久| 黑人巨茎大战欧美白妇| 亚洲成a人片在线不卡一二三区| 欧美经典三级视频一区二区三区| 欧美一区二区三区爽爽爽| 乱亲女h秽乱长久久久| av网站手机在线观看| 精品动漫一区二区三区| 在线观看理论片| 中文字幕第一区| 中日韩在线观看视频| 一区二区高清不卡| 天天做天天爱综合| 日本欧美在线视频免费观看| 国产精品熟妇一区二区三区四区| 日韩国产一区二| 成人免费观看视频大全| 国产日韩欧美二区| 人人澡人人添人人爽一区二区| 亚洲日韩成人| 99久久精品免费看国产小宝寻花| 波多野结衣av一区二区全免费观看| 欧美欧美全黄| 国产一级片免费在线观看| 喜爱夜蒲2在线| 国产又白又嫩又爽又黄| 夜夜嗨一区二区三区| 黄色羞羞视频在线观看| 91九色蝌蚪视频| 成人日韩精品| 国产一区日韩二区欧美三区| 一本色道久久综合亚洲精品不| 免费看的av网站| 精品少妇无遮挡毛片| 亚洲国产成人精品激情在线| 欧美激情理论|