Autor Beitrag
highhatcompy
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 190

Win2000,Win XP,Linux(SuSE9.2)
Delphi 5 Prof.
BeitragVerfasst: Sa 28.08.04 13:06 
Hallo,
ich schreibe ein Programm zur Datensicherung. Nun will ich Die API Funktion von Windows nutzen, leider weiß ich nicht wie die heißt! :oops:
Kann mir jemand helfen ?

Mfg

Highhatcompy

_________________
Bist Du ein Programmierer, so wirst Du gegen Computer, Hardwarehersteller und Anwender verlieren. (Quelle: Murphy's Computer-Gesetz)
Luckie
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Sa 28.08.04 14:09 
Welche API Funktion? Suche im MSDN COPYFILE oder meinst du Suche in: Delphi-Forum, Delphi-Library SHFILEOPERATION?
highhatcompy Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 190

Win2000,Win XP,Linux(SuSE9.2)
Delphi 5 Prof.
BeitragVerfasst: Sa 28.08.04 14:46 
Jo, jo genau SHFILEOPERATION die suche ich!

Vielen Dank und Grüße aus Thüringen

HHC

_________________
Bist Du ein Programmierer, so wirst Du gegen Computer, Hardwarehersteller und Anwender verlieren. (Quelle: Murphy's Computer-Gesetz)
hermit.de
Hält's aus hier
Beiträge: 8



BeitragVerfasst: Mo 06.09.04 17:05 
Es geht auch so:
ausblenden volle Höhe Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
procedure ExecuteFile(const AFilename: string; AParameter, ACurrentDir: string; AWait: Boolean);
var
  si: TStartupInfo;
  pi: TProcessInformation;
begin
  if Length(ACurrentDir) = 0 then
    begin
      ACurrentDir := ExtractFilePath(AFilename);
      if ACurrentDir[Length(ACurrentDir)] = '' then
        Delete(ACurrentDir, Length(ACurrentDir), 1);
    end;
  FillChar(si, SizeOf(si), 0);
  with si do
    begin
      cb := SizeOf(si);
      dwFlags := STARTF_USESHOWWINDOW;
      wShowWindow := SW_NORMAL;
    end;
  FillChar(pi, SizeOf(pi), 0);
  if Length(AParameter) = 0 then
    AParameter := Format('"%s"', [AFilename])
  else
    AParameter := Format('"%s" "%s"', [AFilename, AParameter]);
  if CreateProcess(nil, PChar(AParameter), nilnil, False,
    CREATE_DEFAULT_ERROR_MODE or CREATE_NEW_CONSOLE or
    NORMAL_PRIORITY_CLASS, nil, PChar(ACurrentDir), si, pi) then
    begin
      try
        if AWait then WaitForSingleObject(pi.hProcess, INFINITE);
      finally
        CloseHandle(pi.hProcess);
        CloseHandle(pi.hThread);
      end;
    end;
end;


AFilename ist die Exe
AParameter der zu übergebende Parameter
ACurrentDir das Verzeichniss der Exe (kann wegfallen, wenn exe mit konpletten Pfad angegeben wird)
AWait warten auf Ende


ev. mit dem Format-String noch probieren ( beim 2. "%s" ohne Anführungszeichen)
ansonsten tut das bei mir auch so.

hermit 8)
MathiasSimmack
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Mo 06.09.04 17:26 
Upps, da ist wohl jemand in den falschen Beitrag gerutscht. ;)
Hier ging´s ums Kopieren.

Na ja, passiert schon mal ...