因为ShellExecute调用是打开这种文件的默认调用,而不是特定的程序,比如在A电脑,打开图片可能是系统默认的图片和传真查看器,而B电脑打开是ACDSEE,C电脑是某看图软件一样,没有办法确定的。如果知道是什么软件打开,而且只有一个这个程序操作的,那么你使用FindWindow查找窗口句柄,存在则程序在运行,反之已结束。