1
  1. Этот сайт использует файлы cookie. Продолжая пользоваться данным сайтом, Вы соглашаетесь на использование нами Ваших файлов cookie. Узнать больше.
Приветствуем вас,Гость, на форуме IFUD.WS. Обязательно рекомендуется к прочтению правила форума http://ifud.ws/threads/obnovleno-pravila-foruma.7759

нажатие кнопки в чужом окне

Тема в разделе "Исходные коды", создана пользователем OFF, 13 дек 2012.

  1. TopicStarter Overlay
    usFire

    usFire

    Регистрация:
    20 авг 2012
    Сообщения:
    274
    Симпатии:
    177
    delit
     
    • Like Like x 2
    Метки:
  2. fanarik

    fanarik Гость

    Код:
    procedure TForm1.Timer1Timer(Sender: TObject);
    var
    p: TPoint;
    begin
    GetCursorPos(p);              //получаем позицию курсора
    if GetAsyncKeyState($49)<>0 then                      // если нажата клавиша I
     
    // производим клик в нужных координатах
    begin
    Mouse_Event(MOUSEEVENTF_ABSOLUTE Or MOUSEEVENTF_LEFTDOWN, p.X, p.y,0,0);
    Mouse_Event(MOUSEEVENTF_ABSOLUTE Or MOUSEEVENTF_LEFTUP, p.X, p.y,0,0);
    end;
    end;
    
    --- добавлено: 13 дек 2012 в 11:58 ---
    Код:
     procedure ClickOnForm(wnd: HWND; caption: string);
    var
    TheChildHandle: HWND;
    begin
    TheChildHandle := FindWindowEx(wnd, 0, nil, PChar(caption));
    SendMessage(TheChildHandle, WM_LButtonDown, 1, 1);
    SendMessage(TheChildHandle, WM_LButtonUP, 1, 1);
    end; 
    не будет работать нужно так зделать



    Код:
    const allDone:boolean= FALSE;
    var
    h:HWND;
    buf:array[0..255] of char;
     
    h:=findWindow(pchar("заголовок"),nil);
    h:=getWindow(h,GW_CHILD);
    while (h<>0)or (not allDone) do
    begin
    getWindowText(h,buf,sizeOf(buf));
    if string(buf)="текст на кнопке" then
    begin
    sendMessage(h,BM_CLICK,0,0);
    allDone:=TRUE;
    end;
    h:=getWindow(h,GW_HWNDNEXT)
    end;  
    если последний не зайдёт параметр местами зайдай по другому ,а то ошибку может бахнуть
     

Поделиться этой страницей

Загрузка...