现在,我正在我的Inno安装程序中改进日志记录,所以如果消费者遇到某种错误,我可以很容易地看到出了什么问题。
作为安装操作之一,我杀死应用程序进程(如果它正在运行)来优雅地覆盖文件。为了杀死应用程序,我使用了Inno安装程序杀死正在运行的进程中描述的方法-获取WbemObject
和调用WbemObject.Terminate
。
至于现在,我想追踪,如果Terminate
是成功的。从我的测试中,我发现它实际上返回布尔值,指示应用程序是否被成功终止。但是如果失败了,它只会返回"false“。我想知道更详细的原因。
那么,有没有办法得到WbemObject.Terminate
的实际故障原因呢?
发布于 2016-05-15 23:50:14
你拥有的不是WbemObject
,而是对象。
方法确实返回uint32
(Pascal中的Cardinal
),而不是Boolean
如果进程已成功终止,则返回值为0(零),并返回指示错误的任何其他数字。有关其他错误代码,请参见WMI误差常数或WbemErrorEnum。有关一般的值,请参见系统错误码。 成功完成 (0) 访问被拒绝 (2) 不足特权 (3) 未知故障 (8) 路径未找到 (9) 无效参数 (21) 其他(22-4294967295)
https://stackoverflow.com/questions/37248802
复制相似问题