VB6 - CreateProcessWithLogonW在Windows 10上不起作用 - 错误代码740

时间:2017-01-13 10:44:53

标签: vb6 windows-10 advapi32 createprocesswithlogonw

我需要维护一个旧的VB6应用程序。

在应用程序功能中是对CreateProcessWithLogonW的调用,它在Windows 10上运行时无效(但在Windows 7上运行正常)。

我通过拨打Err.LastDllError收到的错误代码是错误代码740 ,我认为这与“请求的操作需要提升。”有关。 UAC在我正在运行的Win 10机器上被禁用,因此我不确定这里的问题是什么?

有人有这方面的经验吗?非常感谢任何帮助!

令我感到困惑的是,它在Win7上运行时没有任何问题。

代码示例如下:

这是函数声明:

Private Declare Function CreateProcessWithLogon Lib "Advapi32" Alias "CreateProcessWithLogonW" ( _
    ByVal UserName As Long, _
    ByVal domain As Long, _
    ByVal Password As Long, _
    ByVal dwLogonFlags As Long, _
    ByVal ApplicationName As Long, _
    ByVal strCommandLine As Long, _
    ByVal dwCreationFlags As Long, _
    ByVal lpEnvironment As Long, _
    ByVal strCurrentDirectory As Long, _
    ByRef lpStartupInfo As STARTUPINFO, _
    ByRef lppiProcessInfo As PROCESS_INFORMATION) As Long

这是函数调用

CreateProcessWithLogon(StrPtr(UserName), StrPtr(domain), StrPtr(Password), _
                                LOGON_WITH_PROFILE, StrPtr(ApplicationName), StrPtr(strCommandLine), _
                                CREATE_DEFAULT_ERROR_MODE Or CREATE_NEW_CONSOLE Or CREATE_NEW_PROCESS_GROUP, _
                                ByVal 0&, StrPtr(strCurrentDirectory), suiStartUpInfo, piProcessInfo)

0 个答案:

没有答案