小编Wil*_*ias的帖子

如何避免进程从C#应用程序中窃取焦点?

我在C#中按顺序启动多个进程时遇到一些问题.我试图开始的这些过程或多或少花了30秒来完成他的程序.而且我不希望这些流程从任何应用程序中窃取焦点.我尝试了两种方法(以下代码进入循环语句):

myProcess.StartInfo.UseShellExecute = true;
myProcess.StartInfo.FileName = "References\\InclinacaoHGrid.exe";
myProcess.StartInfo.CreateNoWindow = true;

myProcess.StartInfo.Arguments = i.ToString() + " " + j.ToString() + " " +
                                        valA + " " + valS + " " + valP + " " + pathNodes;
myProcess.StartInfo.WindowStyle = ProcessWindowStyle.Minimized;
myProcess.EnableRaisingEvents = true;
myProcess.Exited += new EventHandler(myProcess_Exited);
myProcess.OutputDataReceived += new DataReceivedEventHandler(myProcess_OutputDataReceived);
myProcess.Start();
myProcess.WaitForExit();
Run Code Online (Sandbox Code Playgroud)

并使用Interaction.Shell和参数"AppWinStyle.MinimizedNoFocus":

int pid = Interaction.Shell("References\\InclinacaoHGrid.exe " + i.ToString() + " " + j.ToString() + " " +
                                        valA + " " + valS + " " …
Run Code Online (Sandbox Code Playgroud)

c# focus process

5
推荐指数
1
解决办法
2271
查看次数

标签 统计

c# ×1

focus ×1

process ×1