| |
|
|
Nico Madysa | KompilierenMarcaSeparación' gilt ab Windows Vista oder höher
declare Long hShell32, hOle32
proc Init
hOle32 = ImportDLL("OLE32", "ole.")
hShell32 = ImportDLL("SHELL32", "shell.")
ole.CoInitialize(0)
endproc
proc Exit
ole.CoUnInitialize()
FreeDLL hOle32
FreeDLL hShell32
endproc
proc GetCurrentDesktopPath
declare String KnownFoldersID_Desktop, Long pPath, String desktopPath
/* Die KnownFolders IDs stehen (mehr oder weniger in Klartext)
in Microsofts knownfolders.h Headerdatei. Es sind nichts
Anderes als ein Haufen 16 Byte lange Konstanten. Aus
ihnen wiederum können die Pfade der verschiedensten
speziellen Ordner bezogen werden, selbst wenn diese vom
Nutzer verschoben worden sind. */
KnownFoldersID_Desktop = "\x3A\xCC\xBF\xB4\x2C\xDB\x4C\x42\xB0\x29\x7F\xE9\x9A\x87\xC6\x41"
shell.SHGetKnownFolderPath(Addr(KnownFoldersID_Desktop), 0, 0, Addr(pPath))
' Die obige Funktion hat uns die Adresse eines neu
' erzeugten Strings gegeben. Wir basteln daraus
' wieder einen XProfan-String.
desktopPath = StringW$(pPath, 0)
ole.CoTaskMemFree(pPath)
return desktopPath
endproc
cls
Init()
print GetCurrentDesktopPath()
Exit()
waitinput
end
|
|
|
| |
|
|
|
Jörg Sellmeyer | Für welche Windowsversion gilt el? Mit XP bekomme Yo una Fehlermeldung, dass el Función shell.SHGetKnownFolderPath unbekannt es. Außerdem Es el Variable hShell32 no deklariert. Dafür se hUser32 no verwendet...
Zumindest bajo XP es tan completamente easy: KompilierenMarcaSeparación |
|
|
| Windows XP SP2 XProfan X4... und hier mal was ganz anderes als Profan ... | 28.02.2014 ▲ |
|
|
|
|
Nico Madysa | Jörg Sellmeyer (28.02.14)
Für welche Windowsversion gilt el? Mit XP bekomme Yo una Fehlermeldung, dass el Función shell.SHGetKnownFolderPath unbekannt es.
Ab Windows 7 geht's y yo habe no Grund anzunehmen, dass lo bajo Vista no klappt. Posesiones veces "ab Windows Vista" hinzugefügt.
Jörg Sellmeyer (28.02.14)
Außerdem Es el Variable hShell32 no deklariert. Dafür se hUser32 no verwendet...
Mein Fehler. Variable war falso deklariert, hab's korrigiert. War ya spät, como Yo así rumgefummelt hatte.
Jörg Sellmeyer (28.02.14)
Zumindest bajo XP es tan completamente easy:
Bin encima esta "Known Folders" Sache en el MSDN gestolpert y lo ha el Anschein, dass el el de M$ bevorzugte Método es, esta speziellen Pfade abzugreifen.
Ein Blogartikel de 2003 [...] erklärt, dass el "Shell-Folders"-Registry-Schlüssel sólo de Kompatibilitätsgründen con irgendwelchen obskuren Programmen de 1994 existiert y no mehr verwendet voluntad debería. El Función SHGetSpecialFolderLocation , el en él stattdessen vorgeschlagen se, es mittlerweile nochmals abgelöst worden, y zwar de SHGetKnownFolderPath [...] , el Función, el Yo oben verwendet habe.
Wenn Yo el Ressourcen a el Thema correcto verstanden habe, ha el Registryschlüssel "Shell Folders" bajo Windows actualmente etwa el Status, el Add-, Sub- y el otro veralteten Características en XProfan 10 hatten. Ob du ihn más verwendest, es trotzdem deine Sache. |
|
|
| |
|
|
|
Michael Wodrich | Wahrscheinlich ha cada Microsoft-Mitarbeiter como seine propio Rutina. Gott sei Dank son el no todos así mitteilsam como algunos wenige ... Como hätte wirklich una einzige Möglichkeit voll ausgereicht. Jetzt weiß uno otra vez no, welche el vielen Möglichkeiten uno nutzen debería.
Su Fundstück se ejecuta en una Vista Ultimate bastante hervorragend.
Das wäre sí otra vez Zündstoff para el Foren: - en lugar de: Welche Lenguaje de programación Es el beste.... - simplemente: Welche SpecialFolder-Rutina debería uno bevorzugen....
(Ist euch de paso ya veces aufgefallen: Diejenigen, el esta Cuestión stellen tauchen entonces en el folgenden 10.000 Postings no mehr en...
Saludo Michael Wodrich |
|
|
| |
|
|
|
Nico Madysa | [OFFTOPIC] Michael Wodrich (28.02.14) (Ist euch de paso ya veces aufgefallen: Diejenigen, el esta Cuestión stellen tauchen entonces en el folgenden 10.000 Postings no mehr en...
Wahrscheinlich son el Personas, el simplemente sólo después de Streit búsqueda. [/OFFTOPIC] |
|
|
| |
|
|