Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   On Key Down funktioniert nicht (https://www.delphipraxis.net/172044-key-down-funktioniert-nicht.html)

fox67 10. Dez 2012 19:59

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:
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.
Es funktioniert zwar kanz gut doch dass auschalten per teastendruck klappt nicht

Bummi 10. Dez 2012 20:11

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.

fox67 10. Dez 2012 20:16

AW: On Key Down funktioniert nicht
 
Funktioniert leider nicht

Helmi 10. Dez 2012 20:22

AW: On Key Down funktioniert nicht
 
doppelte Verneinungen gibts nur in der bayrischen Sprache
ansonsten:
Delphi-Quellcode:
procedure TForm1.Timer1Timer(Sender: TObject);
 begin
  if inter then //inter ist schon Boolean
 begin
statt:
Delphi-Quellcode:
procedure TForm1.Timer1Timer(Sender: TObject);
 begin
  if not inter = false then
 begin
und bitte nicht auf true abfragen
statt:
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
 begin
  if inter = true then
 begin
gleich so:
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
 begin
  if inter then
 begin

Bummi 10. Dez 2012 20:23

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;

fox67 10. Dez 2012 20:27

AW: On Key Down funktioniert nicht
 
Zitat:

Zitat von Helmi (Beitrag 1194976)
doppelte Verneinungen gibts nur in der bayrischen Sprache
ansonsten:
Delphi-Quellcode:
procedure TForm1.Timer1Timer(Sender: TObject);
 begin
  if inter then //inter ist schon Boolean
 begin
statt:
Delphi-Quellcode:
procedure TForm1.Timer1Timer(Sender: TObject);
 begin
  if not inter = false then
 begin
und bitte nicht auf true abfragen
statt:
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
 begin
  if inter = true then
 begin
gleich so:
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
 begin
  if inter then
 begin

Stimmt :thumb: hab ich gleich mal geändert Danke :D
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

Popov 10. Dez 2012 20:30

AW: On Key Down funktioniert nicht
 
Wenn wir schon dabei sind, so geht es auch:

Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
begin
  inter := not inter;
end;
//Edit:

Was soll das Programm machen?

fox67 10. Dez 2012 20:34

AW: On Key Down funktioniert nicht
 
Hat Bummi schon geschrieben

fox67 10. Dez 2012 20:42

AW: On Key Down funktioniert nicht
 
Es liegt eindeutig an der abfrage ob inter = true ist warum auch immer :?:

Popov 10. Dez 2012 20:55

AW: On Key Down funktioniert nicht
 
Zitat:

Zitat von fox67 (Beitrag 1194980)
Hat Bummi schon geschrieben

Nicht bemerkt.

Du suchst Schutz vor deinem Bruder? Hier mein altes Programm "Irrer Iwan". Und bedenke, mit Strg-Alt-Mausklick kommt du wieder raus.

Delphi-Quellcode:
//****************************************************************************//
//                                                                            //
//                               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;
Es ist natürlich ein Juxprogramm, aber...

Bummi 10. Dez 2012 22:52

AW: On Key Down funktioniert nicht
 
Bleibt eigentlich fast nur noch übrig, dass mit vk_down etwas anderes gemeint/verstanden war als "Pfeil ab".

Delphi-Quellcode:
procedure TForm1.OnKey(Sender: TObject; var Key: Word; Shift: TShiftState);
begin
//if Key = vk_down then
inter := not inter;
end;
oder dass OnKey etwas von Hand geschriebenes, nicht im OI zugeordnetes ist, also nicht das FormKeyDown (umbenannt) welches vom OI erstellt und verwendet wird.

Maiky 11. Dez 2012 00:08

AW: On Key Down funktioniert nicht
 
Zitat:

Zitat von Popov (Beitrag 1194984)
Du suchst Schutz vor deinem Bruder? Hier mein altes Programm "Irrer Iwan". Und bedenke, mit Strg-Alt-Mausklick kommt du wieder raus.

Was hindert den Bruder daran per Taskmanager das Programm zu beenden oder einfach mittels ALT+F4? Was soll es eigentlich bringen die Maus rumspringen zu lassen, wenn man mit den Cursors und Shortcuts weiterhin normal das System bedienen kann?

Wenn du dein System schützen möchtest, dann setze einfach ein Passwort auf deinen Account(Systemsteuerung->Benutzerkonto). Und wenn vom Rechner weg gehst, drück einfach Windowstaste und L, dadurch kommst zur Passwort Eingabe. Alternativ auch durch "Benutzer wechseln", über den START-Button.

Popov 11. Dez 2012 01:22

AW: On Key Down funktioniert nicht
 
a.) es ist ein altes Juxprogramm. Also nicht alles sofort ernst nehmen, sondern zuerst Aussage auf Logik prüfen.

b.) aber selbst wenn, man muss erst wissen, das es ein Programm ist.

c.) zum Beenden braucht man keinen Taskmanager.

d.) Schutz? Geht einfach. Eigenes Konto anlegen, Passwort vergeben, u. e. m. Dann, je nach Einstellung STRG-ALT-ENTF oder WIN-L.

e.) Aber um was geht es hier im Thread? Wie der Bruder dennoch über den Taskmanager dran kommt?

Hoffentlich meldet sich jetzt keiner, der eine meinte eine Methode zu kennen wie man dennoch an die Daten ran kann. Dann kriege ich die Krise.

Perlsau 11. Dez 2012 07:01

AW: On Key Down funktioniert nicht
 
@fox67

Wieso vergibst du nicht einfach ein Passwort für dein Windows? Und wenn du den Rechner eingeschaltet verläßt, verhinderst du mit WinTaste-L (sperren), daß dein lieber Bruder an deinen Rechner geht. Bei den meisten Rechnern kannst du sogar ein Passwort für's Bios vergeben, damit er nicht von Stick oder CD booten kann.

fox67 11. Dez 2012 17:16

AW: On Key Down funktioniert nicht
 
Liste der Anhänge anzeigen (Anzahl: 1)
Task Manager Funktioniert nicht könnt gerne ausprobieren ich hab jetzt eine funktionierende Variante mal angehängt Pfeiltaste hoch oder runter beendet.
Passwort im WIndows funktioniert nicht mein Bruder weiß inzwischen wie man das entfärnt aber das mit ALT + F4 nicht :D Funktioniert jetzt hervorragen und zeigt wirkung.


Alle Zeitangaben in WEZ +1. Es ist jetzt 20:18 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