URLShortcut erstellen

Hier könnt Ihr gute, von Euch geschriebene Codes posten. Sie müssen auf jeden Fall funktionieren und sollten möglichst effizient, elegant und beispielhaft oder einfach nur cool sein.
Benutzeravatar
ts-soft
Beiträge: 22292
Registriert: 08.09.2004 00:57
Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel
Wohnort: Berlin

URLShortcut erstellen

Beitrag von ts-soft »

In z.B. VBS gibt es eine Funktion, um Internetverknüpfungen zu erstellen. Interessant für Setup-Programme usw. Hab diese Funktion auf einfachste Weise in PB mal nachgebildet. Vielleicht kann's ja jemand gebrauchen.

Code: Alles auswählen

;##############################################################

; Einfache Procedure, um eine Internetverknüpfung zu erstellen

Procedure CreateURLShortcut(URLShortcut.s, Speicherort.s)
  If UCase(GetExtensionPart(Speicherort)) <> "URL"
    Speicherort + ".url"
  EndIf
  If CreatePreferences(Speicherort)
    PreferenceGroup("InternetShortcut")
    WritePreferenceString("URL", URLShortcut)
    ClosePreferences()
    ProcedureReturn #True
  EndIf
  ProcedureReturn #False
EndProcedure

;##############################################################

; Beispielcode erstellt eine Verknüpfung zu RobSite auf dem Desktop

Structure EMID
  cb.b
  abID.b[1]
EndStructure

Structure ITEMIDLIST
  mkid.EMID
EndStructure

Procedure.s GetSpecialeFolder(folder.l)
  *itemid.ITEMIDLIST = #Null
  If SHGetSpecialFolderLocation_ (0, folder, @*itemid) = #NOERROR
    location.s = Space (#MAX_PATH)
    If SHGetPathFromIDList_ (*itemid, @location)
      If Right(location, 1) <> "\" : location + "\" : EndIf
      ProcedureReturn location
    EndIf
  EndIf
EndProcedure

Debug CreateURLShortcut("http://www.robsite.de/php/pureboard/", GetSpecialeFolder(0) + "PureBasic Forum deutsch.url")
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.
Bild
Benutzeravatar
Falko
Admin
Beiträge: 3535
Registriert: 29.08.2004 11:27
Computerausstattung: PC: MSI-Z590-GC; 32GB-DDR4, ICore9; 2TB M2 + 2x3TB-SATA2 HDD; Intel ICore9 @ 3600MHZ (Win11 Pro. 64-Bit),
Acer Aspire E15 (Win11 Home X64). Purebasic LTS 6.11b1
HP255G8 Notebook @AMD Ryzen 5 5500U with Radeon Graphics 2.10 GHz 3.4GHz, 32GB_RAM, 3TB_SSD (Win11 Pro 64-Bit)
Kontaktdaten:

Beitrag von Falko »

Hallo ts, kann ich gut gebrauchen :allright:

MfG Falko
Bild
Win11 Pro 64-Bit, PB_6.11b1
Benutzeravatar
nicolaus
Moderator
Beiträge: 1175
Registriert: 11.09.2004 13:09
Kontaktdaten:

Beitrag von nicolaus »

habs gleich mal in mein CodeArchiv aufgenommen! :wink:

Gruß Nico
Antworten