[ Milan Milosevic @ 13.08.2007. 15:15 ] @
Zelim odredenom prozoru da posaljem preko SendMessage poruke da sam pretisnuo istovremeno ctrl i neko slovo recimo G.
[ prog @ 13.08.2007. 18:50 ] @
SendMessage(handle,WM_KEYDOWN,VK_CONTROL+47,0);
[ Milan Milosevic @ 14.08.2007. 14:27 ] @
Ne radi ta kombinacija
[ Milan Milosevic @ 24.08.2007. 16:00 ] @
Nemoguce da niko od C programera nezna da mi pomogne.
[ X Files @ 24.08.2007. 20:54 ] @
CTRL+A (Select All)

a) keybd_event
Code:

HANDLE notepad = FindWindow( "Notepad", 0 );
if ( notepad )
{
   BringWindowToTop( notepad );

   keybd_event( VK_CONTROL, 0, 0, 0 );
   keybd_event( 'A', 0, 0, 0 );
   keybd_event( 'A', 0, KEYEVENTF_KEYUP, 0 );
   keybd_event( VK_CONTROL, 0, KEYEVENTF_KEYUP, 0 );
}
else
{
   // Notepad nije otvoren!
}


b) PostMessage()
Code:

HANDLE notepad = FindWindow( "Notepad", 0 );
if ( notepad )
{
   BringWindowToTop( notepad );

   PostMessage( notepad, WM_KEYDOWN, VK_CONTROL, 0x001D0001 );
   PostMessage( notepad, WM_KEYDOWN, 'C' ,0x002E0001 );
   PostMessage( notepad, WM_KEYUP, 'C', 0xC02E0001 );
   PostMessage( notepad, WM_KEYUP, VK_CONTROL, 0xC01D0001 );
}
else
{
   // Notepad nije otvoren!
}


C++ Builder
[ Milan Milosevic @ 25.08.2007. 09:20 ] @
Neznam zasto ali meni i dalje to ne radi. Dali si probao na nekom primeru.
[ X Files @ 25.08.2007. 11:35 ] @
Ovo prvo,sa keybd_event() radi, a ovo drugo sa PostMessage() ne radi.

Hm... Cudno, siguran sam da je juce radilo, ikao sam u primer sa PostMessage greskom napisao 'C' umesto 'A', ...

Provericu.
[ Milan Milosevic @ 25.08.2007. 12:00 ] @
Da probao sam sa notped i kod mene radi prvi primer.
Probao sam kod mene da napravim dogadaj za neku komponentu koja odgovara na datu kombinaciju tastera. I za taj slucaj meni ovako ne radi.
Pogledacu pazljivije.
[ Milan Milosevic @ 25.08.2007. 12:17 ] @
Provalio sam to sto mi treba. Hvala puno.
Treba samo postaviti fokus na datu koponentu, a sve ostalo je isto.
Pozdrav.
[ kiklop74 @ 26.08.2007. 06:41 ] @
Citat:
X Files: Ovo prvo,sa keybd_event() radi, a ovo drugo sa PostMessage() ne radi.

PostMessage moze da salje poruke samo prozorima koji pripadaju procesu iz kog se poziva sam API. Za slanje poruka prozorima koji pripadaju drugi procesima treba koristiti SendMessage ili SendMessageNotify itd.