當前位置:編程學習大全網 - 網站源碼 - VC++如何模擬鍵盤Tab按鍵(用SendInput方法)

VC++如何模擬鍵盤Tab按鍵(用SendInput方法)

class SKeyboardInput {?// KEYBDINPUT

private:

INPUT m_keyboard ;

public:

SKeyboardInput( int iScanCode, bool bDown = TRUE, int iTime = 0 ):m_keyboard() {

m_keyboard.type = INPUT_KEYBOARD ;

m_keyboard.ki.wScan = iScanCode ;

m_keyboard.ki.dwFlags = KEYEVENTF_SCANCODE | (bDown ? 0 : KEYEVENTF_KEYUP) ;

m_keyboard.ki.time = iTime ;

m_keyboard.ki.dwExtraInfo = 0 ;

}

public:

DWORD scan() const {

return m_keyboard.ki.wScan ;

}

DWORD time() const {

return m_keyboard.ki.time ;

}

public:

int Send( ) const {

if( m_keyboard.ki.time )?Sleep( m_keyboard.ki.time ) ;

SendInput( 1, const_cast<LPINPUT>( &m_keyboard ), sizeof(INPUT) ) ;

return 0 ;

}

} ;

摘自我以前寫的壹個程序片段

用類稍微的封裝了下,

用法:

SKeyboardInput input( 15, TRUE, 100 ) ; // 掃描碼 = 15(tab) 按下, 延時100

SKeyboardInput input2( 15, FALSE, 200 ) ; // 掃描碼 = 15(tab) 松開, 延時200

input.Send() ;

input2.Send()

這裏使用的是掃描碼, 妳可以用MapVirtualKey()來進行 掃描 虛擬碼之間的轉換

  • 上一篇:在Windows系統下怎麽部署PHP網站運行環境
  • 下一篇:ubuntu 可以同時安裝pptp和l2tp嗎
  • copyright 2024編程學習大全網