Results 1 to 1 of 1
  1. #1
    Coders (+)_'s Avatar
    Join Date
    Jan 2010
    Location
    Earth
    Posts
    461

    Exclamation DirectInput Bhop

    xD BHop for games which use DirectInput. Only tested in Gothic 3.
    DirectInput looks for scancode...

    Credits:
    UCForum
    Other

    Code:
    #include <windows.h>
    #include <stdio.h>
    
    void SendKey( UINT mappedKey )
    {
    	INPUT Input[2]				= {0};
    
    	Input[0].type					= INPUT_KEYBOARD;
    	Input[0].ki.wScan			= mappedKey;
    	Input[0].ki.dwFlags			= KEYEVENTF_SCANCODE;
    
    	Input[1].type					= INPUT_KEYBOARD;
    	Input[1].ki.wScan			= mappedKey;
    	Input[1].ki.dwFlags			= KEYEVENTF_SCANCODE | KEYEVENTF_KEYUP;
    
    	SendInput( 2, Input, sizeof(INPUT) );
    }
    
    void ChangeCase(char s)
    {
    	if((s > 64)&&(s < 91)) //check if in range of upper case characters
    	{
    		s += 32; //is upper, offset 32 to make lower
    	}
    	else if((s > 96)&&(s < 123)) //check if in range of lower case characters
    	{
    		s -= 32; //is lower, offset -32 to make upper
    	}
    }
    
    void main()
    {
    	printf( "Start!\n\nPress the space bar! ...\n" );
    
    	char Letter		= 'W';
    
    	if( !isalpha( Letter ) && !isdigit( Letter ) )
    	{
    		printf( "Error!\n" );
    		ExitProcess(0);
    	}
    	else if( isupper( Letter ) )
    	{
    		ChangeCase( Letter );
    	}
    
    	SHORT key				= VkKeyScanA( Letter );
    	UINT mappedKey		= MapVirtualKey( LOBYTE( key ), 0 );
    
    	while( true )
    	{
    		if( GetAsyncKeyState( VK_SPACE ) < 0 )
    		{
    			SendKey( mappedKey );
    			SendKey( MapVirtualKey( VK_SPACE, 0 ) );
    		}
    
    		Sleep( 10 );
    	}
    }
    Last edited by (+)_; September 16th, 2014 at 16:26.

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •