AGB  ·  Datenschutz  ·  Impressum  







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

Windows Key - Shell

Ein Thema von schwa226 · begonnen am 5. Sep 2009 · letzter Beitrag vom 5. Sep 2009
Antwort Antwort
schwa226

Registriert seit: 4. Apr 2008
400 Beiträge
 
#1

Windows Key - Shell

  Alt 5. Sep 2009, 11:30
Hi,

ich schreibe gerade an einem Shell Ersatz.

Nun ist mir aufgefallen, wenn ich den Explorer beende, dass die Windows Taste auf dem Keyboard gar nicht mehr geht.
Also ein Hook oder ein KeyDown zeigt nichts mehr als wäre die Taste gar nicht mehr da.
WEnn die explorer.exe noch läuft geht der Hook oder auch das Keydown Event.

Wie schaffe ich es, dass die Windows Taste auch ohne der explorer.exe verwendbar ist?

Jemand einen Tipp?
Delphi 2010, Update 4 & 5
  Mit Zitat antworten Zitat
Benutzerbild von jaenicke
jaenicke

Registriert seit: 10. Jun 2003
Ort: Berlin
9.648 Beiträge
 
Delphi 11 Alexandria
 
#2

Re: Windows Key - Shell

  Alt 5. Sep 2009, 11:36
Das kommt auch darauf an unter welchem Betriebssystem. Zumindest ab 2000/XP wird es da schon schwierig. Da musst du wohl direkt an den Treiber ran.

Ohne die explorer.exe funktioniert aber auch vieles andere nicht mehr, was du dann selbst ersetzen musst.
Sebastian Jänicke
AppCentral
  Mit Zitat antworten Zitat
schwa226

Registriert seit: 4. Apr 2008
400 Beiträge
 
#3

Re: Windows Key - Shell

  Alt 5. Sep 2009, 12:13
An die Treiber...

Muss ich mal Goggeln.

Danke!

Die anderen "Sachen" habe ich bereits eigentlich, zumindest was unbedingt nötig, nachgebaut.
Delphi 2010, Update 4 & 5
  Mit Zitat antworten Zitat
Christian Seehase
(Co-Admin)

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

Re: Windows Key - Shell

  Alt 5. Sep 2009, 13:19
Moin Zusammen,

also bei mir ist die Windows-Taste auch ohne Explorer noch nutzbar (XP Pro SP3)
Ich habe sie allerdings mit MSDN-Library durchsuchenRegisterHotKey eingebunden.
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
schwa226

Registriert seit: 4. Apr 2008
400 Beiträge
 
#5

Re: Windows Key - Shell

  Alt 5. Sep 2009, 13:40
Ich habe es mit:
RegisterHotkey(Handle,id1,MOD_WIN,0);
RegisterHotkey(Handle,id1,0,MOD_WIN);

und das gleiche mit SC_TASKLIST versucht.

Da bekomme ich keinen Hotkey gesendet.
Ein registrierter Hotkey STRG-A wird Registriert und ich bekomme auch den HotKey gesendet.
Delphi 2010, Update 4 & 5
  Mit Zitat antworten Zitat
Christian Seehase
(Co-Admin)

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

Re: Windows Key - Shell

  Alt 5. Sep 2009, 15:09
Aber so geht's:

Delphi-Quellcode:
const
  VK_LWIN = $5B;
  VK_RWIN = $5C;
  VK_APPS = $5D;

begin
  if not RegisterHotKey(self.Handle,1,MOD_WIN,VK_LWIN) then ShowMessage(SysErrorMessage(GetLastError));
end;
Für die rechte Windows-Taste dann mit VK_RWIN.
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
schwa226

Registriert seit: 4. Apr 2008
400 Beiträge
 
#7

Re: Windows Key - Shell

  Alt 5. Sep 2009, 16:04
Super Danke!

Geht super!

Nun habe ich noch das Problem, wenn ich auch noch WIN+E für den Explorer machen will mir beide Hotkeys ausgelößt werden:

Delphi-Quellcode:
RegisterHotKey(MainFormHandle, id1, MOD_WIN, VK_LWIN);
RegisterHotKey(MainFormHandle, id2, MOD_WIN, VK_E);
Wenn ich nun die WIN-Taste drück und halte wird id1 ausgelößt drücke dann noch die E Taste dazu wird auch id2 ausgelößt.

Hätte versucht mit GetAsyncKeyState(VK_LWIN) <> 0 zu überprüfen ob die Taste von id1 noch unten ist.
Jedoch sagt mir Delphi dann das die immer 0 ist.
Also muss hier wahrscheinlich noch ein anderer TastenCode als VK_LWIN rein.
Delphi 2010, Update 4 & 5
  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 07:44 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