Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Win32/Win64 API (native code) (https://www.delphipraxis.net/17-win32-win64-api-native-code/)
-   -   Delphi Prüfen ob Programm minimiert ist (https://www.delphipraxis.net/18545-pruefen-ob-programm-minimiert-ist.html)

G M 20. Mär 2004 15:41


Prüfen ob Programm minimiert ist
 
Hi!
Ich bin neu hier und habe auch schon eine Frage die mir mein (kleines) Grundwissen nicht beantworten kann.

Ich möchte prüfen ob das Programm minimiert ist.

Habe mir das ungefähr in diesem Zusammenhang vorgestellt:

if "Programm minimiert" then ...

Wäre nett wenn ihr mir helfen könntet!

Christian Seehase 20. Mär 2004 15:47

Re: Prüfen ob Programm minimiert ist
 
Moin GM,

erst einmal herzlich willkommen hier in der Delphi-PRAXiS.

Wenn Du das Handle des Fensters hast, das Du prüfen willst, kannst Du dies mit der API Funktion IsIconic tun.

BTW:
Ich werd' Deinen Thread mal verschieben.

DP-Maintenance 20. Mär 2004 15:47

DP-Maintenance
 
Dieses Thema wurde von "Christian Seehase" von "Klatsch und Tratsch" nach "Windows API" verschoben.
Delphi Fragen gehören nicht nach K&T ;-)

G M 20. Mär 2004 15:58

Re: Prüfen ob Programm minimiert ist
 
Danke
aber,
kannst du mir bitte das mit dem 'Handle' erklären?
(ich arbeite noch nicht so lange mit diesem Programmierzeugs)

Christian Seehase 20. Mär 2004 16:20

Re: Prüfen ob Programm minimiert ist
 
Moin GM,

ein Handle auf ein Fenster ist nichts weiter, als eine 32 Bit Zahl, die dieses Fenster identifiert.
(für Dateien und anderes gibt es auch Handle)

Wenn Du jetzt also z.B. prüfen, willst, ob das Formular Form1 minmiert ist, so kannst Du einfach

Delphi-Quellcode:
if IsIconic(Form1.Handle) then //...
abfragen.

G M 20. Mär 2004 16:34

Re: Prüfen ob Programm minimiert ist
 
danke!

G M 21. Mär 2004 13:53

Re: Prüfen ob Programm minimiert ist
 
ich hab's probiert, aber es hat nicht geklappt

??Bin ich zu blöd??http://www.delphipraxis.net/images/smiles/gruebel.gif

G M 21. Mär 2004 13:54

Re: Prüfen ob Programm minimiert ist
 
Ich schaffe es nicht einmal smileys richtig einzufügen!
Ich bin verzweifelt!!

Meflin 21. Mär 2004 14:05

Re: Prüfen ob Programm minimiert ist
 
nicht verzweifeln... wie wärs du postest mal den code den du bisher hast?

G M 21. Mär 2004 14:23

Re: Prüfen ob Programm minimiert ist
 
eigentlich kann man das, was ich habe, nicht als 'code' bezeichnen
wie wärs wenn ihr es mir einfach richtig postet?


PS: Wie fügt man die smileys eigentlich richtig ein??

fkerber 21. Mär 2004 14:29

Re: Prüfen ob Programm minimiert ist
 
Hi!

Wegen den Smileys:

Einfach draufklicken (ich glaube JavaScript muss aktiviert sein).


Wegen dem Code:

Es ist besser, wenn du deinen Code postest (von wegen dem Lerneffekt).


Ciao fkerber

G M 21. Mär 2004 14:44

Re: Prüfen ob Programm minimiert ist
 
Auf das mit den Smileys hätte ich selber kommen können!! :wall:

nun mein code (lacht mich bitte nicht aus)
ich habe versucht mit einem Timer zu checken ob das Programm minimiert ist:


Code:
procedure TForm1.Timer1Timer(Sender: TObject);
begin
  if [b]IsIconic(Form1.Handle)[/b] then
  showmessage('Hallo');
end;

das fettgeschriebene habe ich von oben (Christian Seehase)

[edit=Christian Seehase]Pre-Tags gesetzt. Mfg, Christian Seehase[/edit]

Wheelie 21. Mär 2004 14:44

Re: Prüfen ob Programm minimiert ist
 
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var Window: THandle;
begin
  Window := FindWindow(nil, 'Fenstertitel');
  if IsIconic(Window) then
  begin
    //...
  end;
end;
Statt Rechner den Fenstertitel der Anwendung eintragen.

G M 21. Mär 2004 14:52

Re: Prüfen ob Programm minimiert ist
 
was bringt das genau?

Fenstertitel ist Form.Caption, oder??

fkerber 21. Mär 2004 14:55

Re: Prüfen ob Programm minimiert ist
 
Hi!

Was genau willst du denn erreichen?
Willst du feststellen, ob dein Fenster minimiert ist, oder ein anderes Fenster?

Ciao fkerber

G M 21. Mär 2004 15:02

Re: Prüfen ob Programm minimiert ist
 
ich hatte einen geistesblitz!!
ich wollte wenn man mein Programm(?) minimiert dass es in der Taskleiste blinkt.

das mit der Taskleiste habe ich gefunden : 'FlashWindow(Application.Handle, True);

mitt dem minimieren habe ich noch probleme.

SirThornberry 21. Mär 2004 15:17

Re: Prüfen ob Programm minimiert ist
 
probier mal
Delphi-Quellcode:
if IsIconic(Application.handle) then

fkerber 21. Mär 2004 15:17

Re: Prüfen ob Programm minimiert ist
 
Hi!

Zitat:

Zitat von G M
mitt dem minimieren habe ich noch probleme.

Willst du minimieren, oder nur mitbekommen, wenn minimiert wurde?


Ciao fkerber

G M 21. Mär 2004 15:21

Re: Prüfen ob Programm minimiert ist
 
mein Programm soll merken wenn es minimiert wird und dann de Befehl
FlashWindow(Application.Handle, True); (also es soll in der Taskleiste blinken)
ausführen.
Wenn es wieder maximiert wird soll das aber wieder aufhören.

SirThornberry 21. Mär 2004 15:32

Re: Prüfen ob Programm minimiert ist
 
schau dir einfach mal Application.OnMinimize an. Bsp.:

Delphi-Quellcode:
procedure TForm1.Minimizeproc(Sender: TObject);
begin
  //das was beim minimieren passieren soll
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
  Application.OnMinimize := Minimizeproc;
end;

gekmihesg 21. Mär 2004 15:34

Re: Prüfen ob Programm minimiert ist
 
warum denn so kompliziert?

Delphi-Quellcode:
if form1.showing then
  showmessage('ok');

SirThornberry 21. Mär 2004 15:36

Re: Prüfen ob Programm minimiert ist
 
@gekmihesg: Bei deiner Variante wird dann aber wieder ein Timer benötigt der immer prüft ob das fenster gezeigt wird oder nicht. Wenn du das OnMinimize nutzt kannst man auf den Timer verzichten

G M 21. Mär 2004 15:39

Re: Prüfen ob Programm minimiert ist
 
wie und wo muss ich das einfügen

SirThornberry 21. Mär 2004 15:41

Re: Prüfen ob Programm minimiert ist
 
da du dich ja nicht wirklich sehr auszukennen scheinst mal die ganze unit zu dem onminimize
Delphi-Quellcode:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs;

type
  TForm1 = class(TForm)
    procedure FormCreate(Sender: TObject);
  private
    procedure Minimizeproc(Sender: TObject);
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}


