SendKeys (или что-то подобное) в несколько процессов с одинаковым именем - C#

Узнай цену своей работы

Формулировка задачи:

Здраствуйте програмисты! столкнулся с такой проблемой. как можно сделать SendKeys на несколько одноимённых процессов (окна не активны). Вот кусок кода,того что пытался сделать (сильно не ругайте, только начал изучать ).
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);
                    }
                }
           }
Эмулирует нажатие клавишь только в 1 активное окно .

Решение задачи: «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 { }
 
            }
 
           
        }

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

11   голосов , оценка 3.636 из 5
Похожие ответы