问题是这样的
我的程序中有一段这样的代码,是用来判断在程序当前运行的目录下面是否存在程序P,如果存在那么启动:
if (!System.IO.File.Exists("Sl.exe")) { //判断程序运行目录下是否存在Sl程序
//to do...
return;
}
这段代码是没有什么错误的,现在我的程序有个播放器Player,运行我的MainWindow,然后执行上面那段代码没有问题,Sl.exe成功启动了
接下来,我用打开一个player(在mainwindow中,而非独立程序)然后我打开一个媒体文件~ 然后我在执行上面那段代码,奇迹发生了,奇葩的事情也发生了
上面那段代码既然执行到了//to do那个里去了,要知道到我的Sl.exe程序可是一直都存在的哈~ 可是他既然跑到括号里面去执行了,既然判断结果会是我的Sl。exe程序不存在~
求解哈~ 虽然有很多替代方案,但是我还是很想知道这是为什么,这根我打开一个媒体文件有关系吗? 还是说我打开一个媒体文件,System.IO.File.Exists判断时候的目录就切换到了我打开媒体文件的所在目录???