void WriteChar(char c)
{
INPUT input = {0};
input.type = INPUT_KEYBOARD;
input.ki.wVk= VkKeyScanEx(c, GetKeyboardLayout(0)) ;
SendInput(1,&input, sizeof(INPUT));
}
VkKeyScanEx는 '/'및 '?'(동일한 키)에 대해 다른 키 코드를 반환하지만이 메서드를 사용하여 '?'가 포함 된 메시지를 작성하면 '/'만 쓸 것입니다. 나는 무슨 일이 일어나고 있는지 모른다. ';'와 같은 문제가 발생합니다. 및 ':'.SendInput()이 올바른 시프트 문자를 "보내지 않습니다"?
부분적으로 키 코드와 스캔 코드를 이해하지 못합니다. 대부분의 캐릭터는 가상 키 코드를 가지고 있지만, 물음표와 비슷한 것을 찾을 수 없습니다. 존재해야하지만 나열되어 있지 않습니까?
종종'''input.ki.dwExtraInfo'''의 예가 0으로 설정되어 있습니다.''input [0] .ki.dwExtraInfo = GetMessageExtraInfo();'''일까요? – camelCase
@rasteve, 솔직히 모르겠습니다!아마도 'KEYBDINPUT'에 대한 문서 (https://msdn.microsoft.com/en-us/library/ms646271(VS.85).aspx)에서'dwExtraInfo'에 관해서 이렇게 말했기 때문에 아마 그렇게했을 것입니다 : 이 정보를 얻기위한 GetMessageExtraInfo 함수 .' – Sam
나는'''GetMessageExtraInfo'''를 사용하여'''dwExtraInfo''에 열쇠를 넣었던 것을 읽었지만 지금은 확신이 없습니다. – camelCase