![]() |
mit nem timer alles minimieren
Nabend,
ich hab ein problem ich will ein programm machen das nach der eingestellten zeit alle programme mimiert... so weit so gut... hab ein bissle gegoogelt und das gefunden was alle fenster minimieren lässt... nun hab ich das problem ich starte das programm und beim ersten mal minimiert er es ohne die eingestellte zeit zu berücksichtigen dann muss man das programm wieder maximieren und dannach gehts.. was weis nicht mehr weiter ich hab scho einiges versucht aber nichts geht...
Delphi-Quellcode:
kennt jmd das problem?
unit Unit1;
interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, ExtCtrls, StdCtrls; type TForm1 = class(TForm) Timer1: TTimer; Edit1: TEdit; Button1: TButton; Edit2: TEdit; Label1: TLabel; Label2: TLabel; procedure Timer1Timer(Sender: TObject); procedure Button1Click(Sender: TObject); private { Private-Deklarationen } public { Public-Deklarationen } end; var Form1: TForm1; m,i2,i: Integer; m2: Cardinal; implementation {$R *.dfm} procedure TForm1.Timer1Timer(Sender: TObject); begin Timer1.Interval := m2; KeyBd_Event(VK_LWIN, MapvirtualKey(VK_LWIN, 0), 0, 0); KeyBd_Event(Ord('M'), MapvirtualKey(Ord('M'), 0), 0, 0); KeyBd_Event(Ord('M'), MapvirtualKey(Ord('M'), 0), KEYEVENTF_KEYUP, 0); KeyBd_Event(VK_LWIN, MapvirtualKey(VK_LWIN, 0), KEYEVENTF_KEYUP, 0); end; procedure TForm1.Button1Click(Sender: TObject); begin m := StrToInt(Edit1.Text); i := StrToInt(Edit2.Text); i2 := i*1000; m2 := m*60*1000+i2; Timer1.Enabled := true; end; end. mfg Tommy edit: ich habs... ich musste noch bissle was einbauen sorry kann geclosed werden... hier die lösung
Delphi-Quellcode:
unit Unit1;
interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, ExtCtrls, StdCtrls; type TForm1 = class(TForm) Timer1: TTimer; Edit1: TEdit; Button1: TButton; Edit2: TEdit; Label1: TLabel; Label2: TLabel; procedure Timer1Timer(Sender: TObject); procedure Button1Click(Sender: TObject); private { Private-Deklarationen } public { Public-Deklarationen } end; var Form1: TForm1; m,t,i2,i: Integer; m2: Cardinal; implementation {$R *.dfm} procedure TForm1.Timer1Timer(Sender: TObject); begin case t of 1: begin Timer1.Interval := m2; inc(t); end; 2: begin KeyBd_Event(VK_LWIN, MapvirtualKey(VK_LWIN, 0), 0, 0); KeyBd_Event(Ord('M'), MapvirtualKey(Ord('M'), 0), 0, 0); KeyBd_Event(Ord('M'), MapvirtualKey(Ord('M'), 0), KEYEVENTF_KEYUP, 0); KeyBd_Event(VK_LWIN, MapvirtualKey(VK_LWIN, 0), KEYEVENTF_KEYUP, 0); Timer1.Enabled := false; end; end; end; procedure TForm1.Button1Click(Sender: TObject); begin m := StrToInt(Edit1.Text); i := StrToInt(Edit2.Text); i2 := i*1000; m2 := m*60*1000+i2; Timer1.Enabled := true; t := 1; end; end. |
Re: mit nem timer alles minimieren
Hallo,
ändere das Design: setze den Intervall des Timers auf 1000 und prüfe im OnTimer-Ereignis, ob schon die gewünschte Zeit eingetreten ist. Außerdem würde ich das mit ![]() ![]() |
Re: mit nem timer alles minimieren
danke da haste recht weil die tastenkombi funktoniert i-wie nicht wenn ich in einem game drin bin z.B. wc3
mfg tommy |
Alle Zeitangaben in WEZ +1. Es ist jetzt 21:52 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