Español
Foro

Como el Pfad a "Eigene Dateien" determinar?

 

Torsten
Rümker
¡Hola,
Yo versuche gerade herauszubekommen, cómo el Pfad de Eigene Archivos herausbekommen kann.
Für Verschiedene otro Verzeichnisse (Windowsverzeichnis, Programmverzeichnis) puede ser el sí de uno Systemvariablen erfahren, aber como erfahre Yo el Directorio para Eigene Archivos para el aktuellen Benutzer?

MfG
Torsten
 
Ich lerne, ob ich will oder nicht!
Betriebssystem:
- Ubuntu 15.x
- Windows (diverse)
XProfan Version: X2
23.05.2006  
 




Frank
Abbing
Einer su isses:
KompilierenMarcaSeparación
Systemordner im Dateisystem mit SHGetSpecialFolderLocation ermitteln
Benötigt Profan 6.6 (wg. Konstanten);
bei Verzicht auf Konstanten auf jeden Fall 6.1 wegen Addr-Funktion
Achtung: Der gewünschte Ordner muß(!) auch im Dateisystem vorliegen
(Systemsteuerung klappt daher z.B. nicht)
Im Fehlerfall ist der Return-String leer
Ich hoffe(!), daß CoTaskMemFree in diesem Fall den vom System
reservierten Speicher freigibt.
Eigentlich müßte dies über die Free-Methode des IMalloc-Interface
erfolgen, aber das geht mit Profan leider nicht.
ole32.hlp läßt die Hoffnung nicht unbegründet erscheinen, aber sicher
bin ich nicht.
Def %CSIDL_DESKTOP 0
Def %CSIDL_PROGRAMS 2
Def %CSIDL_CONTROLS 3
Def %CSIDL_PRINTERS 4
Def %CSIDL_PERSONAL 5
Def %CSIDL_FAVORITES 6
Def %CSIDL_STARTUP 7
Def %CSIDL_RECENT 8
Def %CSIDL_SENDTO 9
Def %CSIDL_BITBUCKET 10
Def %CSIDL_STARTMENU 11
Def %CSIDL_DESKTOPDIRECTORY 16
Def %CSIDL_DRIVES 17
Def %CSIDL_NETWORK 18
Def %CSIDL_NETHOOD 19
Def %CSIDL_FONTS 20
Def %CSIDL_TEMPLATES 21
Def %CSIDL_COMMON_STARTMENU 22
Def %CSIDL_COMMON_PROGRAMS 23
Def %CSIDL_COMMON_STARTUP 24
Def %CSIDL_COMMON_DESKTOPDIRECTORY 25
Def %CSIDL_APPDATA 26
Def %CSIDL_PRINTHOOD 27
Def StartMenueAutostart(0) Readini$("Hkey_1","SoftwareMicrosoftWindowsCurrentVersionExplorerShell Folders","Startup")
Def SHGetSpecialFolderLocation(3) !"SHELL32","SHGetSpecialFolderLocation"
Def SHGetPathFromIDList(2) !"SHELL32","SHGetPathFromIDListA"
Def CoTaskMemFree(1) !"OLE32","CoTaskMemFree"
Declare buffer#

