很多时候我们需要将我们的程序写成利用Windows服务的形式来让它能够自启动。今天遇到一个问题,当一个程序注册成Windows Services的形式启动的话,当前程序的CurrentDirectory
会被设置成系统目录C:\WINDOWS\system32
。这样子的话如果你原先程序里访问一些相对路径的资源的话就会出错误,所以需要显示的将当前路径设置到运行程序所在的路径。
System.IO.Directory.SetCurrentDirectory(System.AppDomain.CurrentDomain.BaseDirectory);
什么?不知道怎么创建一个Windows Service的程序?
MSDN详解:How to: Create Windows Services