如何在不失去焦点的情况下启动流程

时间:2012-11-09 15:48:59

标签: .net vb.net winforms visual-studio-2010 start-process

我正在使用以下代码开始一个新流程:

    Dim procStartInfo As New ProcessStartInfo
    Dim procExecuting As New Process

    With procStartInfo
        .FileName = "C:\PTL\Bin\xxxxxx.exe"
        .WindowStyle = ProcessWindowStyle.Normal
        .Arguments = "/POLL:5"
    End With

    procExecuting = Process.Start(procStartInfo)

但是当这个被调用的应用程序我从失去焦点调用它时(即使窗口样式设置为隐藏),所以如果我在表单上键入文本框,则按下它们会因为重定向而被有效丢失到新的应用程序。

我是否有某种方法可以启动流程并保持关注?

2 个答案:

答案 0 :(得分:0)

您需要调用Windows API来隐藏从该进程创建的窗口。校验: http://social.msdn.microsoft.com/Forums/eu/vbgeneral/thread/7dace225-e4d0-4b0e-b61b-fceb7a5a4860

答案 1 :(得分:0)

如果要将密钥发送到文本框,请使用sendmessage。

http://www.pinvoke.net/default.aspx/user32.sendmessage