SendKeys (или что-то подобное) в несколько процессов с одинаковым именем - C#
Формулировка задачи:
Здраствуйте програмисты!
столкнулся с такой проблемой. как можно сделать SendKeys на несколько одноимённых процессов (окна не активны).
Вот кусок кода,того что пытался сделать (сильно не ругайте, только начал изучать ).
Эмулирует нажатие клавишь только в 1 активное окно .
private void button1_Click(object sender, EventArgs e)
{ for (int i = 1; i < 10; i++)
{ System.Diagnostics.Process[] proc1;
proc1 = System.Diagnostics.Process.GetProcessesByName("название процесса");
foreach (System.Diagnostics.Process inst in proc1)
{
SendKeys.SendWait("{F1}");
System.Threading.Thread.Sleep(1000);
SendKeys.SendWait("{F2}");
System.Threading.Thread.Sleep(1000);
SendKeys.SendWait("{F3}");
System.Threading.Thread.Sleep(1000);
}
}
}Решение задачи: «SendKeys (или что-то подобное) в несколько процессов с одинаковым именем»
textual
Листинг программы
using System.Runtime.InteropServices;
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
[DllImport("User32.dll")]
static extern int SetForegroundWindow(IntPtr hWnd);
private void button1_Click(object sender, EventArgs e)
{
System.Diagnostics.Process[] process = System.Diagnostics.Process.GetProcesses();
foreach (System.Diagnostics.Process pro in process)
{
if (pro.ProcessName == "Totalcmd")
try
{
IntPtr hWnd = pro.MainWindowHandle;
SetForegroundWindow(hWnd);
SendKeys.Send("%{F7}");
break;
}
catch { }
}
}