1樓:網友
這個問題不是很難的,基本思想是這樣:
1.你要取得你要自動點選的視窗的控制代碼。這一步不是很難,一般用 findwindow() 就可以搞定。
2.你可以根據這個父視窗的控制代碼,列出它的所有子視窗(其實也就是視窗的控制項)的控制代碼。找到你需要控制項的控制代碼。
3.那就簡單了,向那個控寬褲件發訊息就可以了!
具體的你自己查查資料應該可以搞定的了。
至於要獲取指定控制項的文字,你只要向那個控制項傳送 wm_gettext 訊息就可以了。
用findwindowex得到按鈕的信友handle再用getdlgctrlid得到按鈕的id,然後用sendmessage
如: hwnd bhd=findwindowex(whd,null,null,"確定");whd為視窗的控制代碼,"確定"為按鈕慎坦簡的名稱。
long id=::getdlgctrlid(bhd);
sendmessage(wd,wm_command, makelong(id,bn_clicked),(long)bhd);
2樓:何處淬吳鉤
簡單地自動點選按鈕,不涉及hook。首先你用spy++檢視下視窗的結構,看按鈕是否是視窗,如果是,使用函式findwindow,getwindow,enumchildwindow等函式一定能獲取到按鈕的控制代碼,然後向這個按鈕傳送wm_lbuttondown訊息(wm_lbuttonup等類似的試驗下,選擇有效果的,因為不同程式可能響應了不同的訊息)。如果按鈕不是乙個獨立的視窗,那麼只能通過按鈕的父視窗操作。
首先獲取父視窗控制代碼,然後計算下按鈕座標區域,然後傳送滑鼠訊息,帶上滑鼠座標點引數(要在按鈕區域內)。
可以說你說的是對的,只需要相關的控制代碼就夠了,然後sendmessage
人家寫的程式你能得到襪攔id?想法也未免太天真了。
另外你水平足夠的話,完全可以獲取點選按鈕跡好飢後執行的**去直接執行。
可參姿返加考我以前寫的乙個給beta傳送訊息的例子。
3樓:網友
這個要看看hook的資料。
vb查詢指定乙個軟體的視窗,並自動點選軟體裡面的下一步按鈕。怎麼寫?最好有**
4樓:匿名使用者
用postmessagepublic sub sendclick(byval lyhwnd as long, byval x as long, byval y as long)
dim lp as long' postmessage lyhwnd, wm_keydown, vk_return, mapvirtualkey(vk_return, wm_keydown) '傳送乙個enter鍵按下的訊息。
postmessage lyhwnd, wm_keydown, vk_1, mapvirtualkey(vk_1, wm_keydown) '傳送乙個1鍵按下的訊息。
lp = y
lp = lp * 65536 + x '上面的x和y代表的是你要在指定的視窗中執行滑鼠事件的乙個點的座標。
postmessage lyhwnd, wm_lbuttondown, mk_lbutton, byval lp
postmessage lyhwnd, wm_lbuttonup, mk_lbutton, byval lp '在視窗(hwnd)中的點(x,y)執行一次滑鼠單擊事件end sub
5樓:匿名使用者
這個用vb不好辦到吧,用api的findwindow查詢視窗,用sendmessage傳送點選資訊。
易語言視窗程式集1的按鈕如何自動點選
6樓:網友
這個很簡單,給你原始碼,複製貼上到易語言。
版本 2支援庫 spec
子程式 __啟動視窗_建立完畢。
按鈕1_被單擊 ()
子程式 _按鈕1_被單擊。
除錯輸出 (「按鈕1被單擊了」)
7樓:網友
啟動視窗建立完畢。
按鈕1.被單擊。
按鈕1.被單擊。
框內容=「起易論壇」
編寫程式實現如下功能: 1.自動點選某軟體上的「開啟」按鈕 2.在「開啟」對話方塊中選擇指定檔案並開啟它
8樓:網友
你好!你採用的是什麼程式語言。
vc6.0如何製作乙個點選按鈕彈出乙個新視窗的簡單軟體。
9樓:晨光來了
建立2個對話方塊。
在乙個對話方塊裡 用另乙個對話方塊類 定義乙個變數然後在按鈕響應函式里 domodal();
void csqldlg::onbuttonadd()/ todo: add your control notification handler code here
csql2 m_dlg;
m_;/ adduserinfo();
易語言如何寫乙個"點選按鈕,自動連續按ctrl+v鍵100次"的程式?
10樓:匿名使用者
新建個執行緒以防介面卡死。
在函式里寫。
計次迴圈首(100,計次)
模擬按鍵(ctrl鍵,v鍵)
計次迴圈尾()
11樓:兮沫雪_翼
計次迴圈裡面 寫模擬按鍵即可。
用qt寫乙個介面程式,如何當點選乙個按鈕時,啟動乙個終端,然後讓新的終端自動執行自己寫的另外乙個程式
12樓:創作者
樓主這個應該要使用qprocess吧。
lz問題很抽象哦。
13樓:愛好者嬌
請問這個功能是怎麼實現的?具體是怎麼解決的呢?
如何開啟另外乙個程式實現傳送乙個命令來點選該程式的按鈕?
14樓:網友
這個要用訊息機制來做,你首先開啟的軟體**要先 查詢控制代碼(要點選按鈕那軟體的窗體),得到控制代碼就繼續查詢按鈕子控制代碼 最後再傳送訊息到按鈕上,原理就是這樣,你沒有說用什麼語言寫 所以我也不貼**了。
關於delphi模擬滑鼠點選按鈕 小弟想寫乙個程式,讓這個程式自動安裝其它程式。比如安裝ultraedit32,
15樓:網友
這個問題弱爆了。windows的標準button控制項,有自己的訊息迴圈,以bm開頭。
procedure : tobject);
varh, i: hwnd;
beginwinexec(『d:\,sw_shownormal);
h := findwindow(nil, 'ultraedit-32 安裝');
i := findwindowex(h,0,'button','下一步 >');
sendmessage(i, bm_click, 0, 0);
end;
16樓:網友
弱爆了的問題。 windows標準按鈕控制自己的訊息迴圈,以bm開頭。
過程發件人:tobject的);
varh,i:hwnd;
開始winexec(「d:\ sw_shownormal );
h:=的findwindow(無,「ultraedit-32的安裝');
i:= findwindowex(h,0,'按鈕','>'); / sendmessage函式(i,bm_click,0,0);結束;
vc中winexec使用,VC 中如何呼叫exe
該函式只提供對16位機子的相容。應用程式應該使用createprocess函式。declare function winexec lib kernel32 alias winexec byval lpcmdline as string,byval ncmdshow as long as long 說...
該怎麼補充vc?怎樣補充vc和ve?
補充維生素c首選的就是天然的維生素c的膠囊就是鮮棗,就是棗樹在秋天結的新鮮的大棗,裡面維生素c的含量還是比較豐富的。要想補充維生素c也可以攝入柑橘類的水果,比如像橙子 柚子 橘子和檸檬,酸酸的味道本身就是維生素c抗壞血酸的味道。補充維生素c也可以去吃獼猴桃等水果,吃起來也是酸酸的。酸酸的 甜甜的水果...
VC 語句含義
要完全理解的話,需要了解mfc執行時型別識別 iskindof runttime class是一個巨集。所有在執行時可識別型別的類都有一個cruntimeclass靜態資料成員和函式,這些內容組成一張網。而cruntimeclass ptrg runtime class crunthreadforg...