كيف يمكنني اختبار sendInput في C#
سؤال
كيف يمكنني معرفة ما إذا كانت مكالمتي إلى SendInput تعمل بشكل صحيح؟ لدي مقتطف صغير أدناه ، ويبدو أن الرسالة لا تتعرض للضرب. SendInput () إرجاع 1 ، ولا توجد أخطاء ، لذلك أفترض أن الرسالة تخرج بشكل صحيح.
لقد جربت أيضًا أحداث Keypress و Keydown ، ولا يبدو أنني أحصل على هذه الأحداث أيضًا.
private void button1_Click(object sender, EventArgs e)
{
INPUT input = new INPUT();
input.mkhi.ki.wVk = (byte)System.Windows.Forms.Keys.B;
uint result = SendInput(1, ref input, Marshal.SizeOf(new INPUT()));
}
protected override void WndProc(ref Message m)
{
if (m.Msg == WM_KEYDOWN)
{
Console.WriteLine("GotIt");
}
base.WndProc(ref m);
}
المحلول
اتضح منذ أن كنت أبحث عن مفتاح أسفل ، كنت بحاجة إلى الاستماع إلى Proccmdkeys ، وليس فقط الحدث الأساسي.
لا تنتمي إلى StackOverflow