2008-10-06 69 views
2

我想知道是有一個很簡單的方法,以在Windows上運行一個程序,我是顯示保證任何沒有交互式對話框。防止對話建立

我試過註冊表錯誤模式黑客,調用_CrtSetReportMode()等,但他們都有他們的洞或要求你修改程序。

我需要一種方法來運行一個任意程序,並實際上迫使Windows執行它們,使他們不可能打開一個窗口。如果程序試圖打開一個窗口,程序崩潰是完全可以的。

將運行該程序作爲服務解決問題?

回答

1

我不知道有任何其他可能的工作方式。作爲服務運行並不能解決問題,因爲對話框將顯示在您通常無法訪問的服務桌面上。

+0

這是什麼意思?應用程序是否仍然等待對話框完成?我可以接受,我沒有看到對話框(我總是可以手動重新運行構建),只要應用程序不等待對話框。 – JesperE 2008-10-06 20:42:47

1

您可以使用庫(如Detours)攔截所有可能顯示對話框的函數調用(實際上這可能幾乎全部都在user32.dll中)。