![]() |
On Key Down funktioniert nicht
Um zu verhindern das mein Bruder immer heimlich an meinen Computer geht habe ich dieses nette Programm gemacht.
Delphi-Quellcode:
Es funktioniert zwar kanz gut doch dass auschalten per teastendruck klappt nicht
unit Unit1;
interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, ExtCtrls, StdCtrls; type TForm1 = class(TForm) Button1: TButton; Timer1: TTimer; procedure Button1Click(Sender: TObject); procedure Timer1Timer(Sender: TObject); procedure OnKey(Sender: TObject; var Key: Word; Shift: TShiftState); private { Private declarations } public { Public declarations } end; var Form1: TForm1; inter : Boolean; pos : TPoint; implementation {$R *.dfm} procedure TForm1.Button1Click(Sender: TObject); begin if inter = true then begin inter := false; end else begin inter := true; //application.Minimize; end; end; procedure TForm1.Timer1Timer(Sender: TObject); begin if not inter = false then begin pos := Point(mouse.CursorPos.X-2,mouse.CursorPos.Y-2); mouse.CursorPos := pos; end; end; procedure TForm1.OnKey(Sender: TObject; var Key: Word; Shift: TShiftState); begin if Key = vk_down then inter := false; end; end. |
AW: On Key Down funktioniert nicht
Schalte mal im Objektinspektor KeyPreview auf true, sonst wird es im Form nicht behandelt wenn ein anderes Control den Fokus hat.
|
AW: On Key Down funktioniert nicht
Funktioniert leider nicht
|
AW: On Key Down funktioniert nicht
doppelte Verneinungen gibts nur in der bayrischen Sprache
ansonsten:
Delphi-Quellcode:
statt:
procedure TForm1.Timer1Timer(Sender: TObject);
begin if inter then //inter ist schon Boolean begin
Delphi-Quellcode:
und bitte nicht auf true abfragen
procedure TForm1.Timer1Timer(Sender: TObject);
begin if not inter = false then begin statt:
Delphi-Quellcode:
gleich so:
procedure TForm1.Button1Click(Sender: TObject);
begin if inter = true then begin
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
begin if inter then begin |
AW: On Key Down funktioniert nicht
ich weiß ja nicht was Du vor hast, aber versuch's mal so
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
begin inter := not inter; end; procedure TForm1.Timer1Timer(Sender: TObject); begin if inter then begin pos := Point(mouse.CursorPos.X-2,mouse.CursorPos.Y-2); mouse.CursorPos := pos; end; end; procedure TForm1.OnKey(Sender: TObject; var Key: Word; Shift: TShiftState); begin if Key = vk_down then inter := not inter; // wenn Du toggeln willst end; |
AW: On Key Down funktioniert nicht
Zitat:
aber leider funktioniert es immer noch nicht dafür habe ich einen verdächtigen und zwar avast den meine Delphi programme werden immer mal wieder von avast blockiert |
AW: On Key Down funktioniert nicht
Wenn wir schon dabei sind, so geht es auch:
Delphi-Quellcode:
//Edit:
procedure TForm1.Button1Click(Sender: TObject);
begin inter := not inter; end; Was soll das Programm machen? |
AW: On Key Down funktioniert nicht
Hat Bummi schon geschrieben
|
AW: On Key Down funktioniert nicht
Es liegt eindeutig an der abfrage ob inter = true ist warum auch immer :?:
|
AW: On Key Down funktioniert nicht
Zitat:
Du suchst Schutz vor deinem Bruder? Hier mein altes Programm "Irrer Iwan". Und bedenke, mit Strg-Alt-Mausklick kommt du wieder raus.
Delphi-Quellcode:
Es ist natürlich ein Juxprogramm, aber...
//****************************************************************************//
// // // IRRER IWAN // // // //****************************************************************************// procedure TForm1.FormCreate(Sender: TObject); begin BorderStyle := bsNone; FormStyle := fsStayOnTop; Width := 1; Height := 1; Timer1.Interval := 1; //und nicht vergessen, mit ALT+F4 kann man ein Programm beenden ;) end; procedure TForm1.Timer1Timer(Sender: TObject); begin Left := Mouse.CursorPos.X; Top := Mouse.CursorPos.Y; end; procedure TForm1.FormKeyPress(Sender: TObject; var Key: Char); begin Key := #0; end; procedure TForm1.FormMouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); begin //mit STRG+ALT+linke-Maustaste kann man das Programm beenden if (ssCtrl in Shift) and (ssAlt in Shift) and (ssLeft in Shift) then Close; end; |
Alle Zeitangaben in WEZ +1. Es ist jetzt 21:59 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