Как запустить функцию и ждать / не ждать ее в зависимости от того, является ли это приложение с графическим интерфейсом? - PullRequest
0 голосов
/ 20 июля 2010

Я ищу функцию Python, которая ведет себя так же, как интерпретатор команд Windows cmd.exe, когда дело доходит до ожидания запуска новых процессов.Прямо сейчас я использую os.system(), но эта функция всегда блокируется, даже при запуске приложений с графическим интерфейсом (которые, в случае, если они были написаны на C / C ++, имеют функцию WinMain и связаны с /SUBSYSTEM:WINDOWS).

Какой код следует использовать для запуска внешних процессов в случае, если я делаю хочу заблокировать функцию при запуске консольных приложений, но я не хочу блокировать ее при запускеПриложения с графическим интерфейсом?

Ответы [ 2 ]

2 голосов
/ 20 июля 2010

Вы можете написать небольшую оболочку / расширение C, которое проверяет подсистему (используя ImageNtHeader).Если ничего не помогает, вы можете напрямую проанализировать PE-заголовки.

0 голосов
/ 20 июля 2010

В Python нет стандартного способа проверки исполняемых файлов, которые вы можете запустить с помощью API процесса.

Как насчет запуска внешней команды с помощью cmd.exe? Или создайте BAT-скрипт в %TEMP% и запустите его.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...