Service Local System以管理员身份运行应用程序

时间:2013-09-24 05:47:05

标签: vb.net

我是vb.net 2010的新程序员。 我创建了一个需要以管理员身份运行的应用程序(不通过UAC)。这是一个恶意软件保护软件,将与管理员权限一起安装。

我正在创建一个Windows服务,让它在系统启动时自动运行。 我创建的服务是本地系统服务。

执行应用程序后,本地系统服务未显示主应用程序窗口。 为了摆脱这个问题,我尝试用这个服务执行另一个应用程序。另一个应用程序将执行主应用程序。但是我收到了错误。

现在我的问题是如何通过本地系统服务以管理员身份执行应用程序?

以下是我在服务(第一个exe)和app starter exe(第二个exe)上使用的代码

服务代码:

 Protected Overrides Sub OnStart(ByVal args() As String)
        Dim procStartInfo As New ProcessStartInfo
        Dim procExecuting As New Process
        If File.Exists(OwnDirPath & "appstarter.exe") Then 'realtime
            With procStartInfo
                .UseShellExecute = True
                .FileName = OwnDirPath & "appstarter.exe"
                .WindowStyle = ProcessWindowStyle.Normal
                .Verb = "runas"
            End With
            procExecuting = Process.Start(procStartInfo)
        End If
    End Sub

App Starter code:

    Sub main()
        Dim procStartInfo As New ProcessStartInfo
        Dim procExecuting As New Process
        If File.Exists(My.Application.Info.DirectoryPath & "mfirewall.exe") Then                With procStartInfo
                .UseShellExecute = True
                .FileName = "mfirewall.exe"
                .WindowStyle = ProcessWindowStyle.Normal
                .Verb = "runas"
            End With
            procExecuting = Process.Start(procStartInfo)
        End If
    End Sub

修改 现在我从服务exe执行主应用程序exe时没有收到错误。但主应用程序窗口隐藏并运行SYSTEM帐户。

如何在不传递用户帐户密码的情况下,使用本地系统服务的用户帐户权限运行主应用程序?

请建议我最好的。

由于 的问候,

1 个答案:

答案 0 :(得分:0)

本地系统服务可以创建计划任务。我已导入xml文件并创建了计划任务及其完成。