Windows XP - Check Disk

Windowsspezifisches Forum , API ,..
Beiträge, die plattformübergreifend sind, gehören ins 'Allgemein'-Forum.
Benutzeravatar
purebas
Beiträge: 127
Registriert: 11.03.2008 23:59
Wohnort: München

Windows XP - Check Disk

Beitrag von purebas »

Wie kann ich das WindowsXP-Tool "Check Disk" per WinAPI aufrufen?
Ich meine das Tool, was man bei der Laufwerks-Eigenschaft unter
Extras -> "Jetzt prüfen..." aufrufen kann.
Benutzeravatar
Vera
Beiträge: 928
Registriert: 18.03.2009 14:47
Computerausstattung: Win XP SP2, Suse 11.1
Wohnort: Essen

Re: Windows XP - Check Disk

Beitrag von Vera »

Hallo purebas,

vielleicht hilft Dir folgendes weiter:

- How to perform disk error checking in Windows XP
- Chkdsk

Gruß ~ Vera
°
<°)))o><
~~~~~~~~~
echo "Don't worry"
echo "Keep quiet"
@echo off
format forum:\
Kaeru Gaman
Beiträge: 17389
Registriert: 10.11.2004 03:22

Re: Windows XP - Check Disk

Beitrag von Kaeru Gaman »

wieso per WinAPI...? :?

probier doch mal RunProgram("chkdsk" ...
Der Narr denkt er sei ein weiser Mann.
Der Weise weiß, dass er ein Narr ist.
Benutzeravatar
purebas
Beiträge: 127
Registriert: 11.03.2008 23:59
Wohnort: München

Re: Windows XP - Check Disk

Beitrag von purebas »

Ich möchte aus meinem Programm das Windows-Tool mit der Oberfläche aufrufen.
Bei meinem Programm handelt es sich um ein Tool für USB-Sticks. Da öfters
Probleme mit dem Dateisystem auftreten, möchte ich dem Anwender ermöglichen,
das kleine Windows-Tool starten zu können.
Irgentwie finde ich den Kommandozeilenbefehl für den Anwender inakzeptabel,
wobei ich den doch nehme, wenn es garnicht anders geht.
Little John

Re: Windows XP - Check Disk

Beitrag von Little John »

Angenommen der USB-Stift ist Laufwerk H:, dann könntest Du evtl. folgendes versuchen:

Code: Alles auswählen

RunProgram("explorer", "H:", "")
Anschließend mit Hilfe der AutoWin UserLibrary o.Ä.
Kontextmenu > Eigenschaften > Extras ... usw.
aufrufen (Windows XP). Für andere Windows-Versionen sind z.T. andere Aufrufe nötig. Das ist nicht elegant, aber wenn es nicht anders geht ...

//edit:
So geht's schon mal:

Code: Alles auswählen

; getestet mit PB 4.41 und AutoWin 1.0 unter Windows XP Pro x86

XIncludeFile "AutoWin_Include.pbi"

Procedure CheckDisk (Laufwerk$)
   RunProgram("explorer", Laufwerk$, "")
   AW_WinWait(LaufWerk$)
   AW_SendKeys("{SHIFTDOWN}{F10}{SHIFTUP}i")  ; Kontextmenü > Eigenschaften
   Delay(500)
   ; für USB-Stift u.Ä. hier *2x* {TAB}:
   AW_SendKeys("{CONTROLDOWN}{TAB}{TAB}{CONTROLUP}ps")  ; 3. Reiter > p > s
EndProcedure


AW_ChangeMatchMode(1)  ; Match any substring in the title
CheckDisk("H:")
Oder Du könntest kucken ob es ein externes Freeware-CheckDisk-Tool gibt, das Du mit Deinem Programm zusammen ausliefern darfst und von diesem aus aufrufen kannst.

Gruß, Little John
Antworten