vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
Erstellen von dynamischen Kontextmen?s - wann immer Sie sie brauchen!  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2024
 
zurück

 Sie sind aktuell nicht angemeldet.Funktionen: Einloggen  |  Neu registrieren  |  Suchen

Fortgeschrittene Programmierung
Re: LNK-Verknüpfung mit Icon erstellen 
Autor: michi-bib
Datum: 06.08.04 18:48

Hi Sebastian,

ich habe eben erst wieder Internet zur Verfügung, deshalb jetzt erst Antwort.

Hab mich nochmal mit dem Thema beschäftigt und die Funktion um den
Parameter "sICOFile" erweitert.

Meine Forschungen haben bisher folgendes ergeben:

Standardmäßig wird wohl das (erste) Icon des Targetfiles verwendet.

Mit der Methode setIconLocation des ShellLinkObjects kann man aber
auch was anderes einstellen:

Wenn der Targetfile beispielsweise mehrere Icons enthält, könnte man
z.B. das dritte als Symbol des Links verwenden (Parameter "ilIcon" der
Methode setIconLocation = 3)

Wenn man eine separate ico-Datei verwenden möchte, scheint dort der
derselbe Parameter mit Wert = 0 zu funktionieren.

Zum Testen hab ich mir mal auf'm Desktop 'ne Verknüpfung
(Win2000 SP4, VB6 SP6) angelegt so:

Private Sub Command3_Click()
    Call CreateShortcut("C:\Dokumente und Einstellungen\All" & _
      "Users\Desktop\MyApp.lnk", App.Path + "\MyApp.exe", App.Path + _
      "\Icons\MyIcon.ico", , "MyApp")
End Sub
 
Public Function CreateShortcut(ByVal sLinkFile As String, ByVal sTargetFile As _
  String, Optional sICOFile As String, Optional ByVal sArguments As String, _
  Optional ByVal sDescription As String, Optional ByVal sWorkingDir As String)
    Dim oShell As New Shell32.Shell
    Dim oFolder As Shell32.Folder
    Dim oLink As Shell32.ShellLinkObject
    Dim sPath As String
    Dim sFile As String
    Dim F As Integer
 
    On Error Resume Next
 
'Ordner und Dateiname extrahieren
    sPath = Left$(sLinkFile, InStrRev(sLinkFile, "\") - 1)
    sFile = Mid$(sLinkFile, InStrRev(sLinkFile, "\") + 1)
 
'Link-Datei mit 0 Bytes erstellen, da die Link-Datei bereits voranden sein muss
    F = FreeFile
    Open sLinkFile For Output As #F
    Close #F
 
    Set oFolder = oShell.NameSpace(sPath)
    Set oLink = oFolder.Items.Item(sFile).GetLink
 
'Eigenschaften der Verknüpfung
    With oLink
        If sICOFile <> "" Then .SetIconLocation sICOFile, 0
        If sArguments <> "" Then .Arguments = sArguments
        If sDescription <> "" Then .Description = sDescription
        If sWorkingDir <> "" Then .WorkingDirectory = sWorkingDir
        .Path = sTargetFile
'Verknüpfung speichern
        .Save
    End With
 
'Objekte zerstören
    Set oLink = Nothing
    Set oFolder = Nothing
    Set oShell = Nothing
End Function
Zusatzinfo ---> Ich weiß zwar nicht ob, dies hier jetzt 'nen "Profitip" ist, vielleicht kennst
du's ja auch schon: Wenn du den Verweis auf die Shell Components and
Automation in deinem Projekt hast, click mal in der Entwicklungsumgebung
auf Menu Ansicht/Objektkatalog. In der ComboBox, in der steht "Alle Bibliotheken",
wählst du "shell32" aus. Dann wird dir angezeigt, was da alles für Objekte drinnen
sind. Dort wählst du dann das ShellLinkObjekt aus und bekommst dort alle
Eigenschaften, Methoden und ggf. Ereignisse dieses Objekts angezeigt u.a.
auch die setIconLocation-Methode.

Ich geh jedenfalls immer so vor, wenn ich ein "unbekanntes Objekt" vor mir habe.

Dasselbe gilt übrigends für alle Komponenten und Verweise, die du deinem
Projekt hinzugefügt hast, und auch z.B. für Klassen, die du in deinem Projekt selbst
geschrieben hast.

So und nu' nach dem ellenlangen Geschwafel genehmige ich mir jetzt erstmal
'nen gepfegtes Bier.

I hope that helps.

Prost.

Gru? Michi aus Hannover

1 + 1 = 3 f?r hinreichend gro?e 1

alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
LNK-Verknüpfung mit Icon erstellen2.385Sebastian Steiner04.08.04 20:54
Re: LNK-Verknüpfung mit Icon erstellen1.576michi-bib05.08.04 09:39
Re: LNK-Verknüpfung mit Icon erstellen1.594Sebastian Steiner05.08.04 11:38
Re: LNK-Verknüpfung mit Icon erstellen2.218michi-bib06.08.04 18:48
Re: LNK-Verknüpfung mit Icon erstellen875Leberkas11.08.17 21:42
Re: LNK-Verknüpfung mit Icon erstellen872Franki12.08.17 03:21

Sie sind nicht angemeldet!
Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.

Einloggen  |  Neu registrieren

Funktionen:  Zum Thema  |  GesamtübersichtSuchen 

nach obenzurück
 
   

Copyright ©2000-2024 vb@rchiv Dieter Otter
Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.

Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel