我用 explorer.exe /select 的方式实现的,实现是实现了 但是有两个问题
1.如果我直接 /select 这样执行 第一次是可以选中我指定的文件没错, 但是当这个打开的文件夹没有关闭掉的情况下再次执行的话就有问题了, 他好像总是选中第一次执行的文件 这是为什么呀?2.如果我用 /n,/select 或 /e,/select 执行的话就把上面的问题解决了, 但是他每次执行都打开一个新的文件夹,并不是激活原先已经打开的文件夹 并选中本次要选中的文件(同一个目录的情况下)我想要的结果就是实现每次把目录打开并选中指定的文件, 如果目录已经打开了那么就激活文件夹并选中指定的文件
这个应该怎么做呀 ? 望各位不吝赐教 你们的方法 小弟在此谢过
1.如果我直接 /select 这样执行 第一次是可以选中我指定的文件没错, 但是当这个打开的文件夹没有关闭掉的情况下再次执行的话就有问题了, 他好像总是选中第一次执行的文件 这是为什么呀?2.如果我用 /n,/select 或 /e,/select 执行的话就把上面的问题解决了, 但是他每次执行都打开一个新的文件夹,并不是激活原先已经打开的文件夹 并选中本次要选中的文件(同一个目录的情况下)我想要的结果就是实现每次把目录打开并选中指定的文件, 如果目录已经打开了那么就激活文件夹并选中指定的文件
这个应该怎么做呀 ? 望各位不吝赐教 你们的方法 小弟在此谢过
strFile 是文件的绝对路径: C:\\***\\a.txt
char sparam[MAX_PATH*2+10];
sprintf(sparam,"/n,/select,%s",strFile);
::ShellExecute(0,"open","explorer.exe",sparam ,NULL,SW_SHOWNORMAL);
CString strParameter(_T("/select,"));
strParameter += "C:\\boot.ini";
ShellExecute(0,_T("open"),_T("Explorer.exe"),strParameter,0,SW_NORMAL); 参考:Explorer.exe 参数解析
http://wenku.baidu.com/view/46d822fef705cc175527090f.html