Как я могу отправить весь код Unicode в 'keybd_event'. , ?Как отправить (keybd_event) Unicode Keys с C#
Я нашел 'Alt + Unicode (Десятичный код)' методы и код C++ ниже
Но я не смог попробовать в C#. ,
void TypingMessageFromCodePage(TCHAR* Message, UINT CodePage=0)
{
TCHAR Word[2];
TCHAR WordCode[64];
char MultiByte[64];
static const BYTE NumCode[10]={0x2D, 0x23, 0x28, 0x22, 0x25, 0x0C, 0x27, 0x24, 0x26, 0x21};
int Length = wcslen(Message);
for(int i=0; i<Length; i++)
{
Word[0] = Message[i];
Word[1] = L'\0';
WideCharToMultiByte(CodePage, 0, Word, -1, MultiByte, 64, NULL, NULL);
_itow((int)(((~MultiByte[0])^0xff)<<8)+((~MultiByte[1])^0xff), WordCode, 10);
keybd_event(VK_MENU, MapVirtualKey(VK_MENU, 0), 0, 0);
for(int j=0; j<wcslen(WordCode); j++)
{
keybd_event(NumCode[(int)WordCode[j]-48], MapVirtualKey(NumCode[(int)WordCode[j]-48], 0), 0, 0);
keybd_event(NumCode[(int)WordCode[j]-48], MapVirtualKey(NumCode[(int)WordCode[j]-48], 0), KEYEVENTF_KEYUP, 0);
}
keybd_event(VK_MENU, MapVirtualKey(VK_MENU, 0), KEYEVENTF_KEYUP, 0);
}
}
Ищете решение. SendInput() не работал для меня. –
Тогда вы, вероятно, не используете его правильно. Он работает. –
Большое спасибо Реми. Я не мог сделать это легко. Прочитав ваш ответ пару раз, выяснилось, что мне нужно делать. Большое спасибо. –