标题:
如何去掉文件路径的参数 获取正确的路径文件
[打印本页]
作者:
aliu134
时间:
2008-1-12 22:30
标题:
如何去掉文件路径的参数 获取正确的路径文件
我上次在用一个别人做的测试小工具时,看见能获取注册表RUN中的内容时,但遇到带参数的路径文件时忧郁就放弃了一些功能(如跳转到文件),在网上也查不到获取带参数路径名的正确路径名内容,也就是去掉参数或字符串,而带参数的程序不同,其参数也不同,如何去掉那些未知的参数呢?有些程序是如何做到的呢?个有其招,下是我写的个简单的例子,希望对初写检测小工具的人有点帮助!
这里以360注册表中的参数路径名为例:
(你可以自己写个GetPathFileEx的扩展函数,以下只是过程)
void CPFileExDlg::OnButton1() //按钮CLICKED事件
{
CString nFile,nFileEx; //定义2个字符类
nFile=_T("D:\\Program Files\\360safe\\safemon\\360Tray.exe \\Start 测试程序"); //要判断的带参数路径名
for(int i=0;i<nFile.GetLength();i++) //循环整个字符串的长度
{
int nCount=1; //递增变量一定要放到这里
nFile.Delete(nFile.GetLength()-nCount++,1); //从后依次删除最后一个字符串
if(nFile.Right(1)==".") //判断将要删除的最后一个字符,这里我以可用文件中的"."为特征进行判断是否是常规的文件名
{
nFileEx=_T("D:\\Program Files\\360safe\\safemon\\360Tray.exe \\Start 测试程序"); //再次取得未被删除字符的参数路径名
MessageBox(nFileEx.Left((nFileEx.GetLength()-i)+2)); //计算并获得正确完整的路径名
break;} //跳出循环
} return; //返回
}
结果为:"D:\Program Files\360safe\safemon\360Tray.exe"(当然路径名后面的参数或字符任你修改 结果都一样)
[
Last edited by aliu134 on 2008-1-15 at 18:44
]
欢迎光临 微点交流论坛 (http://bbs.micropoint.com.cn/)
bbs.micropoint.com.cn