VC寫個自動點選子視窗按鈕的程式需要準備什麼樣的材料

2025-03-30 17:15:11 字數 3772 閱讀 4986

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...