当前位置:  开发笔记 > 编程语言 > 正文

C#Process.Start,如何防止现有应用程序的重用?

如何解决《C#Process.Start,如何防止现有应用程序的重用?》经验,为你挑选了0个好方法。

我正在编写程序中的一个功能,用户可以编辑存储在数据库中的文档,它将文档保存到临时文件夹,然后使用Process.Start将文档启动到编辑应用程序中,例如,使用Microsoft Word.

然后我的应用程序需要等到他们关闭被调用的进程并用temp文件夹中新编辑的副本替换数据库中的文档.

只要被调用的应用程序尚未运行,以下代码就可以正常工作:

ProcessStartInfo pInfo = new ProcessStartInfo();
pInfo.FileName=TempFolder + Path.DirectorySeparatorChar + f.Name;
Process p = new Process();
p.StartInfo = pInfo;
p.Start();
//p is null at this point if called application was already running
//i.e. Microsoft Word is re-used instead of starting a fresh copy
p.WaitForInputIdle();
p.WaitForExit();

有没有办法强制启动一个全新的流程,或者任何人都可以想到另一种方法来处理这个问题.我真的不希望用户能够在我的应用程序中执行任何其他操作,直到他们关闭被调用的进程,因为我需要知道他们是否在那个时间点编辑了该文件,而不是之后各种各样的其他问题可能会蔓延.

推荐阅读
php
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有