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

DNS*_*DNS 4 c++ winapi

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

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