Окно поверх других WinApi, C#

127
23 декабря 2020, 21:00

Всем привет, автоматизирую программу для клиента. Т.е. отправляю команды "Чужой" программе. Проблема в том, что при запуске "Чужой" программы, если при этом запущен браузер или любое другое приложение, фокус на нужную программу не приходит, пока я не кликну мышкой. Все что я перепробовала:

    ShowWindow(hwnd, SW_MINIMIZE);
    ShowWindow(hwnd, SW_SHOWNORMAL);
   _______________________________________
    SetForegroundWindow (hwnd);
   _______________________________________
    var procs = System.Diagnostics.Process.GetProcessesByName("Soft");
                foreach (System.Diagnostics.Process p in procs)
                {
                    ShowWindow(p.MainWindowHandle, 1);
                    SetForegroundWindow(p.MainWindowHandle);
                }

Все это работает, если приложение не перекрыто например браузером, но если перекрыто, то иконка приложения просто мигает в панеле задач и она не сможет принять клики и пр, пока не активируешь её сам мышкой(

Но мне нужна полная автоматизация. Возможно это будет граничить с вирусом, но я делаю это для одного клиента, он не сможет всегда нажимать на программу самостоятельно. Я реально перепробовала много вариантов, попробуйте сами, если у вас получится, то надеюсь на помощь

Answer 1

метод SetWindowPos работает для меня

READ ALSO
Перезапись xml файла на c#

Перезапись xml файла на c#

Добрый день подскажите пожалуйста как изменить один из элементов xml файла и перезаписать, вот код

137
Rijndael ошибка инициализации вектора iv

Rijndael ошибка инициализации вектора iv

Не могу изменить ключ для шифрования и расшифровки пишет ошибку:

121
Быстрое преобразование Фурье и обратное преобразование

Быстрое преобразование Фурье и обратное преобразование

Я ищу реализацию БПФ наNET-совместных языках

101
Как связать две таблицы с помощью DataGridViewComboBoxColumn?

Как связать две таблицы с помощью DataGridViewComboBoxColumn?

У меня есть две таблицы Timetable и Services связанные по ID_ServiceTimetable представлена как DataGrid

118