![]() |
|
|
#1
|
|||
|
|||
![]() |
#2
|
||||
|
||||
![]() Ищещь по FindWindow Скайп, затем дочернее окно для ввода информации - посылаешь сообщение с нужным текстом, затем кнопку - посылаешь сообщении о нажатии.
Je venus de nulle part 55.026263 с.ш., 73.397636 в.д. |
#3
|
|||
|
|||
![]() Цитата:
|
#4
|
|||
|
|||
![]() вообще-то, это можно сделать просто через COM-интерфейс скайпа. Просто импортни соотв. объект и пользуй. Делал - работало.
|
#5
|
|||
|
|||
![]() Нет . скайп был простым примером!
|
#6
|
||||
|
||||
![]() Примерно так:
Код:
function EnumChildProc(WndCtrl : HWND; lParam : Longint) : Boolean; stdcall; var szClass : array[Byte] of Char; begin GetClassName(WndCtrl, szClass, SizeOf(szClass)); if (lstrcmpi(szClass, 'BUTTON') = 0) then begin SendMessage(hWndCtrl, WM_COMMAND, 0, hWndCtrl); end; Result := True; end; //---------------------------------------------------------- procedure EnumChild(Wnd : HWND); begin if (not EnumChildWindows(Wnd, @EnumChildProc, 0)) then Exit; end; Je venus de nulle part 55.026263 с.ш., 73.397636 в.д. |
#7
|
|||
|
|||
![]() Cделай пример для калкулятора:
Код:
procedure TForm1.btn1Click(Sender: TObject ); var cwnd , Wnd: HWND; begin Wnd:=FindWindow(nil, 'Calculator'); ShowWindow(Findwindow(nil,'Calculator'),SW_RESTORE); end; |
#8
|
||||
|
||||
![]() Примерно так, но напрямую в Edit:
Код:
var Wnd : HWND; function EnumChildProc(WndCtrl : HWND; lParam : Longint) : Boolean; stdcall; var szClass : array[Byte] of Char; Buffer : array[Byte] of Char; St : String; begin GetClassName(WndCtrl, szClass, SizeOf(szClass)); // Это через кнопку if (lstrcmpi(szClass, 'BUTTON') = 0) then begin SendMessage(WndCtrl, WM_GETTEXT, SizeOf(Buffer), Longint(@Buffer)); if Buffer[0] <> #0 then begin St := Buffer; if St = '4' then SendMessage(WndCtrl, WM_COMMAND, 0, WndCtrl); end; end // Напрямую в Edit else if (lstrcmpi(szClass, 'EDIT') = 0) then begin St := '4'; SendMessage(WndCtrl, WM_SETTEXT, 0, Longint(PChar(St))) end; Result := True; end; //---------------------------------------------------------- procedure EnumChild(Wnd : HWND); begin if (not EnumChildWindows(Wnd, @EnumChildProc, 0)) then Exit; end; procedure TForm2.Button1Click(Sender: TObject); var Wnd: HWND; begin Wnd := FindWindow(NIL, 'Калькулятор'); if Wnd <> 0 then begin ShowWindow(Wnd, SW_RESTORE); if not EnumChildWindows(Wnd, @EnumChildProc, 0) then begin Exit; end; end; end; Je venus de nulle part 55.026263 с.ш., 73.397636 в.д. Последний раз редактировалось angvelem, 10.08.2011 в 01:05. |