首页 新闻 搜索 专区 学院

程序调用exe之后出现界面重复。

0
悬赏园豆:30 [待解决问题]

string strExePath = Application.StartupPath + @"\ScheduleMutiPB.exe";
StringBuilder sbParm = new StringBuilder();
sbParm.Append("/");
sbParm.Append(BaseForm.strSkinName);
sbParm.Append("/");

System.Diagnostics.Process exep = new System.Diagnostics.Process();
exep.StartInfo.FileName = strExePath;
exep.StartInfo.Arguments = dateBegin.ToShortDateString() + "," + dateEnd.ToShortDateString() + " " + banciInfo.TrimEnd(',') + " " + sbParm.ToString ();
exep.StartInfo.CreateNoWindow = true;
exep.StartInfo.UseShellExecute = false;
exep.Start();
exep.WaitForExit();//关键,等待外部程序退出后才能往下执行
exitCode = exep.ExitCode.ToString();

 

上边是调用exe的代码,这个exe会弹出一个窗体,现在出现的问题是当窗体弹出之后,我移动窗体的位置,窗体界面会重复。跪求解决啊。

迷、的主页 迷、 | 初学一级 | 园豆:12
提问于:2011-12-01 21:58
< >
分享
所有回答(3)
0

关键是这多个窗体是怎么产生的

是弹出了多个窗口在相同的位置还是你移动窗口时新弹出了窗口,从你上面的代码都看不出来啊

artwl | 园豆:16536 (专家六级) | 2011-12-01 22:40
0

移动会出现?你有没有看看进程,是不是会出现重复的?如果不是的,是不是及其太卡!

小小刀 | 园豆:1991 (小虾三级) | 2011-12-01 23:10
0

估计是这段代码被调用多次,导致创建多个相同的进程,创建相同位置的窗口。这样你移动上层窗口,当然就会出现你看到的窗口重叠现象了。

排查一下进程序列,是否存在多个你正创建的相同进程?

如果是创建了多个相同的进程,唯一化以上代码段执行过程试试。

胡屯 | 园豆:714 (小虾三级) | 2011-12-02 11:54
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册