Autor Beitrag
Raezor
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 54

Status:
Administrator des Mondes
BeitragVerfasst: Sa 10.03.07 19:03 
Wie kann ich eine Datei löschen, wenn sie gerade verwendet bzw. Kopiergeschützt oder was weiß ich, ist?
Also soll das Löschen einer Datei erzwungen werden, ohne nachzufragen, auch wenn dadurch schwerwiegende Probleme auftauchen könnten.
Blackheart666
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 2195

XP
D3Prof, D6Pers.
BeitragVerfasst: Sa 10.03.07 19:17 
Das wird nicht gehen, und für was sollte das gut sein.

_________________
Blackheart666
Der Irrsinn ist bei Einzelnen etwas Seltenes, - aber bei Gruppen, Parteien, Völkern, Zeiten die Regel. (Friedrich Nietzsche)
Raezor Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 54

Status:
Administrator des Mondes
BeitragVerfasst: Sa 10.03.07 19:46 
Seit nicht so neugierig! :P
Was soll daran nicht gehen?
Das löschen ohne abfrage oder das löschen, wobei es gerade verwendet wird?
Blackheart666
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 2195

XP
D3Prof, D6Pers.
BeitragVerfasst: Sa 10.03.07 19:57 
Dateien die kopiergeschützt sind kannst Du natürlich löschen, indem Du vor dem Löschen den Kopierschutz aufhebst aber Dateien die in Benutzung sind Nicht.

_________________
Blackheart666
Der Irrsinn ist bei Einzelnen etwas Seltenes, - aber bei Gruppen, Parteien, Völkern, Zeiten die Regel. (Friedrich Nietzsche)
hathor
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Sa 10.03.07 20:00 
Wenn Du im Windows-Taskmanager alle Explorer.exe-Instanzen killst, kannst Du über ein Batchfile (oder im CMD-Fenster) jede beliebige Datei löschen - danach im Windows-Taskmanager eine neue Explorer.exe-Instanz starten.
JayEff
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 2971

Windows Vista Ultimate
D7 Enterprise
BeitragVerfasst: Sa 10.03.07 20:10 
user profile iconRaezor hat folgendes geschrieben:
Seit nicht so neugierig! :P

( www.seitseid.de ) Nun, du musst verstehen: Man könnte das durchaus als Malware interpretieren, vorallem nach deiner Beschreibung
user profile iconRaezor hat folgendes geschrieben:
auch wenn dadurch schwerwiegende Probleme auftauchen könnten.

Da dieses Forum aber Malware nicht unterstützt, wärs gut zu wissen, was du vor hast ;)

_________________
>+++[>+++[>++++++++<-]<-]<++++[>++++[>>>+++++++<<<-]<-]<<++
[>++[>++[>>++++<<-]<-]<-]>>>>>++++++++++++++++++.+++++++.>++.-.<<.>>--.<+++++..<+.
Raezor Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 54

Status:
Administrator des Mondes
BeitragVerfasst: Sa 10.03.07 21:00 
@ JayEff: Das sprachliche Mittel, "gekommen dich holen" ist eine sehr interpretiärstarke Ellipse,...

Zu den andren:
Wenn ich z.b eine meiner exen starte und ein update drüberlaufen lasse, ist die noch aktiv und soll beendet werden und die dann löschen, um eine andere hinzukopieren.

Also, wie kann ich eine Exe im Hintergrund deaktivieren?
Und wie kann ich die dann löschen, weil die man ja in verwendung nicht löschen kann.
JayEff
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 2971

Windows Vista Ultimate
D7 Enterprise
BeitragVerfasst: Sa 10.03.07 21:25 
user profile iconRaezor hat folgendes geschrieben:
@ JayEff: Das sprachliche Mittel, "gekommen dich holen" ist eine sehr interpretiärstarke Ellipse,...

