如何保护我在vb.net程序中启动的进程?

时间:2010-11-18 14:46:16

标签: vb.net excel process protection

我创建了一个基本上可以读取和写入单个Excel.exe进程的小应用程序。它基本上是一个计时器,记录我在项目中使用的时间,然后将其存储在Excel工作表中。这很好用,但是,我注意到如果我手动打开Excel,处理一些工作表等等,保存并退出etcetc,我的软件使用的过程会被破坏或者什么。如果我手动关闭excel.exe进程并且​​我的软件“不知道”,就会发生同样的事情。

所以我想知道是否有可能以某种方式保护excel.exe进程?为了确保在此期间无法关闭或篡改?

3 个答案:

答案 0 :(得分:1)

让我建议一种替代方法,它不要求您始终运行Excel进程(毕竟,这也消耗了大量系统资源):

让您的应用程序记录您的信息。时不时 - 例如,在完成工作条目或经过特定时间后 - 打开Excel工作表,写入数据,然后再次关闭它(同时关闭要自动执行的Excel流程)。此保存操作不应超过几秒钟,它(通常)会阻止您遇到的问题。

事实上,由于Office自动化总是有点痛苦,更好的方法是输出数据而无需Excel过程。为此,您可以使用

答案 1 :(得分:0)

您无法保护进程,但可以检查process.HasExited属性以确定进程是否已终止并根据该进程采取操作。

答案 2 :(得分:0)

添加异常处理程序。如果可能的话,要么调用非抛出方法。