Aplikacja korzystająca z GUI instalatora innej aplikacji

0

Dzień dobry,

czy istnieje możliwość obsługi przycisku z innej aplikacji np. z pliku instalatora przycisk "DALEJ".
Chodzi o taką sytuacje kiedy przyciskając przycisk w mojej aplikacji przyciśnie się przycisk w innym procesie.
Napisałem kod który przechwytuje id procesu i przesyła mu konkretne przyciski.
Kod działa ładnie zaczytuje id procesu wysyła przyciski wpisuje je oraz klika enter
(Test przeprowadzony na programie AnyDesk)
Problem pojawia się kiedy chce obsłużyć instalator. Fizyczne naciśnięcie entera przechodzi do dalszego kroku
Jednakże wysłanie entera za pomocą mojej aplikacji już nie działa (W AnyDesk działa bez problemu).
Przesuwanie kursora odpada.

Z góry dziękuje za udzielone odpowiedzi.

public void openFile(Process myProcess)
{
    string path;
    path = textBox1.Text;
    myProcess.StartInfo.UseShellExecute = false;
    myProcess.StartInfo.FileName = path;
    myProcess.StartInfo.CreateNoWindow = true;
    myProcess.Start();
}

public void closeFile(Process myProcess)
{
    myProcess.Kill();

}

public void Control(Process myProcess)
{
    int id = myProcess.Id;
    Process localById = Process.GetProcessById(id);
    string test = id.ToString();
    IntPtr h = localById.MainWindowHandle;

    if (SetForegroundWindow(h))
    {
        SendKeys.Send("{T}{E}{S}{T}");
        SendKeys.Send("{ENTER}");
    }

    MessageBox.Show(test);
}
0

A może lepiej zdobądź uchwyt do instalatora, znajdź przycisk i wyślij WM_Click?

0
hipekk napisał(a):

A może lepiej zdobądź uchwyt do instalatora, znajdź przycisk i wyślij WM_Click?

Możesz nieco jaśniej wyjaśnić na czy m polega twoja koncepcja?

0

@winci jasne, ale czego konkretnie nie rozumiesz?
Podziel sobie moją poprzednią odpowiedź na trzy niezależne operacje i poszukaj info w Google :)

1 użytkowników online, w tym zalogowanych: 0, gości: 1