Format Befehl via API?
Code: Alles auswählen
RunProgram("format", "C:")

AFAIK gibt es keinen API-Befehl für das Formatieren. Das übernimmt immer das kleine Programm format.
Greetz Laurin
Now these points of data make a beautiful line.
And we're out of beta. We're releasing on time.
And we're out of beta. We're releasing on time.
- mueckerich
- Beiträge: 220
- Registriert: 13.09.2004 11:33
- Wohnort: Am schönsten Flecken der Erde, zwischen PC und Motorrad
Oder so, falls wirklich das Formatieren von Datenträgern gemeint ist.
Code: Alles auswählen
; By mueckerich
#SHFD_CAPACITY_DEFAULT = 0 ; default Drive capacity
#SHFD_CAPACITY_360 = 3 ; 360KB, applies To 5.25" drives only
#SHFD_CAPACITY_720 = 5 ; 720KB, applies to 3.5" drives only
#SHFD_FORMAT_QUICK = 0 ; quick format
#SHFD_FORMAT_FULL = 1 ; full format
#SHFD_FORMAT_SYSONLY = 2 ; copies system files only (Win95/98 Only!)
#SHFD_DRIVE_1 = 0 ;LW A: wenn vorhanden, sonst C:
#SHFD_DRIVE_2 = 1 ;LW B: wenn vorhanden, sonst C:
#ShLib = 1
OpenLibrary(#ShLib,"shell32.dll")
meHwnd = OpenWindow(0, 100, 300, 400, 200, #PB_Window_SystemMenu, "Format test")
CallFunction(#ShLib,"SHFormatDrive", meHwnd, #SHFD_DRIVE_1, #SHFD_CAPACITY_DEFAULT,#SHFD_FORMAT_FULL)
Repeat
Until WaitWindowEvent() = #PB_EventCloseWindow
"Wenn Sie glauben, mich verstanden zu haben, dann habe ich mich falsch ausgedrückt" ( Alan Greenspan)
- mueckerich
- Beiträge: 220
- Registriert: 13.09.2004 11:33
- Wohnort: Am schönsten Flecken der Erde, zwischen PC und Motorrad
@Gamer:
Zu Frage 1:
Einen LW-Buchstaben angeben funzt leider nicht da Windows die Laufwerke je nach Hardwarekonfiguration durchnummeriert und die API die Nummer des Laufwerks erwartet. Aber es gibt IMHO irgendwo eine Funktion, die zu der LW-Nummer den passenden LW-Buchstaben liefern kann. Frag mich jetze aber bloß nicht welche. Ist eine Frage für die PB-Gurus hier im Forum.
Zu Frage 2:
Das Thema Progressbar erübrigt sich doch. In dem Fenster das geöffent wird ist unten doch eine Forschrittsanzeige enthalten. Wie man die allerdings anzapft ist mir (noch) nicht bekannt.
Zu Frage 1:
Einen LW-Buchstaben angeben funzt leider nicht da Windows die Laufwerke je nach Hardwarekonfiguration durchnummeriert und die API die Nummer des Laufwerks erwartet. Aber es gibt IMHO irgendwo eine Funktion, die zu der LW-Nummer den passenden LW-Buchstaben liefern kann. Frag mich jetze aber bloß nicht welche. Ist eine Frage für die PB-Gurus hier im Forum.
Zu Frage 2:
Das Thema Progressbar erübrigt sich doch. In dem Fenster das geöffent wird ist unten doch eine Forschrittsanzeige enthalten. Wie man die allerdings anzapft ist mir (noch) nicht bekannt.
"Wenn Sie glauben, mich verstanden zu haben, dann habe ich mich falsch ausgedrückt" ( Alan Greenspan)
Die Frage kann dir fast jeder DOS-Programmierer beantwortenmueckerich hat geschrieben:Einen LW-Buchstaben angeben funzt leider nicht da Windows die Laufwerke je nach Hardwarekonfiguration durchnummeriert und die API die Nummer des Laufwerks erwartet. Aber es gibt IMHO irgendwo eine Funktion, die zu der LW-Nummer den passenden LW-Buchstaben liefern kann. Frag mich jetze aber bloß nicht welche. Ist eine Frage für die PB-Gurus hier im Forum.

Unter DOS gab (gibt) es zwei Systeme:
1) Nummerierung der nach LW-Buchstaben:
A = 0 | B = 1 etc.
2) Nummerierung der LW nach deren Art:
Floppy A = 0 | Floppy B = 1 | und jetzt Achtung! | HDD C = $80 | HDD D = $81 | HDD E = $82 | etc.
Soweit ich das in der MSDN im Laufe der Zeit mitbekommen habe, benutzt Windows immernoch diese Nummerierungen.
Frag mich aber nicht, welche die API benutzt.
Schön, dass es doch eine API für die Formatierung gibt. Ich habe mich wohl geirrt.
Greetz Laurin
Now these points of data make a beautiful line.
And we're out of beta. We're releasing on time.
And we're out of beta. We're releasing on time.
sogar mehrere (ab WinNT)
einmal das da oben
dann gibt's noch in der fmifs.dll ne Format-Funktion
ff. hab ich irgendwoher
einmal das da oben
dann gibt's noch in der fmifs.dll ne Format-Funktion
ff. hab ich irgendwoher
TheFormatEx function in FMIFS.DLL is prototyped like this:
VOID FormatEx ( PWCHAR DriveRoot ,
DWORD MediaFlag ,
PWCHAR Format,
PWCHAR Label,
BOOL QuickFormat ,
DWORD ClusterSize ,
PFMIFSCALLBACK Callback);
where the FMIFSCALLBACK is:
typedef BOOLEAN (__stdcall *PFMIFSCALLBACK)(
CALLBACKCOMMAND Command,
DWORD SubAction,
PVOID ActionInfo );
pb aktuel 6.2 windoof aktuell und sowas von 10
Ich hab Tinnitus im Auge. Ich seh nur Pfeifen.
Ich hab Tinnitus im Auge. Ich seh nur Pfeifen.
@bobobo
.... genau damit hatte ich Probleme..... war dann doch einfacher
den CMD Formatbefehl für den Progressbar aufzubereiten.....
Wer eine Dialogbox haben will ist mit SHFormatDrive von mückerich
gut bedient. (Ich hasse fremde Dialogboxen in meinen Programmen....
)
Cu von Team100
.... genau damit hatte ich Probleme..... war dann doch einfacher
den CMD Formatbefehl für den Progressbar aufzubereiten.....
Wer eine Dialogbox haben will ist mit SHFormatDrive von mückerich
gut bedient. (Ich hasse fremde Dialogboxen in meinen Programmen....

Cu von Team100
Kompliziert kann es jeder lösen, aber das wirklich Geniale ist einfach.....
- mueckerich
- Beiträge: 220
- Registriert: 13.09.2004 11:33
- Wohnort: Am schönsten Flecken der Erde, zwischen PC und Motorrad
@Team100:
Tja, dann soltest Du nur noch Kommandozeileproramme schreiben. Denn... jedes Fenster ist doch irgendwie fremd, schließlich ist das einen Funktion des Betriebssystems. 
Auch glaube ich nicht das Du auf Messageboxen, und Requester kompett verzichtest.
Nix für ungut !
(Ich hasse fremde Dialogboxen in meinen Programmen.... Evil or Very Mad )


Auch glaube ich nicht das Du auf Messageboxen, und Requester kompett verzichtest.

Nix für ungut !

"Wenn Sie glauben, mich verstanden zu haben, dann habe ich mich falsch ausgedrückt" ( Alan Greenspan)
@Mückerich
.... du hast mich mißverstanden
Ich habe geschrieben: Ich hasse fremde Dialogboxen in meinen Programmen.....
d.h. ich möchte meinen Programmablauf samt Ereignissen und Fehlerverwaltung
möglichst selbst verwalten. Ist schließlich auch eine
Frage des optischen Aussehens der Dialogfenster. Wenn da so ein
Windows-eigenes Fenster dazwischenkommt ist das optisch nicht immer
dazupassend. Wenn man seine Programme verkaufen muß, dann sind
leider solche Überlegungen sehr wichtig....
Kunden haben sich schon beschwert, daß in den Standard-Messageboxen
ihr Firmenlogo nicht aufscheint ...
Cu von Team100
.... du hast mich mißverstanden

Ich habe geschrieben: Ich hasse fremde Dialogboxen in meinen Programmen.....
d.h. ich möchte meinen Programmablauf samt Ereignissen und Fehlerverwaltung
möglichst selbst verwalten. Ist schließlich auch eine
Frage des optischen Aussehens der Dialogfenster. Wenn da so ein
Windows-eigenes Fenster dazwischenkommt ist das optisch nicht immer
dazupassend. Wenn man seine Programme verkaufen muß, dann sind
leider solche Überlegungen sehr wichtig....

Kunden haben sich schon beschwert, daß in den Standard-Messageboxen
ihr Firmenlogo nicht aufscheint ...

Cu von Team100
Kompliziert kann es jeder lösen, aber das wirklich Geniale ist einfach.....