GetModuleFileName(NULL, szPathTemp, 512)
//取出文件路竖散径
for (int i=strlen(szPathTemp)i>=0i--)
{
if (szPathTemp[i] == '凯高\\')
{
szPathTemp[i] = '\余孙氏0'
break
}
}
这样试试,我用没问题
一、就陵猜是将你的配敏梁置文件安装在system32目录下二、在你的服务中通过注册表来获得这个服务的安装路径
/*
Windows服务在系桥汪运统安装后会在注册表的 "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\[ServiceName]"下以服务的ServiceName建1个目录,目录中会有"ImagePath"节,这里保存的就是该服务的安装路径。
*/
/// <summary>
/// 获取服务安装路径
/// </summary>
/// <param name="ServiceName"></param>
/// <returns></returns>
public static string GetWindowsServiceInstallPath(string ServiceName)
{
string key = @"SYSTEM\CurrentControlSet\Services\" + ServiceName
string path = Registry.LocalMachine.OpenSubKey(key).GetValue("ImagePath").ToString()
//替换掉双引号
path = path.Replace("\"", string.Empty)
FileInfo fi = new FileInfo(path)
return fi.Directory.ToString()
}
获取当前目录的方法有很多,其中之一:TCHAR szFilePath[MAX_PATH + 1]
GetModuleFileName(NULL, szFilePath, MAX_PATH)
(_tcsrchr(szFilePath, _T('//')))[1] = 0//删除族老拍兆羡文件名,只获得路径
CString str_url = szFilePath //str_url 中保存的是含誉当前目录
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)