Ich verstehe nicht ganz, was sprachliche Stilmittel mit deinem Problem oder dem Fehler in deiner Rechtschreibung zu tun hat, aber ...
Ein Programm kannst du schließen, in dem du das Handle seines Fensters herausfindest ( => Suche in: Delphi-Forum, Delphi-Library X-SPY und per Suche in: Delphi-Forum, Delphi-Library SENDMESSAGE WM_CLOSE sendest.

_________________
>+++[>+++[>++++++++<-]<-]<++++[>++++[>>>+++++++<<<-]<-]<<++
[>++[>++[>>++++<<-]<-]<-]>>>>>++++++++++++++++++.+++++++.>++.-.<<.>>--.<+++++..<+.
Raezor Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 54

Status:
Administrator des Mondes
BeitragVerfasst: Sa 10.03.07 23:30 
Ya ya, lachd reuig.

Zurück zu meinem Problem.
Es würde dann so aussehen?:
ausblenden Quelltext
1:
SENDMESSAGE.WM_CLOSE(hubschrauber.exe);					

Oder?
JayEff
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 2971

Windows Vista Ultimate
D7 Enterprise
BeitragVerfasst: So 11.03.07 00:37 
Auf meine Links klicken ... :roll: Unter dem Suchwort "Sendmessage" wirst du Sendmessage sicher niemals als Klasse funden :roll:

Wie schon gesagt, du brauchst das HANDLE des Fensters das du schließen willst.

_________________
>+++[>+++[>++++++++<-]<-]<++++[>++++[>>>+++++++<<<-]<-]<<++
[>++[>++[>>++++<<-]<-]<-]>>>>>++++++++++++++++++.+++++++.>++.-.<<.>>--.<+++++..<+.
Force
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 143

Ubuntu Jaunty
FreePascal
BeitragVerfasst: So 11.03.07 02:02 
Ihr müsst nicht extra das Programm dafür schließen!

Es geht auch einfach, wenn man das Handle schließt (weis einer zufällig, wie das geht, ich such schon die ganz Zeit danach ^^)

Siehe auch: Unlocker, ein Programm, welches auc Handles schließen kann, ohne das Programm zu schließen - leider ist es nur Freeware und nicht OpenSource :(
Chryzler
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 1097
Erhaltene Danke: 2



BeitragVerfasst: So 11.03.07 11:21 
CloseHandle?
matze
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 4613
Erhaltene Danke: 24

XP home, prof
Delphi 2009 Prof,
BeitragVerfasst: So 11.03.07 13:26 
wenn dir das reicht, kannst du auch mit Suche in: Delphi-Forum MOVEFILEEX die Datei nach dem nächsten Neustart von Windows löschen lassen.

_________________
In the beginning was the word.
And the word was content-type: text/plain.
\\BBG//
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 21

Win XP Pro SP2, Win 2000 Pro SP4
Delphi 7 Enterprise
BeitragVerfasst: So 11.03.07 13:50 
Jetzt überleg(t) doch bitte mal, warum man manche Dateien nicht löschen soll.
Und was passieren kann, wenn man es trotzdem tut.
Unlocker kann das zwar, ist aber recht unschön z.B. Systemprozessen die Handles zu entziehen...

_________________
"Irren ist menschlich. Aber wenn man richtig Mist bauen will, braucht man einen Computer."
(Dan Rather, CBS-Fernsehreporter)
Chryzler
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 1097
Erhaltene Danke: 2



BeitragVerfasst: So 11.03.07 15:30 
user profile icon\\BBG// hat folgendes geschrieben:
Jetzt überleg(t) doch bitte mal, warum man manche Dateien nicht löschen soll.
Und was passieren kann, wenn man es trotzdem tut.
Unlocker kann das zwar, ist aber recht unschön z.B. Systemprozessen die Handles zu entziehen...

Er hat doch gesagt, er ist sich bewusst, dass das Löschen negative Konsequenzen haben kann. ;)
user profile iconRaezor hat folgendes geschrieben:
Also soll das Löschen einer Datei erzwungen werden, ohne nachzufragen, auch wenn dadurch schwerwiegende Probleme auftauchen könnten.
BenBE
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 8721
Erhaltene Danke: 191

Win95, Win98SE, Win2K, WinXP
D1S, D3S, D4S, D5E, D6E, D7E, D9PE, D10E, D12P, DXEP, L0.9\FPC2.0
BeitragVerfasst: Sa 24.03.07 00:50 
Also wie gesagt: Es gibt 4 Möglichkeiten, das zu tun ...

1. Gar nicht ... Ist die sicherste (hat so ihre leichten Nachteile)

2. Via Updater und Sendmessage ... Siehe Links von JayEff oder im SwissDelphiCenter zum Thema Updater schreiben

3. Mit MoveFileEx nach'm nächsten Neustart (wenn's denn unbedingt erzwungenes Löschen sein muss - ist von abzuraten)

