PDA

Click to See Complete Forum and Search --> : Mimicing Keyboard events using _asm in C++


Jacob Roman
Dec 6th, 2004, 11:03 PM
I'm wanting to work with a low level function in C++ that mimics keyboard strokes without the user pressing the keyboard to any active, or possible inactive windows. I don't know much on Assembly, but I have the function set up to use later on for a DLL file once I have the code:


int _stdcall Send_Keys(unsigned char Key, int *hWnd)
{
//hWnd is a handle to a Window.

_asm{

//assembly source code here

}

return 1;
}



Can anyone help me out?

Maven
Dec 7th, 2004, 09:22 PM
I'm wanting to work with a low level function in C++ that mimics keyboard strokes without the user pressing the keyboard to any active, or possible inactive windows. I don't know much on Assembly, but I have the function set up to use later on for a DLL file once I have the code:


int _stdcall Send_Keys(unsigned char Key, int *hWnd)
{
//hWnd is a handle to a Window.

_asm{

//assembly source code here

}

return 1;
}



Can anyone help me out?


You'll have to use the windows API to do that and there will not be much gain even if you do it in asm.

Jacob Roman
Dec 7th, 2004, 10:20 PM
That's the thing though. The API's such as SendInput and keybd_event doesn't control programs that use DirectX's DirectInput.

Maven
Dec 8th, 2004, 11:38 AM
The problem is that you cannot generate interrupts from ASM when your programming in 32 bit protected mode. That pretty much means we are forced to do things the windows way.

I'm thinking that direct input must read from the device driver directly. So you'll have to search msdn to figure out how to deal with that situation. You may end up having to have a device driver.