AGB  ·  Datenschutz  ·  Impressum  







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

Tastur mitschreiben

Ein Thema von daniel_sluke · begonnen am 8. Nov 2003 · letzter Beitrag vom 9. Nov 2003
Antwort Antwort
Seite 2 von 3     12 3      
daniel_sluke

Registriert seit: 8. Nov 2003
11 Beiträge
 
#11

Re: Tastur mitschreiben

  Alt 8. Nov 2003, 19:13
wenn ich die KPHook compeliere kommt hier "hHook: LongWord = 0;" folgender Fehler:
undefinierter Bezeichner Longword
  Mit Zitat antworten Zitat
scp

Registriert seit: 31. Okt 2003
1.120 Beiträge
 
Delphi 7 Personal
 
#12

Re: Tastur mitschreiben

  Alt 8. Nov 2003, 19:50
Dann ersetze doch einfach mal LongWord durch DWORD oder Cardinal.
  Mit Zitat antworten Zitat
daniel_sluke

Registriert seit: 8. Nov 2003
11 Beiträge
 
#13

Re: Tastur mitschreiben

  Alt 8. Nov 2003, 22:55
ok mit cardinal hats geklappt... danke
aber ich finde keine .pas datei in dem ganzen.. ist das absicht?
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#14

Re: Tastur mitschreiben

  Alt 8. Nov 2003, 23:04
Delphi-Quellcode:
****************** Declarations you need in your Program ***********************

const
  WM_KEYBOARD_HOOK = WM_USER + 52012;

function CreateHook(hWnd: HWND; ShiftKeys: Boolean): Boolean; stdcall; external 'KoshigayaKeyboardHook.dll';
function DeleteHook: Boolean; stdcall; external 'KoshigayaKeyboardHook.dll';

********************************************************************************}

library KBHook;

uses
  Windows,
  Messages;

type
  PHWND = ^HWND;

const
  WM_KEYBOARD_HOOK = WM_USER + 52012;

var
  hHook: LongWord = 0;
  Key: Word;
  KeyboardLayout: HKL;
  GetShiftKeys: Boolean;
  hWndBuffer: PHWND;
  hMMF: THandle;

function KeyboardProc(nCode: Integer; wParam: LongWord; lParam: LongWord): LongWord; stdcall;
var
  LastKey: Char;
  KeyState: TKeyboardState;
begin
  Result:=CallNextHookEx(hHook,nCode,wParam,lParam);
  if nCode<0 then
    Exit
  else begin
    KeyboardLayout:=GetKeyboardLayout(0);
    GetKeyboardState(KeyState);
    if ToAsciiEx(wParam,MapVirtualKeyEx(wParam,2,KeyboardLayout),KeyState,@LastKey,0,KeyboardLayout)>0 then
      Key:=Ord(LastKey)
    else
      Key:=wParam;
    if (lParam and $80000000)=0 then
      if not (wParam in [16,17,18]) or GetShiftKeys then
        PostMessage(hwndBuffer^,WM_KEYBOARD_HOOK,Key,GetActiveWindow);
  end;
end;

function CreateHook(hWnd: HWND; ShiftKeys: Boolean): Boolean; stdcall;
var
  bHWND: PHWND;
begin
  hMMF:=CreateFileMapping($FFFFFFFF,nil,PAGE_READWRITE or SEC_COMMIT,0,SizeOf(hWnd),'KoshigayaKeyboardHookHandle');
  bHWND:=MapViewOfFile(hMMF,FILE_MAP_WRITE,0,0,SizeOf(HWND));
  bHWND^:=hWnd;
  UnmapViewOfFile(bHWND);
  GetMem(hWndBuffer,SizeOf(HWND));
  hWndBuffer^:=hWnd;
  GetShiftKeys:=ShiftKeys;
  if hHook=0 then
    hHook:=SetWindowsHookEx(WH_KEYBOARD,@KeyboardProc,hInstance,0);
  Result:=hHook<>0;
end;

function DeleteHook: Boolean; stdcall;
begin
  FreeMem(hWndBuffer);
  CloseHandle(hMMF);
  Result:=UnhookWindowsHookEx(hHook);
  hHook:=0;
end;

exports
  CreateHook,
  DeleteHook;

var
  MMF: THandle;

begin
  MMF:=OpenFileMapping(FILE_MAP_READ,false,'KoshigayaKeyboardHookHandle');
  if MMF<>0 then begin
    hWndBuffer:=MapViewOfFile(MMF,FILE_MAP_READ,0,0,SizeOf(HWND));
    CloseHandle(MMF);
  end;
end.
uses windows, messages

Läßt sich ohne Schwierigkliten mit Strg+F9 unter D6 kompilieren.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Christian Seehase
(Co-Admin)

Registriert seit: 29. Mai 2002
Ort: Hamburg
11.116 Beiträge
 
Delphi 11 Alexandria
 
#15

Re: Tastur mitschreiben

  Alt 8. Nov 2003, 23:26
Moin Luckie,

Zitat von Luckie:
Läßt sich ohne Schwierigkliten mit Strg+F9 unter D6 kompilieren.
Wenn man LongWord gegen cardinal tauscht gilt das auch für D2 Developer.
Sollte also wohl auch in D3 gehen.
Tschüss Chris
Die drei Feinde des Programmierers: Sonne, Frischluft und dieses unerträgliche Gebrüll der Vögel.
Der Klügere gibt solange nach bis er der Dumme ist
  Mit Zitat antworten Zitat
daniel_sluke

Registriert seit: 8. Nov 2003
11 Beiträge
 
#16

Re: Tastur mitschreiben

  Alt 8. Nov 2003, 23:33
ging jaauch ^^
  Mit Zitat antworten Zitat
daniel_sluke

Registriert seit: 8. Nov 2003
11 Beiträge
 
#17

Re: Tastur mitschreiben

  Alt 9. Nov 2003, 00:49
nur ist da auch soetwas wie eine .pas datei irgendwo?
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#18

Re: Tastur mitschreiben

  Alt 9. Nov 2003, 04:25
Nein. Wozu?
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
daniel_sluke

Registriert seit: 8. Nov 2003
11 Beiträge
 
#19

Re: Tastur mitschreiben

  Alt 9. Nov 2003, 11:54
damit man damit besser weiter arbeiten kann.... finde ich...
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#20

Re: Tastur mitschreiben

  Alt 9. Nov 2003, 12:07
Wie so? Ob der Cod enun in der Projekt-Datei (dpr) steht oder dieser über eien sepaarte Unit (pas) in die Projektdatei eingebunden wird ist doch egal.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 3     12 3      


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 07:36 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