Laden...

Festplatten Partitionen finden

Erstellt von DasShrike vor 17 Jahren Letzter Beitrag vor 17 Jahren 2.592 Views
D
DasShrike Themenstarter:in
79 Beiträge seit 2006
vor 17 Jahren
Festplatten Partitionen finden

Hallo!!!
Wie kann ich mittes C# herausfinden wieviele Festplattenpartitionen ich habe und wie sie heissen?

MfG Daniel

4.506 Beiträge seit 2004
vor 17 Jahren

Hallo DasShrike,

ich würde spontan darauf wetten, dass Du mittels Win-API Aufrufen zu dem Ziel kommst. Das würde dann aber nur für Partitionen gelten, die auch Windows erkennen kann.

Hast Du Linux und Co mit auf der selben Platte, dann wirst Du nur alle Partitionen finden können, indem Du auf Deiner Festplatte den MBR-Record ( Master-Boot-Record, ich hoffe das heißt so, ist schon ein weilchen her 🙂 ausliest, und dementsprechend interpretierst.

Beides mal kann ich Dir nich zeigen, wie es im Detail geht, eventuell findest Du aber damit Deine Lösung im Web.

Gruß
Norman-Timo

A: “Wie ist denn das Wetter bei euch?”
B: “Caps Lock.”
A: “Hä?”
B: “Na ja, Shift ohne Ende!”

563 Beiträge seit 2004
vor 17 Jahren

ohne die Antwort von norman_timo gelesen zu haben: WMI

369 Beiträge seit 2006
vor 17 Jahren

Wenn es nur um für Windows sichtbare Partitionen geht, taugt es auch DriveInfo.GetDrives().

D
DasShrike Themenstarter:in
79 Beiträge seit 2006
vor 17 Jahren

DriveInfo das wars!!!!
Danke

D
DasShrike Themenstarter:in
79 Beiträge seit 2006
vor 17 Jahren

WMI: Das wäre für meinen Fall ein wenig zuviel Aufwand!!!

Will nur alle meine JPG auf allen Platen ordenen lassen!!!

MFG und Danke

1.274 Beiträge seit 2005
vor 17 Jahren

Mit WMI ging es so:



using System;
using System.Management;
using System.Windows.Forms;

namespace WMISample
{
    public class MyWMIQuery
    {
        public static void Main()
        {
            try
            {
                ManagementObjectSearcher searcher = 
                    new ManagementObjectSearcher("root\\CIMV2", 
                    "SELECT * FROM Win32_LogicalDisk"); 

                foreach (ManagementObject queryObj in searcher.Get())
                {
                    Console.WriteLine("-----------------------------------");
                    Console.WriteLine("Win32_LogicalDisk instance");
                    Console.WriteLine("-----------------------------------");
                    Console.WriteLine("Name: {0}", queryObj["Name"]);
                }
            }
            catch (ManagementException e)
            {
                MessageBox.Show("Fehler: " + e.Message);
            }
        }
    }
}

"Das Problem kennen ist wichtiger, als die Lösung zu finden, denn die genaue Darstellung des Problems führt automatisch zur richtigen Lösung." Albert Einstein

W
558 Beiträge seit 2006
vor 17 Jahren

Hallo!

Environment.GetLogicalDrives würde auch funktionieren.
Liest die logischen Laufwerke aus und speichert sie in ein Array.

(http://msdn2.microsoft.com/de-de/library/system.environment.getlogicaldrives.aspx)

mfg
webstarg

369 Beiträge seit 2006
vor 17 Jahren

... und ist damit genau das Selbe wie DriveInfo.GetDrives()

-
885 Beiträge seit 2004
vor 17 Jahren

... und damit ne Sache die schon zig mal im Forum diskutiert wurde...