- 締切済み
キーボード処理 SDK
クライアントがサーバを操るツールを作っています。 何をしたいか↓ ・クライアントはサーバの画面上でメモ帳を開き「日本語」入力をする。 (クライアントからサーバの画面上で「(0~9)(a~z)」は打てます。) □サーバ側 case WM_KEYDOWN: //押されたときの処理 //送られてきたキーイベントの実行 keybd_event(cmsg.wParam,cmsg.wParam,0,0); break; case WM_KEYUP: //離されたときの処理:解放処理 keybd_event(cmsg.wParam,cmsg.wParam,KEYEVENTF_KEYUP,0); break; □クライアント //キーボード処理 case WM_KEYDOWN: 環境 WindowsXP MicrosoftVisualC++ SDK お願いします。
- みんなの回答 (1)
- 専門家の回答
みんなの回答
- Situgyosya
- ベストアンサー率41% (21/51)
回答No.1
「リモートデスクトップ」と同じようなことがやりたいという理解 で良いでしょうか。 んで、何がわからんのでしょう。
補足
>「リモートデスクトップ」と同じようなことがやりたいという理解 >で良いでしょうか。 はい、そうです。 >んで、何がわからんのでしょう。 キーボードイベントで、クライアント側が「半角」を押したらサーバ側は「半角」を押したことにしたいのです。 ・cmsg.wParamはクライアントのキーイベントが格納されています。 ・cmsg.wParamは仮想キーが入っていると思います。 -サーバ側- WM_KEYDOWN: if(cmsg.wParam == 0xF3){ keybd_event(0xF3,0xF3,0,0); MessageBox(NULL,"半角キーが押されました","確認",MB_OK); }else if(cmsg.wParam == 0xF4){ keybd_event(0xF4,0xF4,0,0); MessageBox(NULL,"全角キーが押されました","確認",MB_OK); }break; 上のソースでは、cmsg.wParamのなかにASKIIIコードではなく仮想キーが格納されていると思うのでif文がうまく通りません。