Autor Beitrag
Tilo
ontopic starontopic starontopic starontopic starofftopic starofftopic starofftopic starofftopic star
Beiträge: 1098
Erhaltene Danke: 13

Win7 geg. WInXP oder sogar Win98
Rad2007
BeitragVerfasst: Do 19.02.09 22:46 
Hallo mich interessiert ob die Tastencodes der Multimediatasten auf diversen Tastaturen immer gleich sind. Hab dazu mal ein kleines Prog geschrieben.

Für die Ereignisse KeyDown, KeyPress und KeyUp sind jeweils ein Textfeld für den aktuellen Code und ein Logfeld für die 10 letzten Codes da einige Tasten mehrere Codes auslösen, z.B. AltGr.

Der relevante Code ist der:

ausblenden volle Höhe Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
procedure TForm1.Verarbeiten(Code: Integer; Textfeld: TEdit; Log: TListBox);
var
buf:string;
begin
 //Texterzeugen
 buf:=inttostr(Code);
 //ins Textfeld schreibern
 textfeld.Text:=buf;

 //loggen
 //max 10 Elemente -> daher alles oberhalb von 9 Elementen löschen
 while Log.Count>9 do
  log.Items.Delete(0);
 //neues Element einfügen
 log.Items.Add(buf);
end;

procedure TForm1.FormKeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
 verarbeiten(Key,KeyDownEdit,KeyDownlog);
end;

procedure TForm1.FormKeyPress(Sender: TObject; var Key: Char);
begin
 verarbeiten(Ord(Key),KeyPressEdit,KeyPresslog);
end;

procedure TForm1.FormKeyUp(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
 verarbeiten(Key,KeyUpEdit,KeyUplog);
end;


Meine Ergenisse:
ausblenden Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
MS_MediaPlayer_öffnen  181
Outlook_öffnen    180
Play      179
Stop      178
BackSkip    177
ForwardSkip    176
Lauter      175
Leiser      174
Mute      173
Home(Standardbrowser)  172
Favoriten_öffnen  171
Suche_öffnen    170
Seite_vor    167
Seite_zurück    166


Hab ihr die selben Resultate?


Moderiert von user profile iconNarses: Topic aus Off Topic verschoben am Do 19.02.2009 um 23:04
Einloggen, um Attachments anzusehen!
Gausi
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 8548
Erhaltene Danke: 477

Windows 7, Windows 10
D7 PE, Delphi XE3 Prof, Delphi 10.3 CE
BeitragVerfasst: Do 19.02.09 22:50 
Ich bekomme da gar keine Ergebnisse.

Normalerweise lösen die Multimediatasten auch keine Key-Events aus. Stattdessen wird eine WM_APPCOMMAND-Message an das Fenster gesendet, deren Parameter dann die genaue Taste enthalten.

_________________
We are, we were and will not be.
jaenicke
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 19315
Erhaltene Danke: 1747

W11 x64 (Chrome, Edge)
Delphi 11 Pro, Oxygene, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
BeitragVerfasst: Do 19.02.09 22:57 
Ich bekomme da die Ergebnisse, aber wozu experimentierst du da herum? Schau doch einfach in die Liste der Tastencodes. :gruebel:
msdn.microsoft.com/e...ibrary/ms645540.aspx
(ab VK_BROWSER_BACK (0xA6), 0xA6 ist ja 166 ;-))
Tilo Threadstarter
ontopic starontopic starontopic starontopic starofftopic starofftopic starofftopic starofftopic star
Beiträge: 1098
Erhaltene Danke: 13

Win7 geg. WInXP oder sogar Win98
Rad2007
BeitragVerfasst: Do 19.02.09 23:32 
Grund des "Experiments" war das meine vorherige Tastatur den japutt ging und zwar dahingehend das falsche Codes gesendet wurden. Das aktuelle Programm ist eine Erweiterung des Testprogramms. Interessant ist auch das die MM-Tasten einen keyDown und KeyUp aber kein KeyPress haben.
jaenicke
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 19315
Erhaltene Danke: 1747

W11 x64 (Chrome, Edge)
Delphi 11 Pro, Oxygene, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
BeitragVerfasst: Do 19.02.09 23:38 
Das ist klar, denn KeyPress ist nur für sichtbare Zeichen, wobei Zeilenumbrüche und Leerzeichen auch dazu gehören. ;-)