Symbolik Link erstellen (ab Vista)

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

Symbolik Link erstellen (ab Vista)

Beitrag von ts-soft »

Diese neuen symbolischen Links können nervig, aber auch nützlich sein. Die Erstellung benötigt
Administrative Rechte! Vielleicht kanns ja der eine oder andere gebrauchen, oder rsbasic packts in
seine Sammlung :wink:

weitere infos: http://msdn.microsoft.com/en-us/library/aa363866.aspx

Code: Alles auswählen

; Hilfsfunktion zur Ausgabe der Fehlerbeschreibung
Procedure.s GetLastErrorStr(error = 0)
  Protected Buffer, result.s
  
  If Not error
    error = GetLastError_()
  EndIf
  If FormatMessage_(#FORMAT_MESSAGE_ALLOCATE_BUFFER|#FORMAT_MESSAGE_FROM_SYSTEM,0,error,0,@Buffer,0,0)
    result = PeekS(Buffer)
    LocalFree_(Buffer)
    ProcedureReturn result
  EndIf
EndProcedure
;

#SYMBOLIC_LINK_FLAG_DIRECTORY = 1 ; The link target is a directory

Prototype CreateSymbolicLink(lpSymlinkFileName.p-Unicode, lpTargetFileName.p-Unicode, dwFlags)

Global CreateSymbolicLink.CreateSymbolicLink

CreateSymbolicLink = GetFunction(OpenLibrary(#PB_Any, "kernel32.dll"),  "CreateSymbolicLinkW")

; beispiel
If Not CreateSymbolicLink(GetTemporaryDirectory() + "PureBasic_Dir", #PB_Compiler_Home, #SYMBOLIC_LINK_FLAG_DIRECTORY)
  Debug GetLastErrorStr()
Else
  RunProgram(GetTemporaryDirectory() + "PureBasic_Dir")
EndIf

Gruß
Thomas
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
RSBasic
Admin
Beiträge: 8047
Registriert: 05.10.2006 18:55
Wohnort: Gernsbach
Kontaktdaten:

Re: Symbolik Link erstellen (ab Vista)

Beitrag von RSBasic »

@ts-soft
Sehr schöner Code :allright:
ts-soft hat geschrieben:oder rsbasic packts in seine Sammlung
Jap das werde ich :mrgreen: (natürlich mit Namensnennung)
Aus privaten Gründen habe ich leider nicht mehr so viel Zeit wie früher. Bitte habt Verständnis dafür.
Bild
Bild
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

Re: Symbolik Link erstellen (ab Vista)

Beitrag von ts-soft »

RSBasic hat geschrieben:Jap das werde ich :mrgreen:
Danke, weil hier wird es wohl früher oder später untergehen.
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
Andesdaf
Moderator
Beiträge: 2673
Registriert: 15.06.2008 18:22
Wohnort: Dresden

Re: Symbolik Link erstellen (ab Vista)

Beitrag von Andesdaf »

Danke für den Code. :allright:
Win11 x64 | PB 6.20
Antworten