是否有C ++ / win32库函数将文件路径转换为file:// URL?

时间:2009-12-03 21:52:07

标签: c++ winapi

我有LPTSTR的文件路径,即C:\Program Files\Ahoy。我想将其转换为file:// URL,我可以将其传递给ShellExecute,以启动系统指向该文件的默认浏览器。我不想直接提供ShellExecute的路径,因为文件关联可能导致它被Web浏览器以外的其他东西打开。路径是任意的,可能包含需要转义的字符。

是否有一个现有的库函数,就像Python的urllib.pathname2url一样,可以进行这种翻译吗?这可以通过.NET中的Uri类完成,但我没有找到任何简单的win32。

3 个答案:

答案 0 :(得分:9)

答案 1 :(得分:3)

Win32中有一个完整的路径处理库。它被称为Shell Path Handling Functions

答案 2 :(得分:0)

当然,只需将“\”替换为“/”并在前面添加file://就可以了?