所有
我在Delphi 2007中使用CreateProcess和WaitForSingleObject打开文件并等待它们关闭。 我发现当我连续打开两个PDF文件时,第二个WaitForSingleObject立即返回。我还发现这适用于jpg和tif文件,但不是txt文件。另外,第二张PDF打开的时间比打开时长10秒! 它也发生在Vista和XP以及各种计算机上。 我错误地使用CreateProcess还是其他的东西?
任何帮助都将不胜感激。
此致
鲍勃
答案 0 :(得分:2)
发生的情况取决于为打开PDF或JPG文件而注册的应用程序。如果在SDI应用程序中打开文档,则每个 CreateProcess()调用都会返回一个应用程序的进程句柄,您可以等待 - 当编辑文档的应用程序关闭时,它将返回。“ p>
但是,如果应用程序仅限于单个实例,则只要新实例将数据传递给第一个实例(通常在新框架中打开文档),每次进一步调用都将返回,然后具有退出。我认为这就是你的情况,你可能正在使用Acrobat Reader来打开PDF文件吗?