2

有没有办法检查应用程序是否已完成加载。

例如,如果我要使用Process newProcess = Process.Start(@"C:\someFile.xls"); is thereIsLoaded or IsFinishedLoading或类似的东西,那么在应用程序完全加载之前,另一行代码不会触发。

我问是因为我在尝试与 Excel 工作表交互时遇到错误,因为它没有打开。仅Process newProcess = Process.Start(@"C:\someFile.xls");在我的应用程序由于没有打开 excel 文档而崩溃之后才可以使用。

现在有没有办法加快程序/文件的启动速度?还是我编码错误。

4

2 回答 2

3

没有通用的方法可以知道应用程序何时启动或完成打开文档。

一些程序(即 Office 应用程序)提供 API 来通信/控制它们,而其他程序(即记事本)则无法知道这些信息。

于 2012-07-03T05:02:42.640 回答
1

既然您已经在使用 Interop,为什么不实际创建 Excel 应用程序并加载文档呢?如果需要,您还可以使应用程序对用户可见。

使用:

Excel.Application excel = new Excel.ApplicationClass();
Workbook wb = excel.Workbooks.Open(path, <parameters>);
于 2012-07-03T06:02:30.287 回答