Click here to Skip to main content
16,022,667 members

Comments by wt1682 (Top 3 by date)

wt1682 6-Dec-22 23:16pm View    
Deleted
I tried rewriting the code as below, but as far as I tried, it didn't work.

....
public void SendKeys()
{
SendKeyWithModefir(_sroProcess, (byte)_modefirKey1, (byte)_modefirKey2, (byte)_modefirKey3, (byte)_modefirKey4, (byte)_pressKey);
}

public void SendKeyWithModefir(Process _p, byte ModKey1, byte ModKey2, byte ModKey3, byte ModKey4, byte PressKey)
{
while (!_shouldStop)
{
int interval = 50;
if (_modefirKey1 != Keys.None)
{
keybd_event(ModKey1, 0, Key_Down, 0);
Thread.Sleep(interval);
}
if (_modefirKey2 != Keys.None)
{
keybd_event(ModKey2, 0, Key_Down, 1);
Thread.Sleep(interval);
}
if (_modefirKey3 != Keys.None)
{
keybd_event(ModKey3, 0, Key_Down, 2);
Thread.Sleep(interval);
}
if (_modefirKey4 != Keys.None)
{
keybd_event(ModKey4, 0, Key_Down, 3);
Thread.Sleep(interval);
}
PostMessage(_p.MainWindowHandle, WM_KEYDOWN, (IntPtr)(PressKey), (IntPtr)(0));
PostMessage(_p.MainWindowHandle, WM_KEYUP, (IntPtr)(PressKey), (IntPtr)(0));
if (_modefirKey1 != Keys.None)
{
Thread.Sleep(interval);
keybd_event(ModKey1, 0, Key_Up, 0);
}
if (_modefirKey2 != Keys.None)
{
Thread.Sleep(interval);
keybd_event(ModKey2, 0, Key_Up, 1);
}
if (_modefirKey3 != Keys.None)
{
Thread.Sleep(interval);
keybd_event(ModKey3, 0, Key_Up, 2);
}
if (_modefirKey4 != Keys.None)
{
Thread.Sleep(interval);
keybd_event(ModKey4, 0, Key_Up, 3);
}
}
}
....
wt1682 6-Dec-22 23:16pm View    
I tried rewriting the code as below, but as far as I tried, it didn't work.

....
public void SendKeys()
{
SendKeyWithModefir(_sroProcess, (byte)_modefirKey1, (byte)_modefirKey2, (byte)_modefirKey3, (byte)_modefirKey4, (byte)_pressKey);
}

public void SendKeyWithModefir(Process _p, byte ModKey1, byte ModKey2, byte ModKey3, byte ModKey4, byte PressKey)
{
while (!_shouldStop)
{
int interval = 50;
if (_modefirKey1 != Keys.None)
{
keybd_event(ModKey1, 0, Key_Down, 0);
Thread.Sleep(interval);
}
if (_modefirKey2 != Keys.None)
{
keybd_event(ModKey2, 0, Key_Down, 1);
Thread.Sleep(interval);
}
if (_modefirKey3 != Keys.None)
{
keybd_event(ModKey3, 0, Key_Down, 2);
Thread.Sleep(interval);
}
if (_modefirKey4 != Keys.None)
{
keybd_event(ModKey4, 0, Key_Down, 3);
Thread.Sleep(interval);
}
PostMessage(_p.MainWindowHandle, WM_KEYDOWN, (IntPtr)(PressKey), (IntPtr)(0));
PostMessage(_p.MainWindowHandle, WM_KEYUP, (IntPtr)(PressKey), (IntPtr)(0));
if (_modefirKey1 != Keys.None)
{
Thread.Sleep(interval);
keybd_event(ModKey1, 0, Key_Up, 0);
}
if (_modefirKey2 != Keys.None)
{
Thread.Sleep(interval);
keybd_event(ModKey2, 0, Key_Up, 1);
}
if (_modefirKey3 != Keys.None)
{
Thread.Sleep(interval);
keybd_event(ModKey3, 0, Key_Up, 2);
}
if (_modefirKey4 != Keys.None)
{
Thread.Sleep(interval);
keybd_event(ModKey4, 0, Key_Up, 3);
}
}
}
....
wt1682 6-Dec-22 23:10pm View    
Two key combinations such as Ctrl+A worked, but how can I do three or more key combinations such as Ctrl+Shift+I?
Thank you.

[Use Google Translate]