|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Visual Basic Internet Routines UrlCreateFromPath: Proper URL Path Conversion from a DOS Path |
|
Posted: | Monday July 09, 2001 |
Updated: | Monday December 26, 2011 |
Applies to: | VB4-32, VB5, VB6 |
Developed with: | VB6, Windows 2000 |
OS restrictions: | See prerequisites below |
Author: | VBnet - Randy Birch |
Related: |
UrlUnescape: Encoding and Decoding URL Escape Characters UrlCanonicalize: Proper URL Path Encoding and Decoding UrlGetPart: Determine the Constituent Parts of a URL |
Prerequisites |
Shlwapi.dll version 5.00 or greater, Windows XP, 2000, Windows NT4 with IE 5 or later, Windows 98, or Windows 95 with IE 5 or later. |
|
UrlCreateFromPath, one of the Shell Lightweight Utility APIs, takes a a DOS path and converts it to a canonicalized URL. The function only works on paths that do not have an http:// prefix, returning strings suitable for use in a web page to access files on a specific machine. The DOS file path can reference a remote machine either by host name or by IP address. Where the file required conversion of spaces to escape characters, UrlCreateFromPath handles this chore automatically. |
BAS Module Code |
None. |
|
Form Code |
To a form add a command button (Command1) and six text boxes (Text1 through Text6) along with the following code: |
|
Option Explicit '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' ' Copyright ©1996-2011 VBnet/Randy Birch, All Rights Reserved. ' Some pages may also contain other copyrights by the author. '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' ' Distribution: You can freely use this code in your own ' applications, but you may not reproduce ' or publish this code on any web site, ' online service, or distribute as source ' on any media without express permission. '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' Private Const MAX_PATH As Long = 260 Private Const ERROR_SUCCESS As Long = 0 Private Declare Function UrlCreateFromPath Lib "shlwapi" _ Alias "UrlCreateFromPathA" _ (ByVal pszPath As String, _ ByVal pszUrl As String, _ pcchUrl As Long, _ ByVal dwReserved As Long) As Long Private Sub Form_Load() Text1.Text = "http://vbnet code lib/net code/../ip address.htm" Text1.Text = "c:\my documents\vbnet articles\random access.doc" Text2.Text = "" Text3.Text = "c:\documents\vbnet\randomaccess.doc" Text4.Text = "" Text5.Text = "\\192.168.1.102\vbnet\randomaccess.htm" Text6.Text = "" Command1.Caption = "Create From Path" End Sub Private Sub Command1_Click() Dim sPath As String Dim sUrl As String 'use the original string in Text1 for 'demo, and show results in Text2 sPath = Text1.Text sUrl = CreateUrlFromPath(sPath) Text2.Text = sUrl 'use the original string in Text3 for 'demo, and show results in Text4 sPath = Text3.Text sUrl = CreateUrlFromPath(sPath) Text4.Text = sUrl 'use the original string in Text5 for 'demo, and show results in Text6 sPath = Text5.Text sUrl = CreateUrlFromPath(sPath) Text6.Text = sUrl End Sub Private Function CreateUrlFromPath(ByVal sPath As String) As String Dim sUrl As String Dim dwSize As Long If Len(sPath) > 0 Then sUrl = Space$(MAX_PATH) dwSize = Len(sUrl) If UrlCreateFromPath(sPath, _ sUrl, _ dwSize, _ 0&) = ERROR_SUCCESS Then CreateUrlFromPath = Left$(sUrl, dwSize) End If 'If UrlCreateFromPath End If 'If Len(sUrl) > 0 End Function |
Comments |
|
|
|
|||||
|
|||||
|
|||||
Copyright ©1996-2011 VBnet and Randy Birch. All Rights Reserved. |