2012-12-06 68 views
0

我的問題與鍵盤事件的WIN32 API有關。通過keybd_event發送wchar_t

VOID WINAPI keybd_event(
    _In_ BYTE bVk, 
    _In_ BYTE bScan, 
    _In_ DWORD dwFlags, 
    _In_ ULONG_PTR dwExtraInfo 
); 

此方法接受BYTE作爲Key值。只要它的char事情正常,但對於wchar_t它不起作用,顯然是因爲數據類型的差異。是否有任何方法公開的wchar_t數據類型或任何其他轉換我可以做這些發送到屏幕上?

感謝

回答

1

你不要把這個功能char本身,你把它的一套Virtual Key Codes,並且這些在他們的範圍的限制。所以試圖發送一個wchar_t類型沒有任何意義。你

還可以看到在MSDN documentation for this function這樣一個字條:

提示:該功能已被取代。改用SendInput。

我認爲你應該更好地使用SendInput來代替。

+0

'SendInput'不會改變任何東西。你發送所有相同的信息。虛擬鍵碼和全部。主要區別在於'SendInput'使用起來更加棘手。使用'keybd_event'沒有問題。 –