none
変換キーで文字を入力したい2 RRS feed

  • 質問

  • 何度も申し訳ありません。

    keybd_eventを使わずにpKB->vkCodeを書き換えてCallNextHookExに渡せば良いのではと思ったのですがダメでした。

    そんな簡単な問題ではないのでしょうか?

    LRESULT CALLBACK KeyHookProc(int nCode, WPARAM wParam, LPARAM lParam)
    {
    	if (nCode == HC_ACTION)
    	{
    		KBDLLHOOKSTRUCT*pKB = (KBDLLHOOKSTRUCT*)lParam;
    		if (pKB->vkCode == VK_CONVERT)
    		{
    			if (wParam == WM_KEYDOWN)
    			{
    				//keybd_event('A', 0, 0, 0);
    				pKB->vkCode = 0x41;
    			}
    			else if (wParam == WM_KEYUP)
    			{
    				//keybd_event('A', 0, KEYEVENTF_KEYUP, 0);
    				pKB->vkCode = 0x41;
    			}
    			//return 1;
    		}
    	}
    	return CallNextHookEx(hHook, nCode, wParam, lParam);
    }

    2016年7月2日 4:40

回答

すべての返信