AGB  ·  Datenschutz  ·  Impressum  







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

Tastenaktion

Ein Thema von zokka114 · begonnen am 21. Mär 2007 · letzter Beitrag vom 24. Mär 2007
Antwort Antwort
Seite 1 von 2  1 2      
zokka114

Registriert seit: 27. Jan 2007
6 Beiträge
 
#1

Tastenaktion

  Alt 21. Mär 2007, 17:50
Nabend !

ich hab folgendes Problem :

Ich möchte per Klick auf einen Button die gleiche Aktion auslösen als wenn ich die Windows-Taste drücke (z.b. die linke Windows-Taste).

Wäre kuhl wenn mir jemand helfen könnte!

MfG

Zokka114
  Mit Zitat antworten Zitat
Benutzerbild von bitsetter
bitsetter

Registriert seit: 17. Jan 2007
1.169 Beiträge
 
Turbo Delphi für Win32
 
#2

Re: Tastenaktion

  Alt 21. Mär 2007, 18:31
Hallo,

ich glaube du meinst sowas hier:

Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
begin
  keybd_event(VK_LWIN, 0, 0, 0);
  keybd_event(VK_LWIN, 0, KEYEVENTF_KEYUP, 0);
end;
Gruß bitsetter
"Viele Wege führen nach Rom"
Wolfgang Mocker (geb. 1954), dt. Satiriker und Aphoristiker
  Mit Zitat antworten Zitat
zokka114

Registriert seit: 27. Jan 2007
6 Beiträge
 
#3

Re: Tastenaktion

  Alt 21. Mär 2007, 19:55
Klappt Super !
Danke!
Kannst du vielleicht erklären was die ganzen Werte, die in Klammern stehen, bedeuten ?
  Mit Zitat antworten Zitat
Benutzerbild von bitsetter
bitsetter

Registriert seit: 17. Jan 2007
1.169 Beiträge
 
Turbo Delphi für Win32
 
#4

Re: Tastenaktion

  Alt 21. Mär 2007, 20:57
Hier kannst du es nachlesen:
keybd_event Function

und noch ein Link für die Liste der virtuellen Tastencodes:
Liste der virtuellen Tastencodes (VK_)
Gruß bitsetter
"Viele Wege führen nach Rom"
Wolfgang Mocker (geb. 1954), dt. Satiriker und Aphoristiker
  Mit Zitat antworten Zitat
zokka114

Registriert seit: 27. Jan 2007
6 Beiträge
 
#5

Re: Tastenaktion

  Alt 21. Mär 2007, 21:49
Mein Ziel ist es Windows durch eine Folge von Tasten-Aktionen herunterzufahren.
Ich hab mich schon im Netz umgeschaut und festgestellt das man Windows XP nich einfach per "ExitWindowsEx" herunterfahren kann.
Nun dachte ich mir das man einfach virtuell die 'Windows-taste' dann die 'C-Taste' und dann die 'A-Taste' drücken lassen kann.
So müsste der Rechner mit einem klick runterfahren.

Nur Delphi erkennt VK_C und VK_A nicht !
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
begin
 keybd_event(VK_LWIN, 0, 0, 0);
 keybd_event(VK_LWIN, 0, KEYEVENTF_KEYUP, 0);
 keybd_event(VK_C, 0, 0, 0);
 keybd_event(VK_C, 0, KEYEVENTF_KEYUP, 0);
 keybd_event(VK_A, 0, 0, 0);
 keybd_event(VK_A, 0, KEYEVENTF_KEYUP, 0);
end;
Warum funktionieren die einfachen Zahlen (z.B.VK_8) oder Buchstaben (z.B. VK_C) nicht ?

MfG
  Mit Zitat antworten Zitat
Benutzerbild von bitsetter
bitsetter

Registriert seit: 17. Jan 2007
1.169 Beiträge
 
Turbo Delphi für Win32
 
#6

Re: Tastenaktion

  Alt 21. Mär 2007, 22:10
Zitat:
Quelle hiefür war die Unit WINDOWS und die unit SNDKEY32 von Delphi 7:
Ansonsten geht es auch so:
Delphi-Quellcode:
  keybd_event(ord('C'), 0, 0, 0);
  keybd_event(ord('C'), 0, KEYEVENTF_KEYUP, 0);
Zitat von zokka114:
Mein Ziel ist es Windows durch eine Folge von Tasten-Aktionen herunterzufahren.
Ich hab mich schon im Netz umgeschaut und festgestellt das man Windows XP nich einfach per "ExitWindowsEx" herunterfahren kann.
Zu dem Thema kannst du das hier mal testen:
Abmelden / Reboot / Shutdown unter Win 95/98/ME/NT
Der Aufruf der Funktion erfolgt so:
ExitWin(EWX_SHUTDOWN);
Gruß bitsetter
"Viele Wege führen nach Rom"
Wolfgang Mocker (geb. 1954), dt. Satiriker und Aphoristiker
  Mit Zitat antworten Zitat
22. Mär 2007, 10:12
Dieses Thema wurde von "SirThornberry" von "Klatsch und Tratsch" nach "Windows API / MS.NET Framework API" verschoben.
zokka114

Registriert seit: 27. Jan 2007
6 Beiträge
 
#8

Re: Tastenaktion

  Alt 22. Mär 2007, 22:02
Danke mit deiner Hilfe funktioniert jetzt mein Schutdown-Programm wie ich es wollte !

MfG zokka114
  Mit Zitat antworten Zitat
zokka114

Registriert seit: 27. Jan 2007
6 Beiträge
 
#9

Re: Tastenaktion

  Alt 24. Mär 2007, 19:54
Aber eine Frage hätte ich da noch !

Wie kann man denn Zwei Tasten gleichzeitig "virtuell" drücken lassen ?

MfG
  Mit Zitat antworten Zitat
Benutzerbild von bitsetter
bitsetter

Registriert seit: 17. Jan 2007
1.169 Beiträge
 
Turbo Delphi für Win32
 
#10

Re: Tastenaktion

  Alt 24. Mär 2007, 20:01
Hallo,

versuche es mal so:
Delphi-Quellcode:
  keybd_event(vk_Shift,0,0,0);
  keybd_event(ord('C'),0,0,0);
  keybd_event(vk_Shift,0,keyeventf_keyup,0);
  keybd_event(ord('C'),0,keyeventf_keyup,0);
VK_SHIFT und C
Gruß bitsetter
"Viele Wege führen nach Rom"
Wolfgang Mocker (geb. 1954), dt. Satiriker und Aphoristiker
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


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 00:42 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