能力值:
( LV12,RANK:230 )
|
-
-
2 楼
重命名 .wps 为 .doc
|
能力值:
( LV6,RANK:80 )
|
-
-
3 楼
哈哈,重命名不太友好吧,万一人家电脑上本就安装了wps呢,还有其他方式么亲
|
能力值:
( LV2,RANK:10 )
|
-
-
4 楼
你选打开方式的时候,默认打开方式的选项选上了吗?选上试试!
|
能力值:
( LV9,RANK:260 )
|
-
-
5 楼
那这样行不,我也没测试,理论上可行。真是有缘啊,我回答你好几个问题了
TCHAR szPath[MAX_PATH];
DWORD cchPath;
cchPath = MAX_PATH;
AssocQueryString(0,
ASSOCSTR_EXECUTABLE,
_T(".doc"),
NULL,
szPath,
&cchPath);//查询与.doc关联的可执行文件
ShellExecute(窗口句柄, "open", szPath, 文件完整路径, NULL, SW_SHOWNORMAL);
|
能力值:
( LV6,RANK:80 )
|
-
-
6 楼
[QUOTE=wertyuyuyu;1181467]那这样行不,我也没测试,理论上可行。真是有缘啊,我回答你好几个问题了 TCHAR szPath[MAX_PATH];
DWORD cchPath;
cchPath = MAX_PATH;
AssocQueryString(0,
ASSOCSTR_EXECU...[/QUOTE]
缘分啊,首先感谢亲。另外我发现了一个ShllExecute的问题,麻烦亲给解释一下:
本机测试代码:
ShellExecute(NULL,_T("open"),_T("C:\\Program Files\\Microsoft Office\\Office12\\WINWORD.EXE"),_T("[COLOR="Red"]C:\\Documents and Settings[/COLOR]\\Administrator\\桌面\\KP520_bug.wps"),NULL,SW_SHOWNORMAL);
DWORD error=GetLastError();
结果,打开了word,但是提示什么找不到文件,目录名无效等错误。
后来又测试了:
ShellExecute(NULL,_T("open"),_T("C:\\Program Files\\Microsoft Office\\Office12\\WINWORD.EXE"),_T("C:\\234.docx"),NULL,SW_SHOWNORMAL);
发现是可以正常打开的,经过思考测试,发现问题出在了参数中不能有空格(C:\\Documents and Settings),我的系统是xp
用了很多ShellExecute,都换成CreateProcess成本有点高,所以你看看有啥方式解决这个问题吗,xp桌面路径中包含空格也是客观事实。。。。。
|
能力值:
( LV9,RANK:260 )
|
-
-
7 楼
可以试着给参数加上"",双引号
ShellExecute(NULL,_T("open"),_T("C:\\Program Files\\Microsoft Office\\Office12\\WINWORD.EXE"),_T("\"C:\\Documents and Settings\\Administrator\\桌面\\KP520_bug.wps\""),NULL,SW_SHOWNORMAL);
|
能力值:
( LV9,RANK:260 )
|
-
-
8 楼
可以使用PathQuoteSpaces函数给路径加上双引号
|
能力值:
( LV6,RANK:80 )
|
-
-
9 楼
灰常感谢,PathQuoteSpaces
|
能力值:
( LV6,RANK:80 )
|
-
-
10 楼
虽然已经解决但还是附带追问一下吧:
用AssocQueryString获取.ico,.jpg等图片格式的关联程序,返回结果是
C:\\WINDOWS\\system32\\shimgvw.dll,用这个打不开ico,jpg格式的图片图标呢,也晓得注册表中是rundll32.exe C:\WINDOWS\system32\shimgvw.dll,ImageView_Fullscreen %1,想用AssocQueryString写个通用的,结果其他格式的貌似都可以,比如.zip,.doc等,但.jpg.bmp.ico却不满足,这个不晓得是否有办法?
|
|
|