相关疑难解决方法(0)

在Windows上查找父进程ID

问题

给定远程Windows主机上的进程ID和命令行访问权限,如何找到其父进程的PID?

鉴于Marc B的答案,我们可以使用WMIC(此处的命令示例)并执行以下操作:

wmic process where (processid=PROCID_HERE) get parentprocessid

windows cmd

38
推荐指数
3
解决办法
6万
查看次数

如果从命令行启动,则输出到命令行

我正在编写一个可以作为标准WinForms应用程序启动的应用程序,也可以从命令行以无人值守模式启动.该应用程序是使用VS 2k5标准WinForms模板构建的.

当从命令行执行应用程序时,我希望它输出可由执行应用程序的脚本捕获的信息.当我直接从Console.WriteLine()执行此操作时,输出不会出现,尽管它可以通过管道传输到文件来捕获.

另一方面,我可以通过在kernel32上对AllocConsole()执行P/Invoke来强制应用程序弹出第二个控制台.但这不是我想要的.我希望输出出现在调用应用程序的同一窗口中.

这是允许我从命令行弹出控制台的显着代码:

<STAThread()> Public Shared Sub Main()

    If My.Application.CommandLineArgs.Count = 0 Then
        Dim frm As New ISECMMParamUtilForm()
        frm.ShowDialog()
    Else
        Try
            ConsoleControl.AllocConsole()
            Dim exMan As New UnattendedExecutionManager(ConvertArgs())
            IsInConsoleMode = True
            OutputMessage("Application started.")
            If Not exMan.SetSettings() Then
                OutputMessage("Execution failed.")
            End If
        Catch ex As Exception
            Console.WriteLine(ex.ToString())
        Finally
            ConsoleControl.FreeConsole()
        End Try

    End If

End Sub

Public Shared Sub OutputMessage(ByVal msg As String, Optional ByVal isError As Boolean = False)
    Trace.WriteLine(msg)
    If IsInConsoleMode Then
        Console.WriteLine(msg)
    End If

    If isError Then
        EventLog.WriteEntry("ISE …
Run Code Online (Sandbox Code Playgroud)

command-line .net-2.0

6
推荐指数
2
解决办法
1万
查看次数

标签 统计

.net-2.0 ×1

cmd ×1

command-line ×1

windows ×1