Einen Tipp, wie Sie in Ihrem Programm einen Verweiß auf
Ihre Homepage hinterlegen und so dem User die Möglichkeit geben, sich immer über neue
Version oder weitere Programme zu informieren, dies findet sich schon unter den Tipps der
VB-Homepage.
Wenn Sie diese Funktionalität aber auch zur Verfügung stellen möchten,
auch wenn der User momentan gar nicht Ihr Programm nutzt, dann können Sie Ihm
(zumindestens für den IE) einen Eintrag in seine Favoriten schreiben.
Das Ganze besteht aus zwei Grundfunktionen.
Die erste besteht darin, den Favoriten Ordner des aktuellen Users zu ermitteln. Diese
Funktion wurde (wesentlich umfangreicher) schon als Tipp beschrieben.
Die zweite macht sich zu nutze, das diese Favoriten als Datei vorliegen und einer
einfachen Syntax unterliegen
Beispiel :
Im aktuellen Favoriten Ordner des Users liegt eine Datei Namens
Online Seminar MS IIS Sicherheit.URL
... dann ist der Angezeigte Name unter Favoriten
"Online Seminar MS IIS Sicherheit"
Diese Art Dateien enthalten standardmäßig drei Zeilen
[InternetShortcut]
URL=http://www.microsoft.com/seminar/1033/IISSecurity/Seminar.htm
Modified=400668A0556EBE01D0
Da die letzte Zeile (Datum des letzten Zugriffs) getrost weggelassen werden kann, kann man
also einfach eine Textdatei mit seinen Angaben anlegen.
Ein Demoprojekt, das den Eintrag beim Aufruf auslößt und sich anschließend gleich
wieder selbst beendet könnte somit folgendermaßen aussehen.
Allgemein/Deklarationen
Private Type SHITEMID
cb As Long
abID As Byte
End Type Private Type ITEMIDLIST
mkid As SHITEMID
End Type
Private Declare Function SHGetSpecialFolderLocation Lib
"shell32.dll" (ByVal hwndOwner As Long, ByVal nFolder As Long, pidl As
ITEMIDLIST) As Long
Private Declare Function SHGetPathFromIDList Lib "shell32.dll" Alias
"SHGetPathFromIDListA" (ByVal pidl As Long, ByVal pszPath As String) As Long
Const NOERROR = 0
Const CSIDL_FAVORITES = &H5
Const CSIDL_STARTUP = &H6
Private Sub From_Load()
Dim ItemList As ITEMIDLIST
Dim Pfad As String
Dim x As String
'Ermitteln userbezogenes Favoritenverzeichnis
If SHGetSpecialFolderLocation(Form1.hWnd, CSIDL_STARTUP, ItemList) = NOERROR Then
Pfad = Space$(255)
If SHGetPathFromIDList(ItemList.mkid.cb, Pfad) <> 0 Then
Pfad = Left$(Pfad, InStr(Pfad,
vbNullChar) - 1)
Else
Pfad = ""
End If
End If
'Konnte Pfad ermittelt werden, Linkdatei erzeugen
If Pfad <> "" Then
Open Pfad & "\VB - Homepage.url" For Output As #1
Print #1, "[InternetShortcut]"
Print #1, "URL=http://come.to/vb"
Close #1
End If
'Prüfung
x = Dir(Pfad & "\VB - Homepage.url")
'Auswertung
If Pfad = "" Or x = "" Then
MsgBox "Linkdatei konnte nicht erzeugt werden !",
vbCritical, "VB Tipp"
Else
MsgBox "Linkdatei erfolgreich angelegt", vbInformation,
"VB Tipp"
End If
Unload me
End
End Sub |