Probelm z wysyłaniem polecenia

dział ogólny

Probelm z wysyłaniem polecenia

Nowy postprzez sfyrek » niedziela, 22 lipca 2012, 19:42

Witam
Mam problem z wysłaniem komendy do jednego "obecego" programu. Czy problem ten może wynikac z nietypowej klasy programu?
Poniżej przesyłam kod:
Kod: Zaznacz cały

hwnd info;
info = FindWindow("WindowsForms10.Window.8.app.0.2bf8098_r13_ad1",NULL);
SendMessage(info, WM_KEYDOWN, VK_F4,1);


Zmieniałem Send Message na Post message oraz WM_KEYDOWN na WM_SYSKEYDOWN i efekt taki sam. Szczerze to już nie wiem jak do tego podejść
Avatar użytkownika
sfyrek
Bladawiec
Bladawiec
 
Posty: 18
Dołączył(a): wtorek, 26 czerwca 2012, 18:14
Podziękował : 3
Otrzymał podziękowań: 0
System operacyjny: brak systemu
Kompilator: brak kompilatora
Gadu Gadu: 0
    Windows 7Opera

Re: Probelm z wysyłaniem polecenia

Nowy postprzez wargo » niedziela, 22 lipca 2012, 21:10

Użyj funkcji keybd_event, nie zawsze działa z komunikatami.
Avatar użytkownika
wargo
Mądrosław
Mądrosław
 
Posty: 389
Dołączył(a): niedziela, 13 lipca 2008, 16:44
Podziękował : 12
Otrzymał podziękowań: 3
System operacyjny: Windows 7
Kompilator: C++ Builder 6 Personal
Gadu Gadu: 6259515
    Windows 7Firefox

Re: Probelm z wysyłaniem polecenia

Nowy postprzez Cyfrowy Baron » niedziela, 22 lipca 2012, 21:45

Sprawdź czy uchwyt do okna został pobrany:

KOD cpp:     UKRYJ  
HWND info;
info = FindWindow("WindowsForms10.Window.8.app.0.2bf8098_r13_ad1",NULL);

if( info == NULL )
{
 ShowMessage( "Nie odnaleziono okna programu!" );
 return;
}

SendMessage(info, WM_KEYDOWN, VK_F4,1);


Poza tym rodzi się pytanie, czy na wciśnięcie klawisza ma zareagować okno programu, czy jakaś kontrolka w tym oknie, gdyż wysłanie komunikatu do okna nie jest równoznaczne z wysłaniem do dowolnego obiektu w tymże oknie. Jeżeli musisz wysłać komunikat wciśnięcia klawisza F4 do jakiejś kontrolki to najpierw pobierz uchwyt do okna za pomocą funkcji FindWindow, a potem do tej kontrolki za pomocą funkcji FindWindowEx. Jeżeli jednak np. ta kontrolka znajduje się na np. obiekcie typu TPanel to trzeba pobierać uchwyty po kolei: okno programu -> panel -> kontrolka.
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 XPFirefox

Re: Probelm z wysyłaniem polecenia

Nowy postprzez sfyrek » poniedziałek, 23 lipca 2012, 07:06

Wysłanie komunikatu "F4" jest traktowanie jako symulacja klawisza skrótu. W tym programie po naciśnięciu "F4" otwierane jest okno z parametrami tego programu. I zależy mi na tym by zasymulować wystąpienie tego skrótu.


Pozdrawiam.
Avatar użytkownika
sfyrek
Bladawiec
Bladawiec
 
Posty: 18
Dołączył(a): wtorek, 26 czerwca 2012, 18:14
Podziękował : 3
Otrzymał podziękowań: 0
System operacyjny: brak systemu
Kompilator: brak kompilatora
Gadu Gadu: 0
    Windows XPOpera

Re: Probelm z wysyłaniem polecenia

Nowy postprzez Cyfrowy Baron » poniedziałek, 23 lipca 2012, 09:14

Sprawdziłeś czy uchwyt jest pobierany prawidłowo, tak jak podałem w kodzie?
Sprawdziłem ten kod z wysyłaniem komunikatu wciśnięcia klawisza F11 w przeglądarce Firefox i kod działa prawidłowo. Jeżeli u Ciebie z Twoim programem to nie działa, to oznacza, że nie wszystkie warunki zostały spełnione. Na podstawie podanych informacji nic więcej poradzić się nie da. Podaj co to za program.

Jeśli wysyłasz komunikat WM_KEYDOWN to wyślij też po nim komunikat WM_KEYUP, żeby zwolnić klawisz, przecież po wciśnięciu nie przytrzymujesz go.
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 XPFirefox

Re: Probelm z wysyłaniem polecenia

Nowy postprzez sfyrek » poniedziałek, 23 lipca 2012, 11:21

Jest to program to sterowania maszyną CNC infoCam - i musze zrobić nakładkę którą będzię posiadała tylko wybrane jego funkcję. W programie tym można przypisać każdej jego funkcji skót i w ten spośob chce nim sterować wysyłając komendę wciśnietych klawiszy.
Avatar użytkownika
sfyrek
Bladawiec
Bladawiec
 
Posty: 18
Dołączył(a): wtorek, 26 czerwca 2012, 18:14
Podziękował : 3
Otrzymał podziękowań: 0
System operacyjny: brak systemu
Kompilator: brak kompilatora
Gadu Gadu: 0
    Windows XPOpera

