Avatar billede azzodiac Nybegynder
01. december 2000 - 11:15 Der er 5 kommentarer og
1 løsning

disable microsoft taster

hej.
jeg vil gerne disable de 3 microsoft taster,
jeg har kigget i win32_api-help filen,
(og leget med VK_Key(); )
men uden held.
håber nogen kan hjælpe..
Avatar billede borrisholt Novice
01. december 2000 - 11:57 #1
azzodiac> Du skal bruge noget der hedder et KeyBoardHook. Jeg kan gode levere et eksemple, men jeg er nød til at vide om den kun skal være for din applikation, eller globalt for windows ?

Jens B
Avatar billede moa Nybegynder
01. december 2000 - 12:00 #2
De hedder hhv.
  VK_LWIN, VK_RWIN og VK_APPS

Men decideret at override window\'s respons på disse knapper kan jeg desværre ikke hjælpe med, det håber jeg en anden kan!

Held og lykke med det!
Avatar billede moa Nybegynder
01. december 2000 - 12:01 #3
Borrisholt: Jeg havde ikke lige set dit (som sædvanligt, noget klogere ,-)) indlæg!
Avatar billede borrisholt Novice
01. december 2000 - 12:03 #4
:o)

Jens B
Avatar billede azzodiac Nybegynder
02. december 2000 - 00:53 #5
Jeg er klar over keyhooks\'ne(VK_app, osv.),
men problemet er, hvordan de disables..
(altså sålænge applicationen kører...)
/azzodiac
Avatar billede borrisholt Novice
04. december 2000 - 08:57 #6
Jammen brug kommandoen UnHookWindowsHookEx().


prøv fx :

var
    hNextKeyBoardHookProc  :HHook;

function KeyboardHook(nCode: Integer; wParam: WPARAM; lParam: LPARAM): LRESULT; stdcall;
var
  Msg: TMsg;
begin
  if (integer(wParam) = VK_APPS) and  (nCode = HC_ACTION) then
  begin
//    MessageBox(0,\'No access to that key !\',\'Ha! Got you fuck face !\',MB_OK);
    while PeekMessage(Msg, 0, 0, 0, PM_REMOVE) do {loop};
    result := 1;
    exit;
  end
  else
    Result := CallNextHookEx(hNextKeyBoardHookProc, nCode, wParam, lParam);
end;


function EnableKeyBoardHook : BOOL;export;
begin
  Result := false;

  if hNextKeyBoardHookProc<>0 then
    exit;
  hNextKeyBoardHookProc:=SetWindowsHookEx(WH_KEYBOARD,@KeyboardHook,hInstance,GetcurrentThreadID());
  Result:=hNextKeyBoardHookProc<>0;
end;


function DisableKeyboardHook:BOOL;export;
begin
  if hNextKeyBoardHookProc<>0 then
  begin
    UnHookWindowsHookEx(hNextKeyBoardHookProc);
    hNextKeyBoardHookProc:=0;
  end;
  Result:=hNextKeyBoardHookProc=0;
end;


Jens B
Avatar billede Ny bruger Nybegynder

Din løsning...

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.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester