Hotkeys und Form im vordergrund

Für Fragen von Einsteigern und Programmieranfängern...
Bauer321
Beiträge: 465
Registriert: Sa 21. Aug 2010, 21:30
OS, Lazarus, FPC: Windows 7 Ultimate (L 1.2.2 FPC 2.6.4 32-bit)
CPU-Target: 64-Bit
Wohnort: nahe Bremen
Kontaktdaten:

Hotkeys und Form im vordergrund

Beitrag von Bauer321 »

Ich habe ma eben ne kleine Frage uznd zwra benutze ich im moemnt hotkexs mit case key of ..... und jetzt würde ich aber gerne das so haben das ic hauch tastenkombinationen verwenden kann. das hab ich leider nicht rausgefunden.
außerdem wäre es cool wenn das ganze global geht also auch dann wenn die anwendung minimiert ist und noch besser wäre es wenn das auch geht wenn z.B. cod 6 gestartet ist.

außerdem würde ich die form dann gerne in den vordergrund erzwingen udn zwar so, das keinerlei popups oder layovers sich drüberlegen können


mfg sven
www.mcpatcher.net | www.hoeper.me

Teekeks
Beiträge: 359
Registriert: Mi 27. Mai 2009, 20:54
OS, Lazarus, FPC: OpenSuse11.4 x86 (Lazarus: 0.9.30 FPC 2.4.2)
CPU-Target: x86
Wohnort: Cottbus

Re: Hotkeys und Form im vordergrund

Beitrag von Teekeks »

Was meinst du mit Tastenkombinationen?

vl sowas wie [Strg]+[Alt]+[A]?

Die ersten beiden stehen in state drinn
also:

Code: Alles auswählen

if [{taste}] in state then
begin
  case key of
  //...
  end;
end;

felix96
Beiträge: 287
Registriert: So 29. Nov 2009, 17:44
CPU-Target: 32BitWin+64bitUbunt

Re: Hotkeys und Form im vordergrund

Beitrag von felix96 »

Ach, ich scheine ein "Pascal-Durchschnitts-Lernen" zu sein!
http://www.lazarusforum.de/viewtopic.ph ... it=+system
Danke schonmal für eure Antworten
it´s not a bug, it´s a feature!

Bauer321
Beiträge: 465
Registriert: Sa 21. Aug 2010, 21:30
OS, Lazarus, FPC: Windows 7 Ultimate (L 1.2.2 FPC 2.6.4 32-bit)
CPU-Target: 64-Bit
Wohnort: nahe Bremen
Kontaktdaten:

Re: Hotkeys und Form im vordergrund

Beitrag von Bauer321 »

ich bekomms leider nicht ganz hin kann mir vll ma einer das an diesem beispiel zeigen?
[Strg]+[Alt]+[A]
www.mcpatcher.net | www.hoeper.me

felix96
Beiträge: 287
Registriert: So 29. Nov 2009, 17:44
CPU-Target: 32BitWin+64bitUbunt

Re: Hotkeys und Form im vordergrund

Beitrag von felix96 »

Das ganze ist jetzt Systemweit:

Code: Alles auswählen

unit Unit1;
 
    {$mode objfpc}{$H+}
 
    interface
 
    uses
      Classes, SysUtils, FileUtil, LResources, Forms, Controls, Graphics, Dialogs, Windows, Messages;
 
    type
      TWndProc = Windows.WNDPROC;
 
      { TForm1 }
 
      TForm1 = class(TForm)
        procedure FormClose(Sender: TObject; var CloseAction: TCloseAction);
        procedure FormCreate(Sender: TObject);
        procedure HotKeyPressed(Key :  Long_Ptr); // auf DIESE Deklaration kam es an
      private
        { private declarations }
      public
        { public declarations }
      end;
 
    var
      Form1: TForm1;
      PrevWndProc : Long_ptr;
 
    implementation
 
 
    procedure TForm1.HotKeyPressed(Key :  Long_Ptr);
    begin
      if ( int(Key) = 1 ) then begin
         // Deine Hotkeyverarbeitung ....
         showmessage('Hotkey');
      end;
    end;
 
 
    function MsgProc(Handle: HWnd; Msg: UInt; WParam: Windows.WParam; LParam: Windows.LParam): LResult; stdcall;
    begin
    if Msg = WM_HOTKEY then Form1.HotKeyPressed(Wparam);
    Result := Windows.CallWindowProc(WNDPROC(PrevWndProc), Handle, Msg, WParam, LParam);
    end;
 
    { TForm1 }
 
    procedure TForm1.FormClose(Sender: TObject; var CloseAction: TCloseAction);
    begin
    UnregisterHotKey(Handle, 1);
    end;
 
    procedure TForm1.FormCreate(Sender: TObject);
    begin
    PrevWndProc:= Windows.GetWindowLongPtr(Self.Handle, GWL_WNDPROC);
    SetWindowLongPtr(Self.Handle,Windows.GWL_WNDPROC,Long_ptr(@MsgProc));
    RegisterHotKey(Handle, 1, MOD_CONTROL + MOD_ALT, VK_A);
    end;
 
    initialization
      {$I unit1.lrs}
 
    end.
Danke schonmal für eure Antworten
it´s not a bug, it´s a feature!

Bauer321
Beiträge: 465
Registriert: Sa 21. Aug 2010, 21:30
OS, Lazarus, FPC: Windows 7 Ultimate (L 1.2.2 FPC 2.6.4 32-bit)
CPU-Target: 64-Bit
Wohnort: nahe Bremen
Kontaktdaten:

Re: Hotkeys und Form im vordergrund

Beitrag von Bauer321 »

danke ich werds mir moegen ma angucken
www.mcpatcher.net | www.hoeper.me

Bauer321
Beiträge: 465
Registriert: Sa 21. Aug 2010, 21:30
OS, Lazarus, FPC: Windows 7 Ultimate (L 1.2.2 FPC 2.6.4 32-bit)
CPU-Target: 64-Bit
Wohnort: nahe Bremen
Kontaktdaten:

Re: Hotkeys und Form im vordergrund

Beitrag von Bauer321 »

bekomm es leider nicht hin
www.mcpatcher.net | www.hoeper.me

felix96
Beiträge: 287
Registriert: So 29. Nov 2009, 17:44
CPU-Target: 32BitWin+64bitUbunt

Re: Hotkeys und Form im vordergrund

Beitrag von felix96 »

Wo hakts den?
Das ist der GESAMTE Quelltext!
hast du die unit's Windows und Messages eingebunden?
Danke schonmal für eure Antworten
it´s not a bug, it´s a feature!

Bauer321
Beiträge: 465
Registriert: Sa 21. Aug 2010, 21:30
OS, Lazarus, FPC: Windows 7 Ultimate (L 1.2.2 FPC 2.6.4 32-bit)
CPU-Target: 64-Bit
Wohnort: nahe Bremen
Kontaktdaten:

Re: Hotkeys und Form im vordergrund

Beitrag von Bauer321 »

edit: also so hab ich das da einfach eingefügt und wenn ich es dem quellcode richtig entnehme müsste der einfach ne meldung hotekey anzeigen aber anstelle dessen passiert nix-.-
hier link: http://www.file-upload.net/download-300 ... t.zip.html
und virustotal log : http://www.virustotal.com/file-scan/rep ... 1290711494
www.mcpatcher.net | www.hoeper.me

felix96
Beiträge: 287
Registriert: So 29. Nov 2009, 17:44
CPU-Target: 32BitWin+64bitUbunt

Re: Hotkeys und Form im vordergrund

Beitrag von felix96 »

Du musst dem FormCreate Ereignis auch die Eigenschaft Form1create zuweisen!
Dann funktionierts!
Und anstatt FormClose würde ich Formdestroy verwenden!

Sag mal wenn's funktioniert :-)
Danke schonmal für eure Antworten
it´s not a bug, it´s a feature!

Bauer321
Beiträge: 465
Registriert: Sa 21. Aug 2010, 21:30
OS, Lazarus, FPC: Windows 7 Ultimate (L 1.2.2 FPC 2.6.4 32-bit)
CPU-Target: 64-Bit
Wohnort: nahe Bremen
Kontaktdaten:

Re: Hotkeys und Form im vordergrund

Beitrag von Bauer321 »

jetzt gehts

aber das kommt noch:
Bild
quellcode siehe: http://ds.redio.de/files/001.txt
www.mcpatcher.net | www.hoeper.me

felix96
Beiträge: 287
Registriert: So 29. Nov 2009, 17:44
CPU-Target: 32BitWin+64bitUbunt

Re: Hotkeys und Form im vordergrund

Beitrag von felix96 »

Naja, das ist nur ein Hint, kein Error
Danke schonmal für eure Antworten
it´s not a bug, it´s a feature!

Bauer321
Beiträge: 465
Registriert: Sa 21. Aug 2010, 21:30
OS, Lazarus, FPC: Windows 7 Ultimate (L 1.2.2 FPC 2.6.4 32-bit)
CPU-Target: 64-Bit
Wohnort: nahe Bremen
Kontaktdaten:

Re: Hotkeys und Form im vordergrund

Beitrag von Bauer321 »

felix96 hat geschrieben:Naja, das ist nur ein Hint, kein Error
aha und was hat der hint zu bedeuten?

edit: noch ne keline farge, gibt es auch die möglichkeit kombintaionen abzufangen sprich z.B. wenn man alt F4 drückt passiert nix so in der art
www.mcpatcher.net | www.hoeper.me

MAC
Beiträge: 770
Registriert: Sa 21. Feb 2009, 13:46
OS, Lazarus, FPC: Windows 7 (L 1.3 Built 43666 FPC 2.6.2)
CPU-Target: 32Bit

Re: Hotkeys und Form im vordergrund

Beitrag von MAC »

hint: hinweis, du solltest es beachten, ist aber nicht notwendig.

genauso gibt es warnungen , z.B: bei...
weil der compiler meint du machst nen fehler, hier steht das VMemo.Lines.Strings[0]; über den TMemo.Create, trotzdem funktioniert der code wegen dem "if i = 1"

Code: Alles auswählen

for i := 0 to 1 do
begin
if i = 1 then Label1.Caption := VMemo.Lines.Strings[0];
if i = 0 then 
                  begin
                  VMemo := TMemo.Create;
                  VMemo.Lines.add('hint...');
                  end;
end;

beim Onkey down funktioniert ein
if key = 7 then key := 0;

das sollte hier nicht funktionieren, weil is in der funktion nich name(VAR key:word) heißt sondern da kein var steht.
Du könntest versuchen einen hotkey zu reservieren und dabei nicht zu tun, bei allgemeinen befehlen (F4, alt win entf) sollte das generell nicht funktionieren.

Code: Alles auswählen

Signatur := nil;

Bauer321
Beiträge: 465
Registriert: Sa 21. Aug 2010, 21:30
OS, Lazarus, FPC: Windows 7 Ultimate (L 1.2.2 FPC 2.6.4 32-bit)
CPU-Target: 64-Bit
Wohnort: nahe Bremen
Kontaktdaten:

Re: Hotkeys und Form im vordergrund

Beitrag von Bauer321 »

oder gibt es ne möglichkeit die tastatur zu blockieren bis auf 4 taseten welche zum reaktivieren sind?
www.mcpatcher.net | www.hoeper.me

Antworten