Как побороть полноэкранное приложение, если я хочу показать свое приложение - PullRequest
0 голосов
/ 30 июня 2010

Бывают случаи, когда нужно запустить процесс, основываясь на некоторых событиях, не связанных с активностью мыши на клавиатуре (с аппаратной или временной).Он работает с ShellExecute и ShellExecuteEx в целом, но если есть полноэкранное приложение (созданное без полей точно с размерами экрана), это запущенное приложение не становится активным или даже видимым.Есть ли способ, чтобы вывести такое приложение поверх этого полноэкранного приложения?Я знаю о ShellExecuteEx и манипуляциях с hProcess, но, похоже, это касается совсем недавнего API (GetProcessId), и кажется, что эта функция имеет некоторые ограничения, связанные с правами пользователя.

Спасибо

1 Ответ

1 голос
/ 30 июня 2010

Вы можете использовать

SystemParametersInfo (SPI_SETFOREGROUNDLOCKTIMEOUT, 0, (PVOID)0,
                      SPIF_SENDWININICHANGE | SPIF_UPDATEINIFILE);

, чтобы сделать это до запуска процесса, но вы должны сделать это временно, как описано в Как убедиться, что окно процесса, запущенное Process.Start (ProcessStartInfo), имеет фокусиз всех форм? .

Пожалуйста, делайте это только вам действительно , чтобы начать процесс сверху.

...