procedure TForm1.Minimizeproc(Sender: TObject);
begin
  //das was beim minimieren passieren soll
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
  Application.OnMinimize := Minimizeproc;
end;

end.
On Create musst du über den Objectinspector erstellen und das Minimizeproc selbst einfügen

G M 21. Mär 2004 15:53

Re: Prüfen ob Programm minimiert ist
 
ich habe alles so gemacht wie es mir gesagt worden ist

mein code sieht genau so aus wie der von SirThornberry, aber ich bekomme nur das zu sehen:

[Error] Unit1.pas(25): Undeclared identifier: 'Minimizeproc'
[Error] Unit1.pas(25): ';' expected but '(' found
[Error] Unit1.pas(32): Undeclared identifier: 'Minimizeproc'
[Fatal Error] Project2.dpr(5): Could not compile used unit 'Unit1.pas'



Ich bin ein hoffnungsloser Fall!!

Luckie 21. Mär 2004 15:58

Re: Prüfen ob Programm minimiert ist
 
Es wäre sehr hilfreich, wenn du uns noch den Code zu den Fehlermeldungen geben könntest, mit Zeilenangaben. :roll:

G M 21. Mär 2004 16:02

Re: Prüfen ob Programm minimiert ist
 
Ich trau mich fast nicht zu fragen aber
Wie geht das?

(ich glaube man merkt das ich anfänger bin)

SirThornberry 21. Mär 2004 16:07

Re: Prüfen ob Programm minimiert ist
 
hast du das Minimizeproc auch oben unter private hinzugefügt? Heißt dein Form auch Form1?? ansonsten musst du Form1 umbenennen in den namen den du deinem form gegeben hast und TForm1 musst du dementsprechend auch umbenennen

Luckie 21. Mär 2004 16:10

Re: Prüfen ob Programm minimiert ist
 
Zitat:

Zitat von G M
Ich trau mich fast nicht zu fragen aber Wie geht das?

Wie geht was? Entsprechende Stelle im Code kopieren und iher einfügen. :roll:

G M 21. Mär 2004 16:14

Re: Prüfen ob Programm minimiert ist
 
ICH HABS!!! :hello:
Ich danke euch alle!!!

Ich hab das beim private vergessen :wall:

G M 21. Mär 2004 16:16

Re: Prüfen ob Programm minimiert ist
 
Ich habe jetzt ein programm, das, wenn es minimiert wird, in der Taskleiste blinkt! :hello:

G M 21. Mär 2004 16:43

Re: Prüfen ob Programm minimiert ist
 
Äh noch ne Frage:

wenn ich prüfen will ob das Programm maximiert ist, mache ich das mit OnMaximize?
:gruebel:

fkerber 21. Mär 2004 16:45

Re: Prüfen ob Programm minimiert ist
 
Hi!

Der Übersichtlichkeit halber solltest du die neue Frage in einem neuen Thread stellen, damit sie eher gefunden wird.

Ciao fkerber

G M 21. Mär 2004 16:46

Re: Prüfen ob Programm minimiert ist
 
OK!


Alle Zeitangaben in WEZ +1. Es ist jetzt 04:30 Uhr.

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-2025 by Thomas Breitkreuz