我有LPTSTR
的文件路径,即C:\Program Files\Ahoy
。我想将其转换为file://
URL,我可以将其传递给ShellExecute,以启动系统指向该文件的默认浏览器。我不想直接提供ShellExecute的路径,因为文件关联可能导致它被Web浏览器以外的其他东西打开。路径是任意的,可能包含需要转义的字符。
是否有一个现有的库函数,就像Python的urllib.pathname2url一样,可以进行这种翻译吗?这可以通过.NET中的Uri类完成,但我没有找到任何简单的win32。
答案 0 :(得分:9)
有UrlCreateFromPath
API:
http://msdn.microsoft.com/en-us/library/bb773773%28VS.85%29.aspx
答案 1 :(得分:3)
Win32中有一个完整的路径处理库。它被称为Shell Path Handling Functions。
答案 2 :(得分:0)
当然,只需将“\”替换为“/”并在前面添加file://就可以了?