Proc GetSpecialFolder

    Parameters csidl%
    Declare lpidl&,result$
    Dim buffer#,255

    If SHGetSpecialFolderLocation(GetActiveWindow(),CSIDL%,Addr(lpidl&))=0

        Print lpidl&

        IfNot SHGetPathFromIDList(lpidl&,buffer#)=0

            Let result$=String$(buffer#,0)

        EndIf

    EndIf

    CoTaskMemFree(lpidl&)
    Dispose buffer#
    Return result$

EndProc

Beispiel
Window 0,0-%maxx,%maxy
Print $TempDir
Print
Print StartMenueAutostart()
Print
GetSpecialFolder %CSIDL_STARTUP

Whileloop 50

    GetSpecialFolder &loop-1

    If &loop>9

        Print Str$(Int(&loop-1));"",$(0)

    Else

        Print Str$(Int(&loop-1));" ",$(0)

    EndIf

a> WaitInput
 
23.05.2006  
 



El 5 es Eigenen Archivos!
Möchte otra vez en él aufmerksam hacer, el el Ergebnisse stark de el installiertem InternetExplorer Versión abhängen. Wenn also alternative API disponible es, es esta a bevorzugen.

Eigene Archivos funktioniert aber siempre, si la Internet Explorer installiert es, para otro Pfade más bien el MSDN studieren.
 
23.05.2006  
 




Frank
Abbing
Nenne veces Por favor, alternative APIs...

Yo bezweifle, dass el API no correcto funktioniert, si la IE no installiert es. Das kann höchstens en Windows 95 el Fall ser, porque hier algunos Dlls fehlten, si la IE no disponible es. Und veces ehrlich - Windows 95 es Schnee de gestern...
 
23.05.2006  
 



[...] 

Como posición größtenteils el erforderlichen Win y IE Versionen en.

z.B CSIDL_PROGRAM_FILES (Crogramme meist en dt. Systemen) existiert sólo de IE 5.
 
23.05.2006  
 



[quote:a23301beb1=TS-Soft] [...] 

Como posición größtenteils el erforderlichen Win y IE Versionen en.[/quote:a23301beb1]
Wobei me de tiempo otra vez auffällt el MSDN con FF betrachtet simplemente furchtbar aussieht.
 
23.05.2006  
 



Hier ne Alternative para CSIDL_PROGRAM_FILES
KompilierenMarcaSeparación
cls
declare ProgramFiles$
ProgramFiles$ = ReadIni$("HKEY_2", "SOFTWAREMicrosoftWindowsCurrentVersion", "ProgramFilesDir")
print ProgramFiles$
waitkey
/pre>

Funktioniert entonces auch sin IE5, genauso para Temp, Sistema usw. más bien el entsprechende API uso, anstatt dieser AllroundFunktion, o. si, entonces eben con obigen Link vergewissern
 
23.05.2006  
 




Torsten
Rümker
So,
Yo ahora veces en el Registry gestöbert y una Eintrag gefunden, el me eventuell helfen kann.
y zwar:
HKEY_CURRENT_USERSoftwareMicrosoftWindowsCurrent VersionExplorerShellFolders
y aquí entonces el Eintrag Personal

Kann el Por favor, alguien bestätigen, o. sólo auch no?
Möglichst no sólo WinXP nutzer wäre schön

MfG
Torsten
 
Ich lerne, ob ich will oder nicht!
Betriebssystem:
- Ubuntu 15.x
- Windows (diverse)
XProfan Version: X2
24.05.2006  
 



Für Eigene Archivos (CSIDL_PERSONAL = 5) kannste el código de Franco uso, funzt de Win95 con IE 3.0 (evtl. incluso sin?). Como gibts no Problemas

Aber en manchen dieser Constanten debería uno muy vorsichtig ser, o. gibts una Leerstring si todavía no existiert.

Leider glauben viele, esta Constanten en cada Sistema nutzen a puede, deshalb siempre Informieren, bevor uno lo nutzt.
 
24.05.2006  
 



Respuesta


Título del Tema, max. 100 Signo.
 

Systemprofile:

Kein Systemprofil creado. [anlegen]

XProfan:

 Contribución  Font  Smilies  ▼ 

Bitte registro en una Contribución a verfassen.
 

Tema opciones

1.897 Views

Untitledvor 0 min.
Untitled30.03.2012

Themeninformationen



Admins  |  AGB  |  Applications  |  Autores  |  Chat  |  Política de Privacidad  |  Descargar  |  Entrance  |  Ayuda  |  Merchantportal  |  Pie de imprenta  |  Mart  |  Interfaces  |  SDK  |  Services  |  Juegos  |  Búsqueda  |  Support

Ein Projekt aller XProfan, el lo son!


Mi XProfan
Privado Noticias
Eigenes Ablageforum
Temas-Merkliste
Eigene Beiträge
Eigene Temas
Zwischenablage
Cancelar
 Deutsch English Français Español Italia
Traducciones

Política de Privacidad


Wir uso Cookies sólo como Session-Cookies wegen el technischen Notwendigkeit y en uns hay no Cookies de Drittanbietern.

Wenn du hier en unsere Webseite klickst oder navigierst, stimmst du unserer Erfassung de Informationen en unseren Cookies en XProfan.Net a.

Weitere Informationen a unseren Cookies y dazu, como du el Kontrolle darüber behältst, findest du en unserer nachfolgenden Datenschutzerklärung.


einverstandenDatenschutzerklärung
Yo möchte no Cookie