Variabler Pfad

Übersicht BlitzBasic Allgemein

Neue Antwort erstellen

 

Esper000

Betreff: Variabler Pfad

BeitragSo, Sep 04, 2011 23:44
Antworten mit Zitat
Benutzer-Profile anzeigen
Ich würde gern meinem Programm die Fähigkeit geben mit absprache des User´s sich selbst in den Autostart Ordner zu kopieren und zu löschen.

Sowas zu machen ist für mich kein problem aber der Dateipfad des Ordners lautet zb:
C:\Users\mustername\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Autostart

Nun ist ja nicht bei jedem der name (hir "mustername") gleich wie kann ich diesen teil variable machen also das sich "mustername" anpast?


Danke schonmal im Vorraus

ps. Das ganze soll unter BB3D laufen

MFG Esper000
  • Zuletzt bearbeitet von Esper000 am Mo, Sep 05, 2011 1:29, insgesamt einmal bearbeitet

joshmami

BeitragMo, Sep 05, 2011 0:38
Antworten mit Zitat
Benutzer-Profile anzeigen
Also, Ich habe keine Ahnung ob die Dll auch in Blitzbasic funktioniert, aber dem Namen nach müsste dir diese http://pinvoke.net/default.asp...rName.html Funktion mit CallDll aus der Dll advapi32.dll den Namen des atuellen Benutzers liefern.Die gibts hier http://www.dll-files.com/dllin...l?advapi32
Ich habe es nicht ausprobiert, könnte also auch voll daneben sein Embarassed

FireballFlame

BeitragMo, Sep 05, 2011 2:08
Antworten mit Zitat
Benutzer-Profile anzeigen
Dafür gibt's Umgebungsvariablen wie appdata oder userprofile. Ich weiß allerdings nicht, wie man die unter BB auslesen kann...
PC: Intel Core i7 @ 4x2.93GHz | 6 GB RAM | Nvidia GeForce GT 440 | Desktop 2x1280x1024px | Windows 7 Professional 64bit
Laptop: Intel Core i7 @ 4x2.00GHz | 8 GB RAM | Nvidia GeForce GT 540M | Desktop 1366x768px | Windows 7 Home Premium 64bit
 

Esper000

Betreff: Gefunden

BeitragMo, Sep 05, 2011 2:55
Antworten mit Zitat
Benutzer-Profile anzeigen
Also ich hab nochmal ordentlicher im Forum gesucht und was Gefunden.

BlitzBasic: [AUSKLAPPEN]
GetEnv("username")


heist die Antwort.

Ich hätte wohl von Anfang an besser suchen sollen Embarassed

BtbN

BeitragMo, Sep 05, 2011 16:19
Antworten mit Zitat
Benutzer-Profile anzeigen
Dann führt es jemand auf XP aus, oder hat Windows auf nem anderen Laufwerk, und schon gehts nicht mehr.
 

Esper000

BeitragDi, Sep 06, 2011 13:52
Antworten mit Zitat
Benutzer-Profile anzeigen
Das mit win xp läst sich regeln auch das mit dem anderen laufwerk aber ich denke mal das die meisten das op auf c haben is doch die schnelste patition oder irre ich mich da?

Midimaster

BeitragDi, Sep 06, 2011 14:02
Antworten mit Zitat
Benutzer-Profile anzeigen
ich verstehe den Kommentar von Btbn nicht so wirklich!

Gerade für diese Fälle ist ...

BlitzBasic: [AUSKLAPPEN]
GetEnv("...")



...die richtige Lösung. Diese Systemvariable entdeckt ja eben auch, wenn das Win-Dir auf der D: sein sollte!

Oder?
Gewinner des BCC #53 mit "Gitarrist vs Fussballer" http://www.midimaster.de/downl...ssball.exe
  • Zuletzt bearbeitet von Midimaster am Di, Sep 06, 2011 14:25, insgesamt einmal bearbeitet
 

Esper000

BeitragDi, Sep 06, 2011 14:09
Antworten mit Zitat
Benutzer-Profile anzeigen
Also dieser befehl nicht der gibt wirklich nur den usernamen aber es gibt andere wie

BlitzBasic: [AUSKLAPPEN]
SystemProperty$ (WINDOWSDIR) 


Oder nicht?

Midimaster

BeitragDi, Sep 06, 2011 14:26
Antworten mit Zitat
Benutzer-Profile anzeigen
ich meinte auch nur den Befehl! Dahinter kannste ganz viele Steuerstrings schreiben

z.b.:

BlitzBasic: [AUSKLAPPEN]

Print GetEnv$("ALLUSERSPROFILE")
Print GetEnv$("APPDATA")
Print GetEnv$("blitzpath")
Print GetEnv$("CLIENTNAME")
Print GetEnv$("CommonProgramFiles")
Print GetEnv$("COMPUTERNAME")
Print GetEnv$("ComSpec")
Print GetEnv$("HOMEDRIVE")
Print GetEnv$("HOMEPATH")
Print GetEnv$("LOGONSERVER")
Print GetEnv$("NUMBER_OF_PROCESSORS")
Print GetEnv$("OS")
Print GetEnv$("Path")
Print GetEnv$("PATHEXT")
Print GetEnv$("PROCESSOR_ARCHITECTURE")
Print GetEnv$("PROCESSOR_IDENTIFIER")
Print GetEnv$("PROCESSOR_LEVEL")
Print GetEnv$("PROCESSOR_REVISION")
Print GetEnv$("ProgramFiles")
Print GetEnv$("PROMPT")
Print GetEnv$("SESSIONNAME")
Print GetEnv$("SystemDrive")
Print GetEnv$("SystemRoot")
Print GetEnv$("TEMP")
Print GetEnv$("TMP")
Print GetEnv$("USERDOMAIN")
Print GetEnv$("USERNAME")
Print GetEnv$("USERPROFILE")
Print GetEnv$("windir")
 

Esper000

BeitragDi, Sep 06, 2011 14:28
Antworten mit Zitat
Benutzer-Profile anzeigen
Ahh ok danke dir Smile

Eingeproggt

BeitragDi, Sep 06, 2011 14:40
Antworten mit Zitat
Benutzer-Profile anzeigen
btbn hat Recht da seine Aussage wohl darauf bezogen war:
Code: [AUSKLAPPEN]
GetEnv("username")

Aber die anderen Environments von Midimaster könnten helfen den "immer richtigen Pfad" heraus zu finden.

mfG, Christoph.

PS: Wieso soll die Partition C: die schnellste sein? (Ich stelle die Frage bewußt so... ich könnte auch fragen wer dir das eingeredet hat aber ich möchte die Ursache hinter diesem "modernen Märchen" hören Razz )
Gewinner des BCC 18, 33 und 65 sowie MiniBCC 9
 

Esper000

BeitragDi, Sep 06, 2011 15:33
Antworten mit Zitat
Benutzer-Profile anzeigen
@Eingeproggt

Naja ich denke das C die schnelste is weil c immer die erste patition ist die erstelt wird bei einer "Neuen HDD" erstellt wird, wobei der Name "C" relativ ist.
Oder nicht?

BtbN

BeitragDi, Sep 06, 2011 15:38
Antworten mit Zitat
Benutzer-Profile anzeigen
Was auch immer du sagen willst, es ergibt keinerlei Sinn.
Einige haben ne SSD auf C, dann ist es natürlich die schnellste platte, aber davon ausgehen kann man nicht.
Und C muss es lange nicht sein.

Eingeproggt

BeitragDi, Sep 06, 2011 15:40
Antworten mit Zitat
Benutzer-Profile anzeigen
Da Partitionen eine ziemlich willkürliche Einteilung auf "einer physikalischen Einheit" sind schließe ich einen Geschwindigkeitsunterschied mal so ziemlich aus. Der Name "C" ist tatsächlich auch nur historisch begründet (A=Diskette, B weiß ich nicht, C=Festplatte).

Aber ist ein wenig off-topic, sorry für die Unterbrechung.

mfG, Christoph.
Gewinner des BCC 18, 33 und 65 sowie MiniBCC 9

Neue Antwort erstellen


Übersicht BlitzBasic Allgemein

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group