Re: Probelm z wysyłaniem polecenia

Nowy postprzez Cyfrowy Baron » poniedziałek, 23 lipca 2012, 11:31

To już Twój drugi post w którym nie odpowiedziałeś na pytanie:

Cyfrowy Baron napisał(a):Sprawdziłeś czy uchwyt jest pobierany prawidłowo, tak jak podałem w kodzie?




To program do sterowania jakimś ploterem? Coś w stylu ArtCAM?
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 XPFirefox

Re: Probelm z wysyłaniem polecenia

Nowy postprzez sfyrek » poniedziałek, 23 lipca 2012, 12:18

Tak to program do sterowania ploterem. I moje zadanie to uproscić jego interfejs dla operatora. NIe wiem w jakim języku był pisany ale cięzko jest wyłapać klasy obiektów. Wszytskie obiekty mają tą samą klasę przynajmniej tak widzi je Win ID.
Avatar użytkownika
sfyrek
Bladawiec
Bladawiec
 
Posty: 18
Dołączył(a): wtorek, 26 czerwca 2012, 18:14
Podziękował : 3
Otrzymał podziękowań: 0
System operacyjny: brak systemu
Kompilator: brak kompilatora
Gadu Gadu: 0
    Windows XPOpera

Re: Probelm z wysyłaniem polecenia

Nowy postprzez wargo » poniedziałek, 23 lipca 2012, 19:55

No ale czy funkcja FindWindow zwraca coś czy nic?
Avatar użytkownika
wargo
Mądrosław
Mądrosław
 
Posty: 389
Dołączył(a): niedziela, 13 lipca 2008, 16:44
Podziękował : 12
Otrzymał podziękowań: 3
System operacyjny: Windows 7
Kompilator: C++ Builder 6 Personal
Gadu Gadu: 6259515
    Windows 7Firefox

Re: Probelm z wysyłaniem polecenia

Nowy postprzez sfyrek » poniedziałek, 23 lipca 2012, 21:27

Przepraszam że tak poźno odpsiuje ale dopiero co usiadłem do komputera. Sprawdziłem ten kod co mi podałeś "cyforwy baronie" i nadal nie mam reakcji na wciśnięcie klawisza "F4" nie pojawia się żaden komunikat błedu więc uchwyt okna jest pobierany prawidłowo.
Avatar użytkownika
sfyrek
Bladawiec
Bladawiec
 
Posty: 18
Dołączył(a): wtorek, 26 czerwca 2012, 18:14
Podziękował : 3
Otrzymał podziękowań: 0
System operacyjny: brak systemu
Kompilator: brak kompilatora
Gadu Gadu: 0
    Windows 7Opera

Re: Probelm z wysyłaniem polecenia

Nowy postprzez Cyfrowy Baron » poniedziałek, 23 lipca 2012, 23:02

Funkcja na pewno działa, gdyż jak już wcześniej wspomniałem testowałem ją z klawiszem F11 w przeglądarce Firefox i program zareagował właściwie. Co więcej mogę Tobie poradzić? Nic, gdyż nic nie wiem o programie, którego używasz, nie mogę go u siebie przetestować, czyli brak danych. :roll:
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 XPFirefox

Re: Probelm z wysyłaniem polecenia

Nowy postprzez sfyrek » wtorek, 24 lipca 2012, 07:00

Jeżeli chcesz to moge ci link do programu podesłać skąd będziesz mógł go sciągnąć
Avatar użytkownika
sfyrek
Bladawiec
Bladawiec
 
Posty: 18
Dołączył(a): wtorek, 26 czerwca 2012, 18:14
Podziękował : 3
Otrzymał podziękowań: 0
System operacyjny: brak systemu
Kompilator: brak kompilatora
Gadu Gadu: 0
    Windows XPOpera

Re: Probelm z wysyłaniem polecenia

Nowy postprzez Cyfrowy Baron » wtorek, 24 lipca 2012, 08:38

Podaj, tylko, czy ten program będzie działał bez urządzenia?
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 XPFirefox

Re: Probelm z wysyłaniem polecenia

Nowy postprzez sfyrek » wtorek, 24 lipca 2012, 08:48

Tak, oczywiście nie wszytskie funnkcje ale też testuje go bez podłączonego urządzenia.
Avatar użytkownika
sfyrek
Bladawiec
Bladawiec
 
Posty: 18
Dołączył(a): wtorek, 26 czerwca 2012, 18:14
Podziękował : 3
Otrzymał podziękowań: 0
System operacyjny: brak systemu
Kompilator: brak kompilatora
Gadu Gadu: 0
    Windows XPOpera

Re: Probelm z wysyłaniem polecenia

Nowy postprzez sfyrek » wtorek, 24 lipca 2012, 10:06

a poniżej link
http://www.sendspace.com/file/8ugfoi
Mam nadzieję że jeszcze działa
Avatar użytkownika
sfyrek
Bladawiec
Bladawiec
 
Posty: 18
Dołączył(a): wtorek, 26 czerwca 2012, 18:14
Podziękował : 3
Otrzymał podziękowań: 0
System operacyjny: brak systemu
Kompilator: brak kompilatora
Gadu Gadu: 0
    Windows XPOpera

Następna strona

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 5 gości