Запретить появление диалогов в автоматических сборках - PullRequest
2 голосов
/ 07 октября 2008

Мне было интересно, есть ли надежный способ запустить программу в Windows, чтобы я гарантировал , что никаких интерактивных диалогов любого типа не отображаются. *

Я попытался взломать реестр с помощью ErrorMode, вызвав _CrtSetReportMode () и т. Д., Но у них всех есть дыры или требуется изменить программу.

Мне нужен способ запустить произвольную программу и практически заставить Windows выполнить их так, чтобы у них не было возможности открыть окно. Это нормально, если программа попытается открыть окно.

Решит ли проблема запуск программы как службы?

Ответы [ 2 ]

1 голос
/ 07 октября 2008

Вы можете использовать библиотеку, такую ​​как Detours , чтобы перехватывать все вызовы функций, которые могут отображать диалоговое окно (это может фактически быть почти все в user32.dll).

1 голос
/ 07 октября 2008

Я не знаю других способов, которые могли бы сработать. Запуск в качестве службы также не решит проблему, так как на рабочем столе службы появится диалоговое окно, к которому у вас обычно нет доступа.

...