2

あらゆる種類の対話型ダイアログが表示されないことが保証されるように、Windowsでプログラムを実行するための絶対確実な方法があるのではないかと思っていました。

レジストリの ErrorMode ハック、_CrtSetReportMode() の呼び出しなどを試しましたが、それらにはすべて穴が開いているか、プログラムを変更する必要があります。

任意のプログラムを実行し、実質的に Windows に強制的に実行させて、ウィンドウが開かないようにする方法が必要です。ウィンドウを開こうとすると、プログラムがクラッシュしてもまったく問題ありません。

プログラムをサービスとして実行することで問題は解決しますか?

4

2 に答える 2

1

私はおそらくうまくいくかもしれない他の方法を知りません。サービスとして実行しても、通常はアクセスできないサービスのデスクトップにダイアログが表示されるため、問題は解決しません。

于 2008-10-06T20:30:18.343 に答える
1

Detoursなどのライブラリを使用して、ダイアログ ボックスを表示する可能性のある関数へのすべての呼び出しをインターセプトすることができます (これは、実際には のほぼすべてである可能性がありますuser32.dll)。

于 2008-10-06T20:31:57.607 に答える