Umgebungsvariable für "Eigene Dateien"
Übersicht

OJayBetreff: Umgebungsvariable für "Eigene Dateien" |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
kennt sie jemand? habe alle anderen gefunden, nur die nicht ![]() |
||
![]() |
TheShadowModerator |
![]() Antworten mit Zitat ![]() |
---|---|---|
MS is evil
kann mir nicht vorstellen, dass unter linux auch so ein chaos ist... Ich denke es gibt dort ein home-verzeichnis - und alle progs können ausgehen, dass es existiert... Ansonsten muss es API-funktion geben... (hoffe ich) |
||
AMD64 3500+ | GeForce6600GT 128MB | 1GB DDR | WinXPsp2 |
OJay |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
clever...gib mir blitz für linux und ich mache es dort! und selbst bei linux gibt es unterschiede, und zwar nicht nur bei den verzeichnissen! bei windows kann man wenigstens von ein paar standards ausgehen! aber darum gehts hier überhaupt nicht ![]() und sowas von einem mod... das es dafür API funktionen gibt is schon klar. das dumme an den eigenen dateien ist, das man es ändern kann...ich hab es zum beispiel auf E:. alle anderen (windir, desktop, programme etc) sind unveränderlich. diese habe ich ja auch. nur nicht die eigenen dateien, dafür konnte ich eben diese variable nicht finden... bitte um hilfe eines KOMPETENTEN windows users... |
||
![]() |
DCSieger des B2D Retro Wettbewerb / Aug 04 |
![]() Antworten mit Zitat ![]() |
---|---|---|
Nunja.. hätte da 2 Sachen die da in frage kämen (Win XP):
HOMEPATH USERPROFILE Beides jeweils der Pfad zu dem Ordner, in dem sich der "Eigene Dateien"-Ordner befindet. Edit: Wobei.. nein ups.. HOMEPATH fällt weg da fehlt die Laufwerkkennung (kann man aber mit HOMEDRIVE ermitteln) |
||
Core i5 4670K | 4 x 3,40 GHZ | 16 GB Ram | GeForce GTX 960 | HTC Vive | Win 10 Pro
www.UnrealSoftware.de | www.StrandedOnline.de | www.CS2D.com | www.CarnageContest.com | www.Stranded3.com |
OJay |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
nicht wirklich ![]() beispiel: Code: [AUSKLAPPEN] os$=SystemProperty("OS")
If Right(os,2)="XP" Or Right(os$,4)="2000" Then Desktopdir$ = GetEnv("userprofile")+"\Desktop" ElseIf Right(os,2)="ME" Or Right(os$,2)="98" Then Desktopdir$ = GetEnv("windir")+"\Desktop" EndIf Print os$ Print Desktopdir$ Print GetEnv("ProgramFiles") Print GetEnv("windir") mit folgendem programm kann man sich alle umgebungsvariablen anzeigen lassen: http://www.activevb-archiv.de/...pp0080.zip leider nix mit "Eigene Dateien" dabei ![]() |
||
![]() |
DCSieger des B2D Retro Wettbewerb / Aug 04 |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hmpf.. jops dann kommste da so wohl nicht dran. Habe bei mir mit SiSoftware Sandra Standart nachgeguckt da ist sonst auch nichts... | ||
Core i5 4670K | 4 x 3,40 GHZ | 16 GB Ram | GeForce GTX 960 | HTC Vive | Win 10 Pro
www.UnrealSoftware.de | www.StrandedOnline.de | www.CS2D.com | www.CarnageContest.com | www.Stranded3.com |
OJay |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
bin einen schritt weiter:
mit der userlib Code: [AUSKLAPPEN] .lib "shell32.dll"
SHGetPathFromIDList%(pidl%,pszPath$):"SHGetPathFromIDList" SHGetSpecialFolderLocation%(hwndOwner%,nFolder%,pidl):"SHGetSpecialFolderLocation" SHGetSpecialFolderPath(hwndOwner%,lpszPath$,nFolder%,fCreate%):"SHGetSpecialFolderPath" kommt man da irgendwie ran. nun erschlägt mich meine unkenntis, was userlibs angeht mal wieder ![]() habs zunächst so versucht: Code: [AUSKLAPPEN] bank = CreateBank(16)
SHGetSpecialFolderPath(hwndOwner%,bank,12,False) Print PeekInt(bank,0) nun fehlen mir aber 1.: das handle des fensters (versteh sowieso nicht, wozu die funktion das braucht...) und 2.: das richtige offset in der bank für den pfad... die "12" steht übrigens für das "my Documents"-dir. HIER nachzulesen wäre happy, wenn sich einer die mühe machen könnte sich da mal kurz reinzudenken. thx in advance ![]() /e: habe auch versucht folgendes VB progrämmchen in bb umzusetzen: http://www.activevb.de/tipps/v...p0061.html kläglich gescheitert :/ und so: Code: [AUSKLAPPEN] bank = CreateBank(256)
idList = CreateBank(512) SHGetSpecialFolderLocation(hwndOwner%,12,idList) SHGetPathFromIDList(idList,bank) Print PeekInt(bank,0) bekomme ich 10.000 speicherverletzungen *grrrr* |
||
![]() |
Jolinah |
![]() Antworten mit Zitat ![]() |
---|---|---|
OJay hat Folgendes geschrieben: nun fehlen mir aber 1.: das handle des fensters (versteh sowieso nicht, wozu die funktion das braucht...) Soviel ich weiss kann man bei vielen Funktionen auch kein Handle übergeben (null). Bei bb wäre es dann wohl 0. Wenn man bei MessageBox kein Handle übergibt geht es auch, die MessageBox gehört dann halt zu keinem Programm. |
||
OJay |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
das tue ich ja auch, indem ich die leere variable "hWndOwner" übergebe. das macht auch keine probleme soweit. probleme macht die übernahme des pfades.
mal noch eine andere frage: welchen wert hat dieses "ding" ^^: 0x000c in VB6 hat sieht es so aus: &H8 ich bin davon ausgegangen, das das dezimal 12 sein soll. liege ich richtig oder falsch? |
||
![]() |
D2006Administrator |
![]() Antworten mit Zitat ![]() |
---|---|---|
ich hab nicht wirklich die ahnung davon, aber ich bin zufällig beim durchsuchen der Registry auf folgendes gestoßen:
hmm ... schwer zu beschreiben ... hier der Pfad: HKEY_CURRENT_USER \ Software \ Microsoft \ Windows \ CurrentVersion \ Explorer \ Shell Folders ob man was damit anfangen kann, weiß ich nicht. Ich hoffe ich konnte helfen. |
||
Intel Core i5 2500 | 16 GB DDR3 RAM dualchannel | ATI Radeon HD6870 (1024 MB RAM) | Windows 7 Home Premium
Intel Core 2 Duo 2.4 GHz | 2 GB DDR3 RAM dualchannel | Nvidia GeForce 9400M (256 MB shared RAM) | Mac OS X Snow Leopard Intel Pentium Dual-Core 2.4 GHz | 3 GB DDR2 RAM dualchannel | ATI Radeon HD3850 (1024 MB RAM) | Windows 7 Home Premium Chaos Interactive :: GoBang :: BB-Poker :: ChaosBreaker :: Hexagon :: ChaosRacer 2 |
OJay |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
diese userlib-funktionen greifen genau darauf zurück. das hilft mir nicht wirklich weiter. aber danke | ||
SebastianB |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Hi Leute!
Ich habe die Lösung gefunden! Aber nun der Reihe nach: Code: [AUSKLAPPEN] .lib "shell32.dll" SHGetSpecialFolderPath%(hwndOwner$,lpszPath*,nFolder%,fCreate%):"SHGetSpecialFolderPathA" Und hier der Blitzcode: Code: [AUSKLAPPEN] Const CSIDL_DESKTOP = 0 Const CSIDL_INTERNET = 1 Const CSIDL_PROGRAMS = 2 Const CSIDL_CONTROLS = 3 Const CSIDL_PRINTERS = 4 Const CSIDL_PERSONAL = 5 Const CSIDL_FAVORITES = 6 Const CSIDL_STARTUP = 7 Const CSIDL_RECENT = 8 Const CSIDL_SENDTO = 9 Const CSIDL_BITBUCKET = 16 Const CSIDL_STARTMENU = 17 Const CSIDL_NETWORK = 18 Const CSIDL_NETHOOD = 19 Const CSIDL_FONTS = 20 Const CSIDL_TEMPLATES = 21 Const CSIDL_COMMON_STARTMENU = 22 Const CSIDL_COMMON_PROGRAMS = 23 Const CSIDL_COMMON_STARTUP = 24 Const CSIDL_COMMON_DESKTOPDIRECTORY = 25 Const CSIDL_APPDATA = 26 Const CSIDL_PRINTHOOD = 27 Const CSIDL_LOCAL_APPDATA = 28 Const CSIDL_ALTSTARTUP = 29 Const CSIDL_COMMON_ALTSTARTUP = 30 Const CSIDL_COMMON_FAVORITES = 31 Const CSIDL_INTERNET_CACHE = 32 Const CSIDL_COOKIES = 33 Const CSIDL_HISTORY = 34 Const CSIDL_COMMON_APPDATA = 35 Const CSIDL_WINDOWS = 36 Const CSIDL_SYSTEM = 37 Const CSIDL_PROGRAM_FILES = 38 Const CSIDL_MYPICTURES = 39 Const CSIDL_PROFILE = 40 Const CSIDL_SYSTEMX86 = 41 Const CSIDL_PROGRAM_FILESX86 = 42 Const CSIDL_PROGRAM_FILES_COMMON = 43 Const CSIDL_PROGRAM_FILES_COMMONX86 = 44 Const CSIDL_COMMON_TEMPLATES = 45 Const CSIDL_COMMON_DOCUMENTS = 46 Const CSIDL_COMMON_ADMINTOOLS = 47 Const CSIDL_ADMINTOOLS = 48 Const CSIDL_CONNECTIONS = 49 folderbank=CreateBank(260*4) SHGetSpecialFolderPath(0, folderbank, CSIDL_PROGRAM_FILES, 0) Print getbankstring$(folderbank, 260*4) Print "Taste ..." WaitKey End Function GetBankString$(bank, size) For i=0 To size-1 wert$=wert$ + PeekByte(bank, i) Next While Len(wert$)<>0 If Int(Left$(wert$, 1))>2 Then antwort$=antwort$ + Chr$(Int(Left$(wert$, 2))) wert$=Mid$(wert$, 3) Else antwort$=antwort$ + Chr$(Int(Left$(wert$, 3))) wert$=Mid$(wert$, 4) End If Wend FreeBank bank Return Trim$(antwort$) End Function Ich hoffe, dass das vielen weiterhilft. |
||
Never change a running system |
OJay |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
waha wie drollig...nach fast einem jahr ![]() aber danke mal dafür. wenn mal einer danach suchen sollte, wird er wenigstens eine lösung bekommen...ich habe es bereits anders gelöst. jetzt, da dieses problem gelöst ist, kann ich wieder beruhigt schlafen...achneee moment, da sind ja noch 1000 andere. mist ![]() ![]() |
||
![]() |
StarGazer |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hallo, ich habe da eine kurze Frage und wollte dafür kein neues Thema anlegen.
Da ich leider nur Win2000 habe, kann ich es leider nicht auf älteren Windowsversionen testen. Wisst Ihr ob es den "Eigene Dateien-Ordner" auch unter Windows 98, ME ,NT gibt ? und ob es dort auch die DLL "shell32.dll" gibt ? Vorallem auf Win98 da es das ältereste System ist. Wenn das mit der DLL nur auf den neuen Systemen laufen würde, wäre das nicht so toll. Ich hoffe jemand weißt es. |
||
![]() |
PowerProgrammer |
![]() Antworten mit Zitat ![]() |
---|---|---|
Win 98 hat den Ordner hier: C:\Eigene Dateien
Und ich gehe mal super stark davon aus, dass Windows ´98 ne shell-DLL hat, schau doch einfach in der MSDN. EDIT: Mal auf das Alter des Threads geachtet? EDIT 2: http://msdn.microsoft.com/libr...erpath.asp (Minimum operating systems Windows 2000, Windows NT 4.0 with Internet Explorer 4.0, Windows 98, Windows 95 with Internet Explorer 4.0) |
||
www.xairro.com Alles für Webmaster und Programmierer! Es gibt mehr als bloß einen Counter! |
![]() |
StarGazer |
![]() Antworten mit Zitat ![]() |
---|---|---|
Danke Dir, ich hoffe es funktioniert.
Ich bin eigenlicht mehr ein Grafiker der das Programmieren entdeckt hat ![]() Dacher kenne ich mich mit den ganzen Systemen nicht so aus. Und die 32 steht denke ich für das BitSystem der Betriebstsystems oder so. Und ob Win98 schon das war oder ob sie erst bei NT oder 2000 auf 32 umgestiegen sind ,weis ich leider nicht. Da gabs jedenfall immer das Problem mit den NTFs und FAT Partitonen, aber keine Ahnug ob das was damit zu tun hat. 2003, da gabs glaube ich schon ziech Nachfolger von Win98, SE ME und was sonst noch ![]() |
||
![]() |
StepTiger |
![]() Antworten mit Zitat ![]() |
---|---|---|
Code: [AUSKLAPPEN] os$=GetEnv$("OS")
If Right$(os$,2)="NT" Or Right$(os$,2)="XP" Or Right$(os$,4)="2000" st$=GetEnv$("USERPROFILE")+"\Eigene Dateien" ElseIf Right$(os$,2)="ME" Or Right$(os$,2)="98" st$=GetEnv$("WinDir")+"\..\Eigene Dateien" EndIf Graphics StringWidth(st$),40,0,2 Print st$ Print os$ WaitKey End Klappt bei mir prima. Shell32 existiert garantiert auf NT und 2000. Eigene Dateien existiert in Win98 auf jeden Fall auf dem Windows-Laufwerk+"Eigene Dateien\" ME denke ich mal, dass es genau so ist. Ich hab XP (trotzdem sagt mein Code, ich hätte NT ![]() |
||
Noch gestern standen wir am Abgrund, doch heute sind wir schon einen Schritt weiter.
Computer: AMD Sempron 3000+; ATI Radeon 9800 Pro; 512 MB DDR RAM 400Mhz; Asus E7N8X-E Deluxe; Samsung 200GB HD 5.4ns acces t Gewinner: BP Code Compo #2 Π=3.141592653589793238...<--- und das aus dem kopf ![]() Seit der Earthlings-Diskussion überzeugter Fleisch(fr)esser. |
![]() |
StarGazer |
![]() Antworten mit Zitat ![]() |
---|---|---|
Danke Dir, auch für den Code, kann man sicher mal gebrauchen ![]() übrigens bei mir sagt er auch ich hätte NT obwohl ich 2000 habe, wohl ein kleiner Bug ![]() |
||
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group