当前位置:  开发笔记 > 编程语言 > 正文

获取Windows服务的完整路径

如何解决《获取Windows服务的完整路径》经验,为你挑选了5个好方法。

如何查找动态安装Windows服务.exe文件的文件夹?

Path.GetFullPath(relativePath);

返回基于C:\WINDOWS\system32目录的路径.

但是,该XmlDocument.Load(string filename)方法似乎是针对安装服务.exe文件的目录中的相对路径.



1> Greg Dean..:

尝试

System.Reflection.Assembly.GetEntryAssembly().Location


对于我的服务,"System.Reflection.Assembly.GetEntryAssembly()"为null.
看看Curtis Yallop的回答者.好多了!

2> Curtis Yallo..:

试试这个:

AppDomain.CurrentDomain.BaseDirectory

(就像这里:如何找到Windows服务exe路径)



3> 小智..:
Path.GetDirectoryName(System.Reflection.Assembly.GetEntryAssembly().Location)



4> lowglider..:

这适用于我们的Windows服务:

//CommandLine without the first and last two characters
//Path.GetDirectory seems to have some difficulties with these (special chars maybe?)
string cmdLine = Environment.CommandLine.Remove(Environment.CommandLine.Length - 2, 2).Remove(0, 1);
string workDir = Path.GetDirectoryName(cmdLine);  

这应该为您提供可执行文件的绝对路径.



5> Chris S..:

上面的另一个版本:

string path = Assembly.GetExecutingAssembly().Location;
FileInfo fileInfo = new FileInfo(path);
string dir = fileInfo.DirectoryName;

推荐阅读
kikokikolove
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有