我使用的是一个为excel电子表格添加值的应用程序,但有时候应用程序无法继续,因为它正在等待excel"您要保存吗?"显示"对话无法完成的对话,因为..."应用程序内的对话。
我嘲笑了一个快速的控制台应用程序,可以在需要时点击它来杀死excel进程,现在我希望能够在后台运行并在发生这种情况时自动关闭excel。
我如何检查具体的"无法完成某项操作......"对话?
编辑: 我应该指出,我正在使用的应用程序是在工作中提供给我的,我没有成功,我正在制作的程序只是为了帮助我摆脱疏忽,因为它非常糟糕。编码。
答案 0 :(得分:0)
您可能希望使用Excel Interop或更明确地使用Windows功能
http://msdn.microsoft.com/en-us/library/windows/desktop/ff468919%28v=vs.85%29.aspx http://www.codeproject.com/Articles/1285/Calling-API-functions-using-C
我的思路是使用Interop你可以获得一个Excel实例(可能)并杀死,如果没有使用Windows函数,你可以枚举打开的应用程序,然后用它们做你喜欢的事情。它相当低级别和hacky,但你会得到你需要的。
一种方法可能是,一旦你有一个应用程序的实例,你就能够识别其范围内的开放对话(可能必须为此进行轮询或以某种方式获得等待处理对话的事件,可能是查看特定hWnd或其他内容的Windows消息队列的低级别)
这不完全,但那是我的2。