Delphi 如何操作外部程序的控件(如按鈕,文本框,單選按鈕等)


看你要做什么,比較現在網絡很流行的QQ、MSN這些軟件都屏蔽了,你可能還可以訪問一些小軟件的這些控制,思路及方案如下(API函數自己去百度查一下)
1.得到你要這個窗口的句柄 使用FindWindow
2.利用枚舉函數EnumChildWindows把這個窗口里的所有文本框、按鈕找到,並得到其句柄,EnumChildWindows需要一個回調函數,你可以在回調函數中把模擬輸入,單擊雙擊這些操作加上去

3.在回調函數里,其實就是向你找到的按鈕或文本框發送消息
消息說明:
比如得到文本框中的文字消息:WM_GETTEXT
設置文本框的文字消息:WM_SETTEXT
鼠標左鍵單擊WM_LBUTTONDOWN必須與WM_LBUTTONUP配對使用
雙擊左鍵WM_LBUTTONDBLCLK

給你破盆冷水,現在要實現操作外部程序是很困難的,現在的軟件都超級變態了,以前用Api能解決的問題對商業軟件都無效了!自從大量程序出自C#.net之后傳統APi就顯得力不從心了,像什么Hook之類的都被現有的殺毒軟件所封殺了,現在我們這些所謂的高手也都轉向別的領域了,沒有再研究他們的必要了。總之只要能在網上找到的技術很快就會過時!因為人家打算公布就意味着新技術的開始.這是專業人員給你回答!

使用API
SendMessage發送一個消息到指定的窗口,如何查找窗口的句柄就需要配合Spy++之類的工具了
例如SendMessage(Handle,WM_CLOSE,0,0);能關閉本窗口


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM