0

我想知道服务启动模式是否设置为“自动”,如果是,请将其设置为“手动”

我有这个代码:

        If objService("StartMode").ToString = "Automatic" Then
            objService.ChangeStartMode("Manual")
        End If

但是当我编译我的项目时,Visual Studio 会报告该错误:

COMException 未处理:未找到成员。(来自 HRESULT 的异常:0x80020003 (DISP_E_MEMBERNOTFOUND))

If objService("StartMode").ToString = "Automatic" Then

请帮我解决这个问题?这对我来说非常重要。谢谢。

我在管理员帐户上使用 Visual Studio 2008、VB.NET、Windows XP Sp3。

4

1 回答 1

0
    If objService("StartMode").ToString = "Automatic" Then

您正在使用后期绑定,这是一种使用 COM 对象的方式,当您不正确地使用它们的属性和方法时,往往会给您带来运行时错误。您可以通过使用 System.Management 命名空间中的类来避免此类问题。

该语句没有执行您认为的操作,它调用接口的默认属性并将“StartMode”作为参数传递给该默认属性的属性获取器。这不是该接口的正确用法,StartMode 本身就是一个属性,它不是默认属性。使固定:

    If objService.StartMode = "Automatic" Then
于 2012-12-20T20:04:37.737 回答