komplettte laufwerksliste wie bei diskpart ausgeben.
-
hallo leute.
ich habe vor mir eine eigene xp dvd zu bauen und hänge eben an der laufwerksbezeichnung etwas fest. ich habe 500 gb speicher auf dem pc der in bestimmte sectoren partitioniert ist. nun möchte ich vor der installation der software dafür sorgen , das die partitionen die richtigen laufwerksbuchstaben erhalten. das prob ist das ich mit GetVolumeInformation() nur die lokalen laufwerke erhalte aber nicht die cd und dvd laufwerke. außerdem ist damit das problem das es keine wirkliche idenxierbare liste ist. ich benötige genau die ausgabe wie bei diskpart damit ich die laufwerke auch richtig anspreche.
ich habe es absichtlich hier eingestellt und nicht in WINAPI weil es ja auch sein kann, das es einenen ganz normalen stl befehl dafür gibt, den ich aber nicht finde. das gebiet laufwerksbearbeitung ist sowieso sehr dünn gesät bei google, oder ich suche nach den falschen begriffen.
ich würde mich über eure hilfe freuen und sage schonma danke
cYa CAD

-
GetLogicalDrives
GetLogicalDriveStrings
-
hab ich schon, nutzt mir nix. ich brauch die liste _genau_ wie in diskpart und net sortiert nach laufwerksbuchstaben. daran verzweifle ich ja schon die ganze zeit. für mich ist wichtig, wie das system die platten mountet net wie sie in ner liste sortiert nach buchstaben aussehen

und windows scheint die platten ständig neu einzuhängen, nach jedem reboot. daher nutzt mir logicaldrive nüx, auch GetDriveNumber() oder PathGetDriveNumber() net.
vielleicht weis ja einer wie ich die ausgabe der shell in eine textdatei lenke. ich muss 2 befehle eingeben und das ergebnis brauche ich in einer text datei. das prob is da aber , das ich die befehl in einem programm selber eingebe.
zur veranschaulichung :
shell öffnen,
type DISKPART
press return
type List Volume
press returnwarten und staunen ^^
das genau ist die liste die ich so unbedingt benötige. und ich komme mit keinen programmiermitteln zu dieser liste bis jetzt, finde aber wie gesagt auch kaum was, was mich weiter bringt.
aber danke für deine schnelle antwort ^^
cYa CAD
-
Dieser Thread wurde von Moderator/in HumeSikkins aus dem Forum C++ in das Forum WinAPI verschoben.
Im Zweifelsfall bitte auch folgende Hinweise beachten:
C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?Dieses Posting wurde automatisch erzeugt.
-
ich hatte extra geschrieben das ich das mit _absicht_ ins stl c++ forum geschrieben habe und net in die api da ich im zweifelsfalle nur ne möglichkeit suche ausgaben von der shell direkt an eine textdatei umzulenken ....
-
MasterCAD schrieb:
vielleicht weis ja einer wie ich die ausgabe der shell in eine textdatei lenke. ich muss 2 befehle eingeben und das ergebnis brauche ich in einer text datei. das prob is da aber , das ich die befehl in einem programm selber eingebe.
ja die windowskinder
dafür gibt es in der console einen operator um stdout umzuleiten. bsp:dir > test.txt
-
-
jo miller_m genau sowas suche ich, ich weis das sowas geht nur das wie is mir zur zeit noch schleierhaft, da man hier aber sowieso dauernd nur denkanstöße bekommt bin ich jetzt am googlen nach stdout und umlenken. ich hab das auch mal gemacht zu shell zeiten aber die sources sind bei nem plattencrash mit verschwunden und ich weis net mehr wies ging. aber da ichs schonma gemacht hab bin ich guter dinge ^^ außerdem leite ich ja stderr mit dem logger auch um und stdout ging glaub so ähnlich wenn net genau so ^^
danke dir erstma

// edit
jo easy gar kein problem, ein problem hingegen stellt sich jetzt dar:
ich müsste in der shell normal DISKPART dann return und dann List VOLUME eingeben
das was _dann_ kommt würde ja nun an die txt ausgegeben

nun mein problem : wie löse ich die befehle in der shell aus? man kann per script befehle übergeben, diese aber leider so nicht, die muss ich direkt in der shell tippen.
wie kann ich das per programm auslösen?
// Edit 2
und gelöst
danke miller_m genau das wars :freopen( "file.txt", "w", stdout ); system( "diskpart.exe /s callist.txt"); freopen( "CON", "w", stdout );die callist.txt enthält folgendes :
LIST VOLUMEdas ergebnis in file.txt ist dann :
Microsoft DiskPart Version 5.1.3565 Copyright (C) 1999-2003 Microsoft Corporation. Auf Computer: POWER Volume Bst Bezeichnung DS Typ GrӇe Status Info ---------- --- ----------- ----- ---------- ------- --------- -------- Volume 0 W DVD 0 B Volume 1 Z CD 0 B Volume 2 O DVD 0 B Volume 3 P DVD 0 B Volume 4 Q DVD 0 B Volume 5 R DVD 0 B Volume 6 G Programme NTFS Partition 20 GB OK Volume 7 H Spiele NTFS Partition 20 GB OK Volume 8 I MP3 NTFS Partition 29 GB OK Volume 9 T Download NTFS Partition 29 GB OK Volume 10 F Extras NTFS Partition 10 GB OK Volume 11 E EBooks NTFS Partition 29 GB OK Volume 12 J Proggen NTFS Partition 20 GB OK Volume 13 D WWW NTFS Partition 10 GB OK Volume 14 K Rest NTFS Partition 68 GB OK Volume 15 C NTFS Partition 10 GB OK Systemalso exact die liste die ich gesucht habe und so krampfhaft versucht hab zu erstellen

danke alle ^^