Einzelnen Beitrag anzeigen

Robert Marquardt
(Gast)

n/a Beiträge
 
#4

Re: Tastaursimulation + Windows.pas

  Alt 21. Apr 2005, 14:14
Poste doch mal den Code der zum '+' fuehrt.

Ein Test:
Delphi-Quellcode:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, Buttons, StdCtrls;

type
  TForm1 = class(TForm)
    Edit1: TEdit;
    SpeedButton1: TSpeedButton;
    procedure SpeedButton1Click(Sender: TObject);
  public
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.SpeedButton1Click(Sender: TObject);
begin
  keybd_event(VK_SHIFT, MapVirtualKey(VK_SHIFT, 0), 0, 0);
  keybd_event(Ord('A'), MapVirtualKey(Ord('A'), 0), 0, 0);
  keybd_event(Ord('A'), MapVirtualKey(Ord('A'), 0), KEYEVENTF_KEYUP, 0);
  keybd_event(VK_SHIFT, MapVirtualKey(VK_SHIFT, 0), KEYEVENTF_KEYUP, 0);
end;

end.
Dieser generiert im Editfeld ein grosses A. Kommentiert man dir VK_SHIFT-Zeilen aus, so generiert es ein kleines a.
Die Vermutung es gaebe ein VK_a ist falsch. Die Vermutung Ord('A') erzeuge ein 'A' ist falsch.
Man muss hier beachten das die VK_-Konstanten die Taste einer US-Tastatur benennen. Tastaturen sind aber immer in Grossbuchstaben benannt.
Das Druecken einer Taste generiert aber keinen Grossbuchstaben sondern einen Kleinbuchstaben.

Zum Spass teste das Programm mit auskommentierten VK_SHIFT-Zeilen und CAPS LOCK aktiv. Du bekommst ein grosses A.
  Mit Zitat antworten Zitat