Symulacja klawiszy na obcym programie

dział ogólny

Re: Symulacja klawiszy na obcym programie

Nowy postprzez Cyfrowy Baron » czwartek, 12 czerwca 2014, 11:40

A jak chciałbyś anulować kliknięcie, przecież system przechwytuje komunikat z myszki i go realizuje. Kliknięcie to wciśnięcie przycisku w dół i zwolnienie. O ile może dałoby się anulować zwolnienie w górę, o tyle nie przerwiesz kliknięcia w dół, bo w chwili wysłania komunikatu zostaje on zrealizowany. Nawet więc po wykryciu kliknięcia i zablokowaniu myszy nie da się tego cofnąć. Musiałbyś zablokować okno aplikacji na której mysz próbuje kliknąć na chwilę przed kliknięciem.
Avatar użytkownika
Cyfrowy Baron
Administrator
Administrator
 
Posty: 4716
Dołączył(a): niedziela, 13 lipca 2008, 15:17
Podziękował : 12
Otrzymał podziękowań: 442
System operacyjny: Windows 7 x64 SP1
Kompilator: Embarcadero RAD Studio XE2
C++ Builder XE2 Update 4
SKYPE: cyfbar
Gadu Gadu: 0
    Windows 7Firefox

Re: Symulacja klawiszy na obcym programie

Nowy postprzez Cyfrowy Baron » poniedziałek, 16 czerwca 2014, 20:16

Właściwie to dałoby się anulować to PopupMenu, gdyż sam coś takiego już robiłem w innej aplikacji zastępując PopupMenu kontrolki CppWebBrowser własnym. Potrzebujesz kontrolki TApplicationEvents. Tworzysz zdarzenie OnMessage i mnie więcej taki kod:

KOD cpp:     UKRYJ  
 if(WebBrowser1->CanFocus() &&
   (Msg.message == WM_RBUTTONDOWN || Msg.message == WM_RBUTTONUP)
         && Page1->TabIndex == 2)
 {
  POINT cP;
  GetCursorPos(&cP);

  HWND hWnd = WindowFromPoint(cP);

  wchar_t szClassName[255];
  GetClassName(hWnd, szClassName, 255); // pobieranie uchwytu do kontrolki

  if( (String)szClassName == "Internet Explorer_Server" )
  {
   BrowserPopup->Popup(cP.x, cP.y + 10); // Własne PopupMenu
  }
 }


Może uda ci się to przerobić jakoś na własne potrzeby.
Avatar użytkownika
Cyfrowy Baron
Administrator
Administrator
 
Posty: 4716
Dołączył(a): niedziela, 13 lipca 2008, 15:17
Podziękował : 12
Otrzymał podziękowań: 442
System operacyjny: Windows 7 x64 SP1
Kompilator: Embarcadero RAD Studio XE2
C++ Builder XE2 Update 4
SKYPE: cyfbar
Gadu Gadu: 0
    Windows 7Firefox

Re: Symulacja klawiszy na obcym programie

Nowy postprzez Mironas » wtorek, 24 czerwca 2014, 17:06

Dzięki za pomysł.
Ale już zmieniłem koncepcję. Wyświetlam małe okienko - zawsze na wierzchu - zawierające pożądany login i hasło, i przeciągam je myszką na formatki w obcej aplikacji. Działa bezbłędnie.
Avatar użytkownika
Mironas
Programista I
Programista I
 
Posty: 427
Dołączył(a): poniedziałek, 2 stycznia 2012, 19:02
Podziękował : 17
Otrzymał podziękowań: 61
System operacyjny: Windows 10
Kompilator: C++Builder 10.3 Rio
TMS Components Pack
Gadu Gadu: 0
    Windows XPChrome

Poprzednia strona

  • Podobne tematy
    Odpowiedzi
    Wyświetlone
    Ostatni post

Powrót do Ogólne problemy z programowaniem

Kto przegląda forum

Użytkownicy przeglądający ten dział: Brak zalogowanych użytkowników i 18 gości