Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
||
ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
[3.15.143.207] |
|
Сообщ.
#1
,
|
|
|
Драсте! А мона как-то вызвать функцию другой проги вообще?
Например мне нужно симитировать нажатие на клавишу "сancel" в посторонней проге? З.Ы. мона конечно переместить мышу и щелкнуть (программно), но енто не выход :-( Заранее псб... |
Сообщ.
#2
,
|
|
|
Находишь хэндл и кликаешь.
|
Сообщ.
#3
,
|
|
|
Что, больше никто не знает? :-[
|
Сообщ.
#4
,
|
|
|
Цитата VUD, 08.03.03, 20:12:57 Что, больше никто не знает? :-[ А что этого недостаточно? |
Сообщ.
#5
,
|
|
|
Короче вот набросал...погляди, рпзберись...
<br>var hCalc:THandle;<br> hButt:THandle;<br> buf:array[0..100] of char;<br>begin<br> hCalc:=FindWindow(nil, 'Калькулятор');<br> if IsWindow(hCalc) then<br> begin<br> hButt:=GetWindow(hCalc, GW_CHILD + GW_HWNDFIRST);<br> while IsWindow(hButt) do<br> begin<br> GetClassName(hButt, buf, sizeof(buf));<br> if buf='Button' then<br> begin<br> SendMessage(hButt, BM_CLICK, 0, 0);//<- это основная ф-ия<br> //кстати это не единственный способ кликнуть<br> ZeroMemory(@buf, sizeof(buf));<br> end;<br> hButt:=GetWindow(hButt, GW_HWNDNEXT);<br> end;<br> end;<br>end;<br> А на резуьтат в калькуляторе не обращяй внимания, я так просто для показа набросал, не смотрел на результат!... =( |