2008-10-06 62 views
2

我想知道是有一个很简单的方法,以在Windows上运行一个程序,我是显示保证任何没有交互式对话框。防止对话建立

我试过注册表错误模式黑客,调用_CrtSetReportMode()等,但他们都有他们的洞或要求你修改程序。

我需要一种方法来运行一个任意程序,并实际上迫使Windows执行它们,使他们不可能打开一个窗口。如果程序试图打开一个窗口,程序崩溃是完全可以的。

将运行该程序作为服务解决问题?

回答

1

我不知道有任何其他可能的工作方式。作为服务运行并不能解决问题,因为对话框将显示在您通常无法访问的服务桌面上。

+0

这是什么意思?应用程序是否仍然等待对话框完成?我可以接受,我没有看到对话框(我总是可以手动重新运行构建),只要应用程序不等待对话框。 – JesperE 2008-10-06 20:42:47

1

您可以使用库(如Detours)拦截所有可能显示对话框的函数调用(实际上这可能几乎全部都在user32.dll中)。