Конференция "WinAPI" » Доступ к элементу ListView в стороннем приложении [D7]
 
  • Новенький (09.06.14 15:55) [0]
    Добрый день.
    Есть стороннее приложение.
    В нем 3 ListView. Задача такова.
    Сделать на строке дабл клик в ListView которая к примеру имеет номер 8.

    При попытках использовать SendMessage(HndControl,LVM_GETITEMRECT,0, LongInt(@Rect)); получаю в ответ одни нули. Уже что тока не перепробовал. Подскажите кто знает.


    procedure TMyThread.Execute;
    Var
    Hnd, HndControl:HWnd;
    i, b, q : Integer;
    WinClass: array[0..255] of Char;
     Rect: TPoint;
     ItemIndex: Integer;
     ItemHeight: Integer;
    begin
    Hnd:=FindWindow(nil, 'Client');
     if Hnd <>0 then begin
       windows.SetForegroundWindow(Hnd);  
       HndControl := FindWindowEx(hnd, 0, nil, PChar('LOGIN'));
       SendMessage(HndControl, BM_CLICK, 0, 0);

       Sleep(1000);
       
       HndControl := FindWindowEx(hnd, 0, nil, PChar('select country...'));
       PostMessage(HndControl, wm_LButtonDblclk, 0, 0);
       Sleep(5000);

       HndControl := FindWindowEx(hnd, 0, 'SysListView32', nil);
       b := 0;

       while HndControl <> 0 do
       begin
         HndControl := GetWindow(HndControl, GW_HWNDNEXT);
         GetClassNameA(HndControl, WinClass, 256);

         if (WinClass = 'SysListView32') then
         begin
           i:=SendMessage(HndControl,LVM_GETITEMCOUNT,0,0);

           GetListViewData(HndControl, 1, form1.drop_strngrd);

           if (b = 1) then
           begin
            // SendMessage(HndControl, WM_SETFOCUS, 0, 0);

             SendMessage(HndControl,LVM_GETVIEWRECT,0, LongInt(@Rect));
             Form1.mmo1.Lines.Add(inttostr(rect.x)+'  '+inttostr(rect.Y));

           end;

           Inc(b);
         end;

       end;

     end;
    end;

  • MBo © (12.06.14 15:45) [1]
    Нужно внедряться в чужое адресное пространство. VirtualAllocEx и т.д.  Пример есть в книге Рихтера Windows для профессионалов. Да и в инете немало примеров внедрения
 
Конференция "WinAPI" » Доступ к элементу ListView в стороннем приложении [D7]
Есть новые Нет новых   [118638   +31][b:0][p:0.001]