#include <iostream>
#include <Windows.h>
#include <winable.h>
int main()
{
INPUT input;
int a;
while (1) {
while (GetAsyncKeyState(0x5A)) {
input.type = INPUT_MOUSE;
input.ki.wScan = MapVirtualKey(0x01, MAPVK_VK_TO_VSC);
input.ki.time = 0;
input.ki.dwExtraInfo = 0;
input.ki.wVk = 0x01;
input.ki.dwFlags = 0;
SendInput(1, &input, sizeof(INPUT));
}
}
}
エラー、それを把握することはできません。私は私のIDE(コードブロック)は、ドロップダウンメニューで任意のpedicationsをポップアップしたかどうかを確認するために、それを再入力私はSendInputを使用しようとしていますが、私は
MAPVK_VK_TO_VSC
was not declared in this scope
をそれは何も表示されなかったので、私はそれが存在しないと仮定します。私はいくつかのサイトのサンプルプログラムでそれを見たので(それは本当に必要ではないが覚えていないが)、それが起こったと思った。
は、私はそのwScan
ラインに置くことになってんですか?ここで
なぜINPUT_MOUSEに 'input.ki'を使用していますか?代わりに 'input.mi'を使用してください。 [ドキュメントを読む](https://msdn.microsoft.com/en-us/library/windows/desktop/ms646270.aspx)マウス入力はスキャンコードを使用しないので、 'MOUSEINPUT'は' wScan'フィールドを持たず、キーボード入力だけが行います。 –
あなたが何を求めているか全く分かりません。タイトルは 'SendInput'でいくつかの問題を示唆していますが、質問は' MapVirtualKey'を中心にしています。誰にでも役立つことはまずありません。投票を終了する。 – IInspectable
'MapVirtualKey/Ex()'が定義されているのと同じ 'winuser.h'ヘッダファイルに' MAPVK_VK_TO_VSC'が定義されているので、 ''このスコープで宣言されていません。 'MapVirtualKey()'を呼び出す前にundef MAPVK_VK_TO_VSC'を実行してください。 –