4. Über erzwungenes Killen von Handles ... Erfordert sehr viel Hintergrundwissen, die richtigen Units und ein paar Hinweise ...
Sagen wir's so: Ich kenne die Units, die man dafür brauch, auch wo die Informationen dafür stehen (wo man die Handles herbekommt), werde dies hier aber nicht schreiben (geschweige denn Sources liefern. Nur soviel vorweg: Es kann noch so oft ein Handle geschlossen sein, wenn Windows der Meinung ist, es brauch die Datei (und sei's, weil er wieder mal ne Logfile als DLL läd ... (macht er bei mir ständig ... Thx@ProcExp), dann bringt es auch wenig, das Handle zu schließen... Ferner werden die meisten Techniken zum Schließen von Handles von guten AV\Desktop-FWs als Malware mit zumindest einem kleinen Hinweis "Programm installiert Treiber" bzw. "Programm versucht physikalischen Speicher zu verändern" markiert. Ferner sind jegliche mir bekannten Methoden zum Schließen von Handles undokumentiert und erfordern zumindest Administrator ODER Debug-Rechte (std. nur Admin).

_________________
Anyone who is capable of being elected president should on no account be allowed to do the job.
Ich code EdgeMonkey - In dubio pro Setting.
Luckie
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: So 25.03.07 04:33 
Chryzler
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 1097
Erhaltene Danke: 2



BeitragVerfasst: So 25.03.07 09:38 
user profile iconBenBE hat folgendes geschrieben:
4. Über erzwungenes Killen von Handles ... Erfordert sehr viel Hintergrundwissen, die richtigen Units und ein paar Hinweise ...
Sagen wir's so: Ich kenne die Units, die man dafür brauch, auch wo die Informationen dafür stehen (wo man die Handles herbekommt), werde dies hier aber nicht schreiben (geschweige denn Sources liefern. Nur soviel vorweg: Es kann noch so oft ein Handle geschlossen sein, wenn Windows der Meinung ist, es brauch die Datei (und sei's, weil er wieder mal ne Logfile als DLL läd ... (macht er bei mir ständig ... Thx@ProcExp), dann bringt es auch wenig, das Handle zu schließen... Ferner werden die meisten Techniken zum Schließen von Handles von guten AV\Desktop-FWs als Malware mit zumindest einem kleinen Hinweis "Programm installiert Treiber" bzw. "Programm versucht physikalischen Speicher zu verändern" markiert. Ferner sind jegliche mir bekannten Methoden zum Schließen von Handles undokumentiert und erfordern zumindest Administrator ODER Debug-Rechte (std. nur Admin).

Stimmt, Unlocker installiert auch so einen Treiber "UnlockerDriver5". Scheint ja komplizierter zu sein, als es anfangs aussah. :o
jomeier85
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 46



BeitragVerfasst: So 25.03.07 20:40 
bin mir nicht sicher ob das auch für das beschrieben problem funktioniert...

aber ich kann damit verdamt viel löschen


ausblenden Dateien Löschen
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
function DeleteFile(const AFile: string): boolean;
var
 sh: SHFileOpStruct;
begin
 ZeroMemory(@sh, sizeof(sh));
 with sh do
   begin
   Wnd := Application.Handle;
   wFunc := fo_Delete;
   pFrom := PChar(AFile +#0);
   fFlags := fof_Silent or fof_NoConfirmation;
   end;
 result := SHFileOperation(sh) = 0;
end;


Moderiert von user profile iconmatze: Code- durch Delphi-Tags ersetzt
Raezor Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 54

Status:
Administrator des Mondes
BeitragVerfasst: So 25.03.07 21:49 
wo kommt der filepath bzw der file-name hin?
Dieses Thema ist gesperrt, Du kannst keine Beiträge editieren oder beantworten.

Das Thema wurde von einem Team-Mitglied geschlossen. Wenn du mit der Schließung des Themas nicht einverstanden bist, kontaktiere bitte das Team.