![]() |
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! |
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
Dieses Thema wurde von "Christian Seehase" von "Klatsch und Tratsch" nach "Windows API" verschoben.
Delphi Fragen gehören nicht nach K&T ;-) |
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) |
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:
abfragen.
if IsIconic(Form1.Handle) then //...
|
Re: Prüfen ob Programm minimiert ist
danke!
|
Re: Prüfen ob Programm minimiert ist
ich hab's probiert, aber es hat nicht geklappt
??Bin ich zu blöd?? ![]() |
Re: Prüfen ob Programm minimiert ist
Ich schaffe es nicht einmal smileys richtig einzufügen!
Ich bin verzweifelt!! |
Re: Prüfen ob Programm minimiert ist
nicht verzweifeln... wie wärs du postest mal den code den du bisher hast?
|
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?? |
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 |
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] |
Re: Prüfen ob Programm minimiert ist
Delphi-Quellcode:
Statt Rechner den Fenstertitel der Anwendung eintragen.
procedure TForm1.Button1Click(Sender: TObject);
var Window: THandle; begin Window := FindWindow(nil, 'Fenstertitel'); if IsIconic(Window) then begin //... end; end; |
Re: Prüfen ob Programm minimiert ist
was bringt das genau?
Fenstertitel ist Form.Caption, oder?? |
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 |
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. |
Re: Prüfen ob Programm minimiert ist
probier mal
Delphi-Quellcode:
if IsIconic(Application.handle) then
|
Re: Prüfen ob Programm minimiert ist
Hi!
Zitat:
Ciao fkerber |
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. |
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; |
Re: Prüfen ob Programm minimiert ist
warum denn so kompliziert?
Delphi-Quellcode:
if form1.showing then
showmessage('ok'); |
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
|
Re: Prüfen ob Programm minimiert ist
wie und wo muss ich das einfügen
|
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:
On Create musst du über den Objectinspector erstellen und das Minimizeproc selbst einfügen
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. |
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!! |
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:
|
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) |
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
|
Re: Prüfen ob Programm minimiert ist
Zitat:
|
Re: Prüfen ob Programm minimiert ist
ICH HABS!!! :hello:
Ich danke euch alle!!! Ich hab das beim private vergessen :wall: |
Re: Prüfen ob Programm minimiert ist
Ich habe jetzt ein programm, das, wenn es minimiert wird, in der Taskleiste blinkt! :hello:
|
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: |
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 |
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