プログラムの実行中にキーを押したままにしたいので、次のようにしました。
public partial class Form1 : Form
{
[DllImport("user32.dll", SetLastError = true)]
static extern void keybd_event(byte bVk, byte bScan, int dwFlags, int dwExtraInfo);
const int KEY_DOWN_EVENT = 0x0001; //Key down flag
const int KEY_UP_EVENT = 0x0002; //Key up flag
byte VK_UP = 0x26;
public Form1()
{
InitializeComponent();
keybd_event(VK_UP, 0, KEY_DOWN_EVENT, 0);
}
void gkh_KeyDown(object sender, KeyEventArgs e)
{
Debug.WriteLine(e.KeyCode.ToString()); //it only executes once
}
しかし、それはキーを一度だけ押します。私は何が欠けていますか?
C#では不可能だなんて信じられない!! デルファイでもできる!!
私が本当にやりたいことは次のとおりです。
キー「a」を押し、数秒後にキー「b」を押したとします。キー「b」を緩めると、「a」が画面に表示され続けます。