WM_KEYDOWN WM_KEYUP jaka funkcja to obsluży?
Napisane: poniedziałek, 1 września 2008, 20:25
SendMessage tego nie obsługuje. Oczywiście chcę tego użyć z HWND do okna:
próbowałem też pod VK_RETURN wstawiać jego odpowiednik 0x0D, ale też nic nie dało.
Natomiast z WM_CHAR
Aplikacja odbiera mi ten komunikat ale tylko przez 2 sekundy, potem jakby niedocierał, też próbowałem z 0x0D i nic.
A i jeszcze w pętli for dla przykładu:
Ani razu nie doszedł ten komunikat, a bez pętli for podczas klikania przycisku dochodzi przez pierwsze 2 sekundy od pierwszego kliknięcia.
Da się jakoś to zrobić żeby stymulować na klawiaturze, oczywiście w formie komunikatu(żeby okno nie było na wierzchu tylko zminimalizowane na pasku) naciskanie cały czas ENTER? Myszkę już umiem, brakuje tylko tej klawiatury a konkretnie to tego ENTERa.
swoją drogą jak użyć w pętli for ProgressBar np:
i żeby mi się zapełniał z biegiem pętli, czytałem na cyfrowym baronie ale nie chce mi się bawić z manifestami i wole prosty zwyczajny postęp a niestety nie wiem jak.
A i jak już pytam to podczas wykonywania powyższej fukncji która jest pod przyciskiem Start. Po naciśnieciu Start, przycisk się tak jakby zawiesza i cały program też i dopiero przycisk odskakuje po wykonaniu całej pętli i program się odwiesza czyli w tym przypadku po 100 sekundach. Chciałbym zrobić tak żeby drugi przycisk Stop był aktywny podczas wcisniętego przycisku Start czyli pomiędzy tymi 1-100 sekund to wtedy wsadziłbym sobie pod przycisk Stop że i = 100 i pętla by się odrazu zakończyła.
Z góry Dziekuję za pomoc.
- Kod: Zaznacz cały
HWND h =FindWindow(NULL,"blablabla");
SendMessage(h,WM_KEYDOWN, VK_RETURN,0);
SendMessage(h,WM_KEYUP,VK_RETURN,0);
próbowałem też pod VK_RETURN wstawiać jego odpowiednik 0x0D, ale też nic nie dało.
Natomiast z WM_CHAR
- Kod: Zaznacz cały
HWND h =FindWindow(NULL,"blablabla");
SendMessage(h,WM_CHAR, VK_RETURN,0);
Aplikacja odbiera mi ten komunikat ale tylko przez 2 sekundy, potem jakby niedocierał, też próbowałem z 0x0D i nic.
A i jeszcze w pętli for dla przykładu:
- Kod: Zaznacz cały
void __fastcall TForm5::Button1Click(TObject *Sender)
{
int i = 0;
HWND h =FindWindow(NULL,"blablabla");
for(i;i<10;i++)
{
SendMessage(h,WM_CHAR, VK_RETURN,0);
Sleep(500);
}
}
Ani razu nie doszedł ten komunikat, a bez pętli for podczas klikania przycisku dochodzi przez pierwsze 2 sekundy od pierwszego kliknięcia.
Da się jakoś to zrobić żeby stymulować na klawiaturze, oczywiście w formie komunikatu(żeby okno nie było na wierzchu tylko zminimalizowane na pasku) naciskanie cały czas ENTER? Myszkę już umiem, brakuje tylko tej klawiatury a konkretnie to tego ENTERa.
swoją drogą jak użyć w pętli for ProgressBar np:
- Kod: Zaznacz cały
for(i=1;i<100;i++)
{
Sleep(1000);
}
i żeby mi się zapełniał z biegiem pętli, czytałem na cyfrowym baronie ale nie chce mi się bawić z manifestami i wole prosty zwyczajny postęp a niestety nie wiem jak.
A i jak już pytam to podczas wykonywania powyższej fukncji która jest pod przyciskiem Start. Po naciśnieciu Start, przycisk się tak jakby zawiesza i cały program też i dopiero przycisk odskakuje po wykonaniu całej pętli i program się odwiesza czyli w tym przypadku po 100 sekundach. Chciałbym zrobić tak żeby drugi przycisk Stop był aktywny podczas wcisniętego przycisku Start czyli pomiędzy tymi 1-100 sekund to wtedy wsadziłbym sobie pod przycisk Stop że i = 100 i pętla by się odrazu zakończyła.
Z góry Dziekuję za pomoc.