有没有一种简单的方法可以在Windows中通过其关联程序打开文件?
(就像在 Windows 资源管理器中双击它一样,但使用我的代码自动完成)
例如,在计算机 A 上,“text.txt”将在写字板中打开,但在计算机 B 上,由于用户文件扩展名分配,它将由 Notepad++ 打开。
我尝试过 ShellExecutive
ShellExecute(0, L"open", L"c:\\windows\\notepad.exe" ,L"c:\\outfile.txt" , 0 , SW_SHOW );
这是有效的,但如果我省略 notepad.exe 参数,就会发生奇怪的事情(显示随机资源管理器)。
您想要使用要打开的文件作为文件参数,而不是参数参数。无需指定使用哪个程序,ShellExecute
将为您查找。
ShellExecute(0, 0, L"c:\\outfile.txt", 0, 0 , SW_SHOW );
将动词保留为 NULL (0) 而不是L"open"
,您将获得该文件类型的真正默认操作 - 通常这是open
但不总是。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)