Problem...

1 Frage. Könnte ich den "Zugriff Verweigert" umgehen wenn ich format c: in mein programm integriere also es eigentlich selber ein format c: erstelle?

Du meinst also, du baust dir selber ein programm, dass die Festplatte löschen soll? Das wäre schon möglich, aber dann ist die Platte nicht formartiert worden sondern nur gelöscht worden (Ich glaub zwischen den beiden Dingen gibts einen Unterschied :confused: ). Du müsstest dann eben jeden Ordner auf der Festplatte erkennen und löschen - Fertig.

Gruß
cesupa
 
Was ist denn der Sinn des Programmes?
Frag mein Lehrer?
ISt mir schon klar, daß Der Sinn solcher Aufgaben oft schwer erschließbar ist, aber ich kenne Deinen Lehrer leider nicht. Also die Frage nochmal anders: Wie lautet die Aufgabe (alle Dateien auf C: löschen oder Festplatte/Partition formatieren) und was soll damit geübt werden?

Du hast mehrere Möglichkeiten (ich gehe mal davon aus, daß Ihr unter Windows arbeitet):
- alle Dateien auf C: löschen:
Du gehst alle Verzeichnisse auf C: durch und löschst die Dateien. dazu darf das Programm selber natürlich nicht auf C: liegen, da eine offene Datei nicht gelöscht werden kann. Daher wirst Du auch Probleme mit dem Windows-Verzeichnis haben.
- C: formatieren:
Dazu mußt Du den Systembefehl 'format c:' aufrufen, wie Du schon erkannt hast. Da Du aber auf nachfragen reagieren mußt, kannst du nicht 'system(...)' verwenden. Stattdessen mußt Du mit 'CreateProcess(...)' einen neuen Prozess erzeugen, der 'format C:' aufruft und über Pipes mit diesem Prozess kommunizieren. Wie das geht, wird hier im forum an anderer Stelle erklärt (->Suchfunktion). Du liest die Frage über eine Pipe ein und sendest die entsprechende Antwort über eine Pipe an den Prozess. Sobald format läuft, kannst Du den aufrufenden Prozess beenden.
 
Ich klinke mich an dieser Stelle mal ein, um allen Beteiligten mitzuteilen, daß der Autor dieses Themas heute wegen erneutem Regelverstoß vom aktiven Forengeschehen ausgeschlossen wurde, und daher auf die Rückfragen und Vorschläge nicht mehr antworten kann.
 
Zurück