代码之家  ›  专栏  ›  技术社区  ›  Rob

获取进程。从WindowsStyle开始工作

  •  0
  • Rob  · 技术社区  · 5 年前

    以下代码在适当设置MyWindowProcessingStyle的值后,有时可以工作,但在其他情况下不能工作:

         Dim MyWindowsProcessingStyle As ProcessWindowStyle = ProcessWindowStyle.Maximized
    
        ' the above set elsewhere to values of minimized, maximized, hidden, and normal
    
        Dim MyProcess as new Process
        Dim MyProcessStartInfo As New ProcessStartInfo
    
        With MyProcessStartInfo
             .FileName = Program
             .Verb = "open"
             .CreateNoWindow = True               
             .WindowStyle = MyWindowProcessingStyle
             .UseShellExecute = True
        End With
    
        myProcess.Start(MyProcessStartInfo)
    

    例如,如果我用它来启动一个批处理文件(.bat),它在100%的时间内都能可靠地工作。

    我需要保留MyProcessStartInfo中的其他部分,原因与我的应用程序如何工作有关。因此, this observation 对我没好处。

    我尝试过在应用程序启动后向它发送击键,例如(WIN)(downarrow)以在事后最小化应用程序—虽然这在很多情况下都有效,但在其他情况下它是有问题的和不稳定的。

    我也尝试过在应用程序启动后获取进程ID或句柄,希望在此之后我可以使用各种Pinvolke方法来获取我想要的东西——但遗憾的是,我在这方面失败了。

    0 回复  |  直到 5 年前