AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Problem mit WndProc

Ein Thema von mischer · begonnen am 9. Jun 2004 · letzter Beitrag vom 10. Jun 2004
Antwort Antwort
mischer

Registriert seit: 9. Jun 2004
10 Beiträge
 
Delphi 5 Professional
 
#1

Re: Problem mit WndProc

  Alt 9. Jun 2004, 14:48
Hi Muetze1,

Wie du sicher schon bemerkt hast bin ich noch ein ziemlicher Delphi-Trollel

Also folgendes: Ich will mit einem Programm ein Anderes steuern (Mouse bewegen, Clicks ausführen, ...). Das funktioniert soweit wunderbar per Buttons. Jetzt wollte ich noch, daß sich das Programm per Tasten steuern läßt und hab dazu einen Tastaturhook gebaut und eingebunden. (Was soweit auch funktioniert, ich hab messageboxen in den Hook eingebaut und die kommen an den richtigen stellen *freu*)
Code:
function KeyboardHookProc(nCode: Integer; wParam: WPARAM; lParam: LPARAM): LRESULT; stdcall;
begin
//es ist ebenfalls moeglich die Bearbeitung an eine Bedingung zu knuepfen
//it's possible to call CallNextHookEx conditional only.
  Result := CallNextHookEx(HookHandle, nCode, wParam, lParam);
  case nCode < 0 of
    TRUE: exit; //wenn code kleiner 0 wird nix gemacht
                //if code smaller 0 nothing has to be done
    FALSE:
      begin
        // Taste F1 gedrückt
        if (wparam = 112) and (lparam < 0) then begin
          // nix
        end;
        // Taste F2 gedrückt
        if (wparam = 113) and (lparam < 0) then begin
          sendmessage(HWND_BROADCAST, ncode, wparam, lparam);
        end;
        // Taste F3 gedrückt
        if (wparam = 114) and (lparam < 0) then begin
          sendmessage(HWND_BROADCAST, ncode, wparam, lparam);
        end;
        // Taste F4 gedrückt
        if (wparam = 115) and (lparam < 0) then begin
          showmessage('F4 gedrückt');
          sendmessage(HWND_BROADCAST, ncode, wparam, lparam);
        end;
//Hier kann jetzt alles bearbeitet werden
//Here one can work with the parameters
      end;
  end;
end;
Und wie du siehst schicke ich anschließend die Message an Broadcast wieder raus.

Nun hätte ich gern, daß diese Messages in meinem Programm das KeyUp-/KeyDown-Ereignis auslösen. Funktioniert auch, aber eben nur wenn das Fenster aktiv ist - isses aber im Normalfall nicht.

Jetzt habe ich versucht mit Code wie im 1. post nachzulesen diese Messages aufzufangen, aber genau da habe ich offensichtlich meinen Bug drin. Ich hoffe das war ausführlich genug und bedanke mich schon jetzt für jedwede Mühe.

MfG mischer
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:42 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