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.
;Hinweis: Die Compiler-Einstellung "Unicode-Executable erstellen" muss aktiviert sein!
EnableExplicit
Define IcoLibPath$ = "C:\Windows\System32\shell32.dll"
Define DlgResult
Define hWnd=0
Define DefaultIconID = 5
DlgResult = PickIconDlg_(hWnd,@IcoLibPath$,Len(IcoLibPath$),@DefaultIconID)
If DlgResult=0
MessageRequester("","Kein Icon ausgewählt.",0)
Else
MessageRequester("","Icon wurde ausgewählt und kann nun z.B. mit ExtractIcon_() extrahiert werden. Icon-Nummer: "+Str(DefaultIconID),0)
EndIf
;PickIconDlg: http://msdn.microsoft.com/en-us/library/bb776481%28v=vs.85%29.aspx
Aus privaten Gründen habe ich leider nicht mehr so viel Zeit wie früher. Bitte habt Verständnis dafür.
Das mit Prototype macht aber nur dann Sinn wenn man den Namen der Datei weiß.
Wenn nicht, dann Nullstring übergeben und Path ausgeben lassen. Vor allem, wenn man dann doch eine andere Datei im Dialog auswählt.
Wer sicher gehen will kann auch #MAX_PATH * 2 nehmen, bin mir nicht sicher ob das sein muß. Bei mir zumindest nicht.
EnableExplicit
Define IcoLibPath.s{#MAX_PATH} = ""
Define IconID
If PickIconDlg_(0, @IcoLibPath, #MAX_PATH, @IconID)
Debug PeekS(@IcoLibPath,-1,#PB_Unicode)
MessageRequester("","Icon wurde ausgewählt und kann nun z.B. mit ExtractIcon_() extrahiert werden. Icon-Nummer: "+Str(IconID),0)
EndIf
Purebasic 5.70 x86 5.72 X 64 - Windows 10
Der Computer hat dem menschlichen Gehirn gegenüber nur einen Vorteil: Er wird benutzt
grüße hjbremer