一客户反馈,软件(C#)手动打开时正常,而设置为开机启动后,播放视频的功能失效。 测试发现,是开机启动时,程序没有找到视频文件的路径。因为此时获取的当前路径是 C:\windows
一客户反馈,软件(C#)手动打开时正常,而设置为开机启动后,播放视频的功能失效。
测试发现,是开机启动时,程序没有找到视频文件的路径。因为此时获取的当前路径是 C:\windows\system32。
查资料,修改了写法,问题解决,总结如下:
如果软件是用户手动打开的,获取当前目录方法如下,获取的是一个exe文件所在的文件夹路径。
System.Environment.CurrentDirectory
如果软件需要开机启动,则获取当前目录的方法如下:
string adPath = System.Reflection.Assembly.GetEntryAssembly().Location;
获取的是exe自身所在路径,为了获取它所在的文件夹路径,还需要再做一部处理,用Substring方法把exe的名称拿掉:
adPath = adPath.Substring(0, adPath.LastIndexOf("\\"));
第二种方法更全面。