Delphi-PRAXiS
Seite 1 von 3  1 23      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Win32/Win64 API (native code) (https://www.delphipraxis.net/17-win32-win64-api-native-code/)
-   -   Delphi Laufwerk formatieren, still im Hintergrund ohne Fenster (https://www.delphipraxis.net/62289-laufwerk-formatieren-still-im-hintergrund-ohne-fenster.html)

kalmi01 2. Feb 2006 16:32


Laufwerk formatieren, still im Hintergrund ohne Fenster
 
Hi,

in meinem Prog möchte ich bei Bedarf und automatisch eine RAMDISK formatieren.
Dies soll ohne Interaktionen mit dem Anwender im Hintergrund geschehen.

Da der Anwender aber keine Berechtigung hat, zu Formatieren, holt sich mein
Prog Adminrechte.

Das Problem dabei ist, dass dieser Code
Delphi-Quellcode:
ShellExecute(0,
             Nil,
             PChar('cmd'),
             Pchar('/C ECHO j | FORMAT B: /FS:FAT /V:RAMDISK'),
             Pchar(''),
             SW_HIDE);
unter dem User-Account läuft.
Und somit seinen Dienst versagt.

ringli 2. Feb 2006 16:38

Re: Laufwerk formatieren, still im Hintergrund ohne Fenster
 
Wozu formatierst du eine RAM-Disk?
Kannst du die RAM-Disk nicht einfach abschalten und neu erzeugen? Ich vermute mal das das einfacher wäre...

kalmi01 2. Feb 2006 16:43

Re: Laufwerk formatieren, still im Hintergrund ohne Fenster
 
Weil die RAMDISK, die ich verwende, sich wie ein echtes Laufwerk verhält.
Genau deshalb verwende ich sie.

D.h. aber: sie MUSS formatiert werden um sie nutzen zu können.

ringli 2. Feb 2006 17:37

Re: Laufwerk formatieren, still im Hintergrund ohne Fenster
 
Hilft dir vielleicht CreateProcessWithLogonW weiter? In diesem Thread könnte die Lösung deines Problems stecken.

kalmi01 2. Feb 2006 18:17

Re: Laufwerk formatieren, still im Hintergrund ohne Fenster
 
Danke,

sieht auf den ersten Blick gut aus.
Habs zwar noch nicht getestet, aber zumindest scheinen Andere bereits ähnliche Probleme gehabt zu haben.
Das beruhigt.

Schöner wäre aber eine "echte" Delphi-Lösung, also ohne DOS-Kommando.
Zitat:

ECHO j | FORMAT B: /FS:FAT /V:RAMDISK'
hat den Nachteil, dass ich für "ECHO j" ja den richtigen Buchstaben verwenden muss.
Also bei englischem Windows ein "y", beim französischen ein "o", usw.

thomasw 2. Feb 2006 19:07

Re: Laufwerk formatieren, still im Hintergrund ohne Fenster
 
FormatEx() in der fmifs.dll ist das was du suchst...

bigg 2. Feb 2006 19:18

Re: Laufwerk formatieren, still im Hintergrund ohne Fenster
 
Wozu formatiert man eigentlich einen Datenträger der bereits formatiert ist? :gruebel:

kalmi01 3. Feb 2006 07:58

Re: Laufwerk formatieren, still im Hintergrund ohne Fenster
 
Zitat:

Zitat von bigg
Wozu formatiert man eigentlich einen Datenträger der bereits formatiert ist? :gruebel:

Wieso gehst Du davon aus, das eine RAMDISK bereits formatiert ist ?

bigg 3. Feb 2006 12:40

Re: Laufwerk formatieren, still im Hintergrund ohne Fenster
 
...,weil du sonst keine Dateien bzw. Verzeichnisse auf diesem Laufwerk ablegen könntest.

runger 3. Feb 2006 13:40

Re: Laufwerk formatieren, still im Hintergrund ohne Fenster
 
Hallo,
ramdisk --> zerstören
ramdisk neu aufsetzen

fertig. Ist das gleiche wie beim formatieren.

Ich glaube dass du garkeine ramdisk formatieren willst, sondern eine normale Platte.
Ideal zum proggen eines Virus!

rainer


Alle Zeitangaben in WEZ +1. Es ist jetzt 10:25 Uhr.
Seite 1 von 3  1 23      

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz