InternetCrackUrl

Aus API-Wiki
Zur Navigation springenZur Suche springen
Declare Sub InternetCrackUrl Lib "wininet.dll" _
            Alias "InternetCrackUrlA" ( _
            ByVal lpszUrl As String, _
            ByVal dwUrlLength As Long, _
            ByVal dwFlags As Long, _
            ByRef lpUrlComponents As URL_COMPONENTSA)

Beispiel

Public Function GetURL(ByVal URL As String) As Boolean
Dim COMPONENTS As URL_COMPONENTS
Dim Buffer As String
Dim BufLen As Long
Const BufSize = 1024
      
GetURL = False
   
Buffer = Space$(BufSize)
BufLen = Len(Buffer)
If InternetCanonicalizeUrl(URL, Buffer, BufLen, ICU_BROWSER_MODE) Then
   URL = Left(Buffer, BufLen)
   With COMPONENTS
       .StructSize = Len(COMPONENTS)
       .Scheme = Space$(INTERNET_MAX_SCHEME_LENGTH)
       .SchemeLength = INTERNET_MAX_SCHEME_LENGTH
       .nScheme = InternetSchemeUnknown
       .HostName = Space$(INTERNET_MAX_HOST_NAME_LENGTH)
       .HostNameLength = INTERNET_MAX_HOST_NAME_LENGTH
       .nPort = 0
       .UserName = Space$(INTERNET_MAX_USER_NAME_LENGTH)
       .UserNameLength = INTERNET_MAX_USER_NAME_LENGTH
       .Password = Space$(INTERNET_MAX_PASSWORD_LENGTH)
       .PasswordLength = INTERNET_MAX_PASSWORD_LENGTH
       .URLPath = Space$(INTERNET_MAX_PATH_LENGTH)
       .UrlPathLength = INTERNET_MAX_PATH_LENGTH
       .ExtraInfo = Space$(BufSize)
       .ExtraInfoLength = BufSize
   End With
 
   GetURL = CBool(InternetCrackUrl(URL, Len(URL), ICU_ESCAPE, COMPONENTS))
   With COMPONENTS
       mvarScheme = Left$(.Scheme, .SchemeLength)
       mvarlScheme = .nScheme
       mvarHostName = Left$(.HostName, .HostNameLength)
       mvarUserName = Left$(.UserName, .UserNameLength)
       mvarPassword = Left$(.Password, .PasswordLength)
       mvarURLPath = Left$(.URLPath, .UrlPathLength)
       mvarURLExtraInfo = Left$(.ExtraInfo, .ExtraInfoLength)
       mvarPort = .nPort
   End With
       
End If
End Function


Diese Deklaration wurde von Bernhard Döbler erstellt. Sollten Sie Fragen zur Verwendung der entsprechenden Funktion haben, so verwenden Sie hierfür bitte das Visual Basic Forum, die Artikeldiskussionsseite oder die Nutzerdiskussionsseite.