AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Win Api-Kopierfunktion ohne Fenster?

Ein Thema von Helmi · begonnen am 29. Jun 2006 · letzter Beitrag vom 1. Jul 2006
Antwort Antwort
Seite 1 von 2  1 2      
Benutzerbild von Helmi
Helmi

Registriert seit: 29. Dez 2003
Ort: Erding, Republik Bayern
3.336 Beiträge
 
Delphi XE2 Professional
 
#1

Win Api-Kopierfunktion ohne Fenster?

  Alt 29. Jun 2006, 06:01
Hallo,

es gibt ja die Win-Api-Kopierfunktion. Kann man diese Kopierfunktion auch ohne dem Fenster verwenden und die Progressbar in seiner eigenen Application verwerden?
mfg
Helmi

>> Theorie ist Wissen, dass nicht funktioniert - Praxis ist, wenn alles funktioniert und keiner weiss warum! <<
  Mit Zitat antworten Zitat
Benutzerbild von s.h.a.r.k
s.h.a.r.k

Registriert seit: 26. Mai 2004
3.159 Beiträge
 
#2

Re: Win Api-Kopierfunktion ohne Fenster?

  Alt 29. Jun 2006, 08:28
Allgemeine Frage: Warum machst du das nicht selber? (mit Streams)

Ansonsten muss es sicherlich eine Möglichkeit geben an das Handle des Fensters zu kommen und dann die ProgressBar auslesen zu können. Außerdem wirst du, wenn du das Handle hast das Fenster auch verstecken können!
»Remember, the future maintainer is the person you should be writing code for, not the compiler.« (Nick Hodges)
  Mit Zitat antworten Zitat
MathiasSimmack
(Gast)

n/a Beiträge
 
#3

Re: Win Api-Kopierfunktion ohne Fenster?

  Alt 29. Jun 2006, 10:02
Man wird doch nicht mit dem Auslesen von Handles und Verstecken von Fenstern anfangen. Dein erster Tipp war doch gut. Auf der Seite von Michael gibt es, soweit ich mich erinnere, sogar ein Beispiel für eine Kopierroutine mit eigener Fortschrittsanzeige.
  Mit Zitat antworten Zitat
shmia

Registriert seit: 2. Mär 2004
5.508 Beiträge
 
Delphi 5 Professional
 
#4

Re: Win Api-Kopierfunktion ohne Fenster?

  Alt 29. Jun 2006, 10:39
CopyFileEx verwenden.
http://msdn.microsoft.com/library/de...copyfileex.asp
Andreas
  Mit Zitat antworten Zitat
Benutzerbild von Helmi
Helmi

Registriert seit: 29. Dez 2003
Ort: Erding, Republik Bayern
3.336 Beiträge
 
Delphi XE2 Professional
 
#5

Re: Win Api-Kopierfunktion ohne Fenster?

  Alt 29. Jun 2006, 16:31
Hallo,

Zitat von s.h.a.r.k:
Allgemeine Frage: Warum machst du das nicht selber? (mit Streams)

Ansonsten muss es sicherlich eine Möglichkeit geben an das Handle des Fensters zu kommen und dann die ProgressBar auslesen zu können. Außerdem wirst du, wenn du das Handle hast das Fenster auch verstecken können!
Bisher mach ich es ja mit Streams. Aber das mach ich nur bei einzelnen Dateien (angelehnt an das Da).
Nun will ich aber mit meinem Programm nicht nur einzelne Dateien kopieren, sondern auch Ordner incl. Unterordner. Und das ist mit Streams eine ziemlich aufwendige Möglichkeit.

Da ist mir eben die Idee gekommen, die Win-Api-Funktion zu verwenden. So erspar ich mir die aufwendige Kopierfunktion. Nur stört mich halt das Fenster, denn ich will den Fortschritt des Kopierens in meiner Application selbst anzeigen lassen wollen.


Zitat von shmia:
Das werd ich mir mal zu Gemüte führen!

Vielen Dank für eure Tips!
mfg
Helmi

>> Theorie ist Wissen, dass nicht funktioniert - Praxis ist, wenn alles funktioniert und keiner weiss warum! <<
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#6

Re: Win Api-Kopierfunktion ohne Fenster?

  Alt 29. Jun 2006, 18:43
Et voila: http://www.michael-puff.de/Developer...opyFileEx.html
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Benutzerbild von Helmi
Helmi

Registriert seit: 29. Dez 2003
Ort: Erding, Republik Bayern
3.336 Beiträge
 
Delphi XE2 Professional
 
#7

Re: Win Api-Kopierfunktion ohne Fenster?

  Alt 29. Jun 2006, 18:45
Hallo Luckie,

sind das verschiedene Kopier-Funktionen?
Und kann man damit auch Ordner (und Unterordner) kopieren)?
mfg
Helmi

>> Theorie ist Wissen, dass nicht funktioniert - Praxis ist, wenn alles funktioniert und keiner weiss warum! <<
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#8

Re: Win Api-Kopierfunktion ohne Fenster?

  Alt 29. Jun 2006, 18:51
Da wird dochnur CopyFileEx beschrieben...
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
29. Jun 2006, 18:51
Dieses Thema wurde von "Christian Seehase" von "Windows 9x / ME / 2000 / XP / 2003" nach "Windows API / MS.NET Framework API" verschoben.
Eher ein Problem bezüglich der Windows-API, denn mit Windows
Benutzerbild von Helmi
Helmi

Registriert seit: 29. Dez 2003
Ort: Erding, Republik Bayern
3.336 Beiträge
 
Delphi XE2 Professional
 
#10

Re: Win Api-Kopierfunktion ohne Fenster?

  Alt 29. Jun 2006, 19:11
Zitat von Luckie:
Da wird dochnur CopyFileEx beschrieben...
Ja, hab ich auch gerade gesehen - Sorry!

Aber Luckie, kann es sein dass bei:
Delphi-Quellcode:
    CEXM_MAXBYTES:
      begin
        ProgressBar1.Max := (Msg.LParam) shl 32) + Msg.WParam;
      end;
ein Fehler drin ist und es so heissen muss:
Delphi-Quellcode:
    CEXM_MAXBYTES:
      begin
        ProgressBar1.Max := (Int64(Msg.LParam) shl 32) + Msg.WParam;
      end;


[edit]
Und irgendwie geht bei dem Code gar nix! Ich hab mir das mal zur Laufzeit angeschaut!
Bei:
Delphi-Quellcode:
procedure TForm1.WndProc(var Msg: TMessage);
begin
  inherited;
  case Msg.Msg of
    CEXM_MAXBYTES:
      begin
        ProgressBar1.Max := (Int64(Msg.LParam) shl 32) + Msg.WParam;
      end;
    CEXM_CONTINUE:
      begin
        Progressbar1.Position := (Int64(Msg.LParam) shl 32) + Msg.WParam;
        Caption := IntToStr(Msg.WParam + Msg.LParam);
      end;
    CEXM_CANCEL:
    begin
      Progressbar1.Position := 0;
      Caption := '0';
    end;
  end;
end;
springt er bei "case Msg.Msg" sofort wieder zu end
mfg
Helmi

>> Theorie ist Wissen, dass nicht funktioniert - Praxis ist, wenn alles funktioniert und keiner weiss warum! <<
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 16:00 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz