У меня есть действие по нажатию привязанной клавиши, это MOUSEEVENTF_LEFTDOWN, когда я сворачиваю приложение и нажимаю на привязанную клавишу, у меня никакого действия не происходит, однако когда я захожу в само приложение у меня всё работает Код :
public void textBox1_KeyUp(object sender, KeyEventArgs e)
{
if (Keys.A <= e.KeyCode && e.KeyCode <= Keys.Z)
{//Character keys
textBox1.Text = e.KeyCode.ToString();
}
if (Keys.F1 <= e.KeyCode && e.KeyCode <= Keys.F9)
{ //func keys (F)
textBox1.Text = e.KeyCode.ToString();
}
if (Keys.D0 <= e.KeyCode && e.KeyCode <= Keys.D9)
{ //number keys
textBox1.Text = e.KeyCode.ToString().Replace("D", null);
}
if (textBox1.TextLength == 1)
{
button2.Enabled = true;
}
[DllImport("user32.dll", CharSet = CharSet.Auto, CallingConvention = CallingConvention.StdCall)]
public static extern void mouse_event(UInt32 dwFlags, UInt32 dx, UInt32 dy, UInt32 cButtons, IntPtr dwExtraInfo);
public const int MOUSEEVENTF_LEFTDOWN = 0x02;
public const int MOUSEEVENTF_LEFTUP = 0x04;
public const int MOUSEEVENTF_RIGHTDOWN = 0x08;
public const int MOUSEEVENTF_RIGHTUP = 0x10;
private void button3_KeyUp(object sender, KeyEventArgs e)
{
KeysConverter kc = new KeysConverter();
string keystring = textBox1.Text;
Keys keyspecial = (Keys)kc.ConvertFromString(keystring);
if (e.KeyCode == keyspecial)
{
mouse_event(MOUSEEVENTF_LEFTDOWN, 1, 1, 0, IntPtr.Zero);
Thread.Sleep(5);
mouse_event(MOUSEEVENTF_LEFTUP, 1, 1, 0, IntPtr.Zero);
button3_KeyUp. Код внутри него не при чем. – aepot Nov 09 '21 at 20:46