AI bliver først for alvor en del af arbejdet, når teknologien integreres i den måde, vi arbejder på. At have adgang til AI betyder ikke nødvendigvis, at medarbejderne er klar til at bruge den.
Jeg mener at Windows sender alle messages til alle programmer selvom de ikke nødvendigvis er i friont. Dermed kan du "grabbe" windows Message vedr. keypressed / keydown og så kigge på om det er noget du kan bruge. Hvis det er reagerer du på det og husker at sende message videre (enten uændret eller med en ny værdi) ellers sender du det bare videre.
Det burde virke.
Jeg mener at der i D4 er et eksempel på hvordan man "hooker" en Windows message.
Lav følgende under private i (ex) TForm1: MinHot : THandle; procedure WMHOTKEY(var message : TWMHOTKEY); message WM_HOTKEY;
i Formens OnCreate: MinHot := GlobalAddAtom('MinHotkeyKombAfWinOgQ'); RegisterHotkey(Handle, MinHot, MOD_WIN, ord('Q'));
i Formens OnDestroy: UnregisterHotkey(Handle, MinHot); GlobalDeleteAtom(MinHot);
i WMHOTKEY procedure har du så det stående der sker ved (her) WIN-Q tast kombinationen Hvis der er flere hotkeys kan du smmenligne wParam værdien med MinHot eller hvad du nu vælger at kalde dem. Der skal være en seperat atom (MinHot) til hver hotkey...
Det i Create/Destroy kan selvfølgelig også flyttes andre steder hen men det er vigtigt at unregisterhotkey bliver kaldt da det ellers kan føre til GPF'er
for mere information se under WM_HOTKEY og RegisterHotkey i WIN32.hlp
procedure TForm1.WMHOTKEY(var message: TMessage); begin if message.wParam = WIN_Q then ShowMessage('Win-Q') else if message.wParam = WIN_Y then ShowMessage('Win-Y') else if message.wParam = WIN_T then ShowMessage('Win-T') else if message.wParam = WIN_HOME then ShowMessage('Win-HOME'); end; end. ================================
Som du måske har opdaget har jeg ændret TWMHotKey til TMessage af den grund at TMessage indeholder wParam direkte (svarer sikkert til TWMHotKey.hotkey, men er ikke sikker) hvilket man kan læse sig til direkte i win32.hlp hvad betyder
Som du kan se kan du også bruge "specielle" taster som HOME ved at skrive VK_HOME, for at se en komplet liste af VK_* se under Browseren under unit'et windows og under konstanter (eller kig i Windows.pas filen, hvis du har installeret kilde kode filerne). Det er også muligt at bruge MOD_ALT eller MOD_CONTROL hvis man vil lave sådanne Hotkeys.
Det skal lige siges at hvis hotkey-kombinationen findes i forvejen vil den ikke blive oprettet, fx. hvis man prøver at lave en WIN-R hotkey vil den ikke blive lavet i ens program da Explorer allerede har taget den (Kør boxen) og WIN-R kombinationen vil så blive sendt til explorer i stedet for ens eget program. Så vidt jeg husker returnerer RegisterHotkey Treu eller False alt efter om det lykkedes at oprette hotkeyen eller ej.
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.