UrlCreateFromPath

C# Signature:

[DllImport("shlwapi.dll", CharSet=CharSet.Auto)]
    static extern int UrlCreateFromPath(
    [In]     string path,
    [Out]    StringBuilder url, 
    [In,Out] ref uint urlLength,
    [In]     uint reserved
    );

VB Signature:

Declare Unicode Function UrlCreateFromPath Lib "shlwapi.dll" Alias "UrlCreateFromPathW" _
    (ByVal path As String, _
     ByVal url As System.Text.StringBuilder, _
     ByRef urlLength As System.UInt32, _
     ByVal reserved As Integer _
    ) As Integer

Sample Code (C# console):

[STAThread]
    static void Main(string[] args)
    {
      Console.Write(@"Enter filename: ");
      string filename = Console.ReadLine();
      Console.WriteLine(UrlFromPath(filename));

      Console.Read();
    }

    private static string UrlFromPath(string filepath)
    {
      uint maxLen=2048+32+3;//see INTERNET_MAX_URL_LENGTH
      StringBuilder url = new StringBuilder((int)maxLen);
      UrlCreateFromPath(filepath,url,ref maxLen,0);
      return url.ToString();
    }

Sample Code (VB winform):

Última actualización