Wykonywanie programu w oknie obcej aplikacji

Wykonywanie programu w oknie obcej aplikacji
AD
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 6
0

Jak wykonać kod programu w oknie obcej aplikacji np. gry. Mamy takie coś

Kopiuj
 private void button1_Click(object sender, EventArgs e)
        {


       
                   Thread.Sleep(10000);
                   SendKeys.Send("+{UP}");
                   SendKeys.Send("{ENTER}");
                 
       
            }

Chcę to wykonać w oknie gry. Ma być w pętli (żeby po naciśnięciu przycisku "ESC" przestał działać). Jaką pętlę zastosować? While mi się zacinała (pewnie wykonywała w nieskończoność). Nawet jak jej dałem sensowne warunki. Jak to zrobić?

AD
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 6
0

Podbijam!

AF
  • Rejestracja: dni
  • Ostatnio: dni
0

Odpal tę pętlę w innym wątku, aby nie zawieszać wątku graficznego.

wedlock
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Bartoszyce
  • Postów: 180
0
Adisek napisał(a):

Jak wykonać kod programu w oknie obcej aplikacji np. gry.

Adisek napisał(a):

Mamy takie coś

Kopiuj
 private void button1_Click(object sender, EventArgs e)
        {
                   Thread.Sleep(10000);
                   SendKeys.Send("+{UP}");
                   SendKeys.Send("{ENTER}");
            }

Twój post zawiera tak naprawdę 2 sprzeczne ze sobą pytania. Pytanie 1. dotyczy odpalenia twojego programu przez inny program. Pytanie nr 2 pokazuje kod z którego można się domyślić, że twój program odpala inny program. Zdecyduj się o co pytasz.

AD
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 6
0
Afish napisał(a):

Odpal tę pętlę w innym wątku, aby nie zawieszać wątku graficznego.

Jak?

Kopiuj
 
    private void button1_Click(object sender, EventArgs e)
    {
    
        var myWindow = IntPtr.Zero;
        int i = 0;
        foreach (var proc in Process.GetProcessesByName("Tibianic"))
        {
               myWindow = proc.MainWindowHandle;

         

                SetForegroundWindow(myWindow);
                Thread.Sleep(10000);
                SendKeys.Send("+{UP}");
                SendKeys.Send("{ENTER}");             
            }
        } 
Kopiuj

Tutaj dałem całego tego buttona. Co jest nie tak?

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.