 |
Das deutsche QBasic- und FreeBASIC-Forum Für euch erreichbar unter qb-forum.de, fb-forum.de und freebasic-forum.de!
|
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen |
Autor |
Nachricht |
BombE
Anmeldungsdatum: 18.01.2006 Beiträge: 31
|
Verfasst am: 04.02.2006, 18:07 Titel: cd zum dektop? |
|
|
hallo kann mir einer sagen wie ich schnell zum dektop changen kann ? also sowas wie cd %SYSTEMROOT% aber halt zum desktop datt zum system root |
|
Nach oben |
|
 |
Sebastian Administrator

Anmeldungsdatum: 10.09.2004 Beiträge: 5969 Wohnort: Deutschland
|
Verfasst am: 04.02.2006, 19:12 Titel: |
|
|
Welchen Desktop? Bei Systemen der NT Linie (NT, 2000, XP, 2003) gibt es einen für alle Benutzer und jeweils einen Benutzereigenen. Den All Users Desktop zu verändern wäre einfacher, für den Benutzereigenen wirst du ein VBScript oder FB brauchen, da du dafür die Registry auslesen musst, wenn dein Programm auf allen Versionen von Windows funktionieren soll. _________________
Die gefährlichsten Familienclans | Opas Leistung muss sich wieder lohnen - für 6 bis 10 Generationen! |
|
Nach oben |
|
 |
BombE
Anmeldungsdatum: 18.01.2006 Beiträge: 31
|
Verfasst am: 04.02.2006, 19:21 Titel: |
|
|
also ich wollte schohn auf den desktop des users mitt dem ich grade eingeloggt binn |
|
Nach oben |
|
 |
Michael Frey

Anmeldungsdatum: 18.12.2004 Beiträge: 2577 Wohnort: Schweiz
|
|
Nach oben |
|
 |
dreael Administrator

Anmeldungsdatum: 10.09.2004 Beiträge: 2529 Wohnort: Hofen SH (Schweiz)
|
|
Nach oben |
|
 |
Sebastian Administrator

Anmeldungsdatum: 10.09.2004 Beiträge: 5969 Wohnort: Deutschland
|
Verfasst am: 05.02.2006, 12:33 Titel: |
|
|
Ich würde einfach
Code: | HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders\Desktop |
auslesen. Dann muss der Benutzer kein WSH aktiviert haben.
Registry rules...
edit:
Code: | 'Auslesen des Desktopverzeichnisses aus QB heraus, v1.0, 05.02.2006
'(c) 2006 Sebastian Steiner
'Homepage: www.Sebastian-Steiner.de
'E-Mail: sebastian[unterstrich]steiner[ätt]gmx{punkt}de
WinV$=ENVIRON$("WINDIR")
Temp$=ENVIRON$("TEMP")
Modus%=1 '1=Nur aktueller Benutzer, 2=Alle Benutzer
LoeschTempDatei%=0 '1=ja, 0=nein
IF WinV$ <> "" Then
IF RIGHT$(WinV$,1) <> "\" then WinV$=WinV$+"\"
END IF
IF Temp$ <> "" Then
IF RIGHT$(Temp$,1) <> "\" then Temp$=Temp$+"\"
END IF
SELECT CASE Modus%
CASE 1: Root$="HKEY_CURRENT_USER\"
CASE ELSE: Root$="HKEY_LOCAL_MACHINE\"
END SELECT
SHELL WinV$+"REGEDIT.EXE /E "+Temp$+"temp.reg "+chr$(34)+Root$+"Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders\"+chr$(34)
Desktop$=""
PRINT "Resultat:"
PRINT ""
'Aus dieser Datei könnten wir auch noch viele andere Informationen
'herauslesen als den Desktop. Darum werden alle Zeilen ausgegeben... :)
OPEN Temp$+"temp.reg" FOR INPUT AS #1
DO UNTIL EOF(1)
LINE INPUT #1, TempZeile$
Zeile$=""
'Nun müssen wir Nullbytes entfernen, da die Pfade UTF-16 sind...
FOR i%=1 TO LEN(TempZeile$)
IF MID$(TempZeile$, i%,1)<>CHR$(0) THEN
Zeile$=Zeile$+MID$(TempZeile$,i%,1)
END IF
NEXT i%
'Da die Backslashes escaped sind, müssen wir sie noch zu einfachen
'Slashes umwandeln. Ohne diese Umwandlung sähe der Pfad so aus:
'C:\\ORDNER\\...\\
TempZeile$=Zeile$
Zeile$=""
flag%=0
FOR i%=1 TO LEN(TempZeile$)
IF MID$(TempZeile$, i%, 1) <> "\" OR flag%=0 THEN
Zeile$=Zeile$+MID$(TempZeile$,i%,1)
IF MID$(TempZeile$,i%,1) ="\" THEN
flag%=1
ELSE
flag%=0
END IF
END IF
NEXT i%
PRINT Zeile$
IF INSTR(UCASE$(Zeile$),"DESKTOP") THEN
Desktop$=RIGHT$(Zeile$, LEN(Zeile$)-INSTR(Zeile$,"="))
END IF
IF EOF(1) THEN EXIT DO
LOOP
CLOSE #1
IF LoeschTempDatei% = 1 THEN KILL Temp$+"temp.reg"
IF Desktop$="" THEN
PRINT "Fehler beim Auslesen!"
SLEEP: END
END IF
'Achtung: Umlaute müssen noch ins DOS-Format umgewandelt werden und der lange
'Pfad muss noch mittels Interrupt in einen 8.3 Pfad umgewandelt werden, bevor
'man den Pfad in QB benutzen kann.
PRINT ""
PRINT "Hier dein Desktop: "; Desktop$
SLEEP: END |
_________________
Die gefährlichsten Familienclans | Opas Leistung muss sich wieder lohnen - für 6 bis 10 Generationen! |
|
Nach oben |
|
 |
BombE
Anmeldungsdatum: 18.01.2006 Beiträge: 31
|
Verfasst am: 05.02.2006, 17:19 Titel: |
|
|
danke für die hilfe |
|
Nach oben |
|
 |
|
|
Du kannst keine Beiträge in dieses Forum schreiben. Du kannst auf Beiträge in diesem Forum nicht antworten. Du kannst deine Beiträge in diesem Forum nicht bearbeiten. Du kannst deine Beiträge in diesem Forum nicht löschen. Du kannst an Umfragen in diesem Forum nicht mitmachen.
|
|