Como Desabilitar a Tecla do Windows (WinKey) ?
Bem pessoal, creio que aqui alguem ja tentou desabilitar a tecla do [color=blue:dd3b4ba780][b:dd3b4ba780]windows[/b:dd3b4ba780][/color:dd3b4ba780]([u:dd3b4ba780][color=orange:dd3b4ba780]winkey[/color:dd3b4ba780][/u:dd3b4ba780]), mas, alguem ja conseguiu :?: bom, espero que sim.
Gostaria, se possivel, alguem cola-se aqui o fonte da rotina que desabilita essa tecla.
Agradeço desde já. :idea:
:arrow:
[color=red:dd3b4ba780][b:dd3b4ba780]oTTo Husckows[/b:dd3b4ba780][/color:dd3b4ba780] :shock:
Gostaria, se possivel, alguem cola-se aqui o fonte da rotina que desabilita essa tecla.
Agradeço desde já. :idea:
:arrow:
[color=red:dd3b4ba780][b:dd3b4ba780]oTTo Husckows[/b:dd3b4ba780][/color:dd3b4ba780] :shock:
Seek
Curtidas 0
Respostas
Marlon Spiess
11/10/2003
Olá,
posso adiantar esse código aqui
Desabilitar Teclas Ctrl+Alt+Del
Ai vai um codigo que peguei no site da Borland que trava as teclas
(Ctrl+Alt+Del),(Alt+Tab), (Ctrl+Esc)
var
OldValue : LongBool;
begin
{liga a trava}
SystemParametersInfo(97, Word(True), @OldValue, 0);
{desliga a trava}
SystemParametersInfo(97, Word(False), @OldValue, 0);
end;
Espero ter ajudado
Boa Sorte
posso adiantar esse código aqui
Desabilitar Teclas Ctrl+Alt+Del
Ai vai um codigo que peguei no site da Borland que trava as teclas
(Ctrl+Alt+Del),(Alt+Tab), (Ctrl+Esc)
var
OldValue : LongBool;
begin
{liga a trava}
SystemParametersInfo(97, Word(True), @OldValue, 0);
{desliga a trava}
SystemParametersInfo(97, Word(False), @OldValue, 0);
end;
Espero ter ajudado
Boa Sorte
GOSTEI 0
Seek
11/10/2003
po cara, valeu mesmo pela atenção, mas, eu ja tenho essa rotina.
a que eu quero é a que desabilita a tecla da janelinha do windows(que fica entre as teclas Ctrl & Alt).
:(
a que eu quero é a que desabilita a tecla da janelinha do windows(que fica entre as teclas Ctrl & Alt).
:(
GOSTEI 0
Josecarlosjr_atc
11/10/2003
Boa tarde,
Cara posso te dar uma ajuda, tem alguns eventos como onkeydown
que usa uma variável de entrada chamada Key e vc deve fazer uma comparação se é a tecla pressionada, exemplo:
Key = #13 Or Key = 27
Você pode tentar algo desse tipo que além de ser números significativos para a teclas do teclado são constantes do Delphi, exemplo:
Key = vk_Menu <- essa constantes da tecla Windows.
Não sei se ajudei muito, más acho que abri sua cabeça para o assunto.
Cara posso te dar uma ajuda, tem alguns eventos como onkeydown
que usa uma variável de entrada chamada Key e vc deve fazer uma comparação se é a tecla pressionada, exemplo:
Key = #13 Or Key = 27
Você pode tentar algo desse tipo que além de ser números significativos para a teclas do teclado são constantes do Delphi, exemplo:
Key = vk_Menu <- essa constantes da tecla Windows.
Não sei se ajudei muito, más acho que abri sua cabeça para o assunto.
GOSTEI 0
Seek
11/10/2003
---
alterei a propriedade keypress do form para true e adicionei a seguinte rotina no evento OnKeyPress do form1.
procedure TForm1.FormKeyPress(Sender: TObject; var Key: Char);
begin
if key = chr(vk_menu) then
key := #0;
end;
e a teclinha continua funcionando.
Alguem mais tem dicas?? todas sao bem vindas...
alterei a propriedade keypress do form para true e adicionei a seguinte rotina no evento OnKeyPress do form1.
procedure TForm1.FormKeyPress(Sender: TObject; var Key: Char);
begin
if key = chr(vk_menu) then
key := #0;
end;
e a teclinha continua funcionando.
Alguem mais tem dicas?? todas sao bem vindas...
GOSTEI 0
Beppe
11/10/2003
Bem, a princípio você não pode: é uma defesa natural do Windows. Talvez, se você instalar um hook global de teclado(código alojado numa dll), poderá cancelar o envio da tecla as janels pertinentes.
Ataliba
Ataliba
GOSTEI 0
Seek
11/10/2003
cara, sobre dll, sou muito fraco.... :/
GOSTEI 0
Beppe
11/10/2003
É imprescindivel opressão da winkey?
Ataliba
Ataliba
GOSTEI 0
Seek
11/10/2003
sim
GOSTEI 0
Gymmer
11/10/2003
cara, pra mim isso aqui funciona perfeito:
paratravar:
SystemParametersInfo(SPI_SCREENSAVERRUNNING, 1,0, 0);
para destravar:
SystemParametersInfo(SPI_SCREENSAVERRUNNING, 0,0, 0);
pra mim funciona blz!
paratravar:
SystemParametersInfo(SPI_SCREENSAVERRUNNING, 1,0, 0);
para destravar:
SystemParametersInfo(SPI_SCREENSAVERRUNNING, 0,0, 0);
pra mim funciona blz!
GOSTEI 0
Beppe
11/10/2003
Tah, eu vou fazer isso, daqui a alguns dias te dou retorno.
Ataliba
Ataliba
GOSTEI 0
Seek
11/10/2003
ai GYMMER :idea: , muito obrigado cara, aqui funcionou na moral, sem nenhum problema.
Ataliba, obrigado pela sua ajuda tb.
beijos pra todos(as)
ass. oTTo Husckows :D
Ataliba, obrigado pela sua ajuda tb.
beijos pra todos(as)
ass. oTTo Husckows :D
GOSTEI 0
Beppe
11/10/2003
Para que OS?
No WinXP, esse truque não funciona. Acho que no Me e 200 tb não.
Ataliba
No WinXP, esse truque não funciona. Acho que no Me e 200 tb não.
Ataliba
GOSTEI 0
Seek
11/10/2003
Ataliba, é o seguinte, no ME funcionou, mas ja que vc testou no xp e nao funciou, da mesma forma teste aqui no 2000 e nao funcionou tb nao.
Se alguem souber, por favor insira o codigo aqui, é feito uma frase que eu vi aki o forum:
Se voce pergunta é bobo por 5 minutos, se nao pergunto é bobo a vida toda. :idea:
Se alguem souber, por favor insira o codigo aqui, é feito uma frase que eu vi aki o forum:
Se voce pergunta é bobo por 5 minutos, se nao pergunto é bobo a vida toda. :idea:
GOSTEI 0
Otto
11/10/2003
Alguém sabe a rotina para desabilitar a WinKey do Windows XP?
usando o programa que informa o codigo ascii das telcas pressionadas, sei que é 91. a const é vk_menu
coloquei no onkeypress do form
if key = #91 then
key :=0;
e alterei a prorpiedade KeyPreview do form para true, mesmo assim nao funcionou. a rotina la de cima
SystemParametersInfo(SPI_SCREENSAVERRUNNING, 1,0, 0);
funfou no win98 e ME, mas no xp e 2000 nao.
Alguem saberia a que desabilite a do xp e 2000 :?: :idea:
usando o programa que informa o codigo ascii das telcas pressionadas, sei que é 91. a const é vk_menu
coloquei no onkeypress do form
if key = #91 then
key :=0;
e alterei a prorpiedade KeyPreview do form para true, mesmo assim nao funcionou. a rotina la de cima
SystemParametersInfo(SPI_SCREENSAVERRUNNING, 1,0, 0);
funfou no win98 e ME, mas no xp e 2000 nao.
Alguem saberia a que desabilite a do xp e 2000 :?: :idea:
GOSTEI 0
Otto
11/10/2003
Alguém sabe a rotina para desabilitar a WinKey do Windows XP?
usando o programa que informa o codigo ascii das telcas pressionadas, sei que é 91. a const é vk_menu
coloquei no onkeypress do form
if key = #91 then
key :=0;
e alterei a prorpiedade KeyPreview do form para true, mesmo assim nao funcionou. a rotina la de cima
SystemParametersInfo(SPI_SCREENSAVERRUNNING, 1,0, 0);
funfou no win98 e ME, mas no xp e 2000 nao.
Alguem saberia a que desabilite a do xp e 2000 :?: :idea:
91 nao, vi no delphi que é 18
GOSTEI 0
Rafael Roni
11/10/2003
Vc pode travar atraves do registro as combinaçoes do winkey por exemplo winkey+E ou winkey+R com seguinte codigo
Var
Reg: Tregistry;
Bit: Boolean;
begin
Reg:=Tregistry.create;
with Reg do
begin
rootkey:=HKEY_CURRENT_USER;
Openkey(´S-1-5-21-1275210071-1606980848-1060284298-1003 \Software\Microsoft\Windows\CurrentVersion\Policies\Explorer´,true);
writestring(´NoWinKeys´, bit );
closekey;
end;
Var
Reg: Tregistry;
Bit: Boolean;
begin
Reg:=Tregistry.create;
with Reg do
begin
rootkey:=HKEY_CURRENT_USER;
Openkey(´S-1-5-21-1275210071-1606980848-1060284298-1003 \Software\Microsoft\Windows\CurrentVersion\Policies\Explorer´,true);
writestring(´NoWinKeys´, bit );
closekey;
end;
GOSTEI 0
Otto
11/10/2003
e ai cara, blz?
bom, deu o seguinte erro
[Error] Unit1.pas(663): Incompatible types: ´String´ and ´LongBool´
na seguinte linha:
WriteString(´NoWinKeys´, bit);
voce saberia o pq??
eu coloquei essa rotina no evento OnShow do form.
bom, deu o seguinte erro
[Error] Unit1.pas(663): Incompatible types: ´String´ and ´LongBool´
na seguinte linha:
WriteString(´NoWinKeys´, bit);
voce saberia o pq??
eu coloquei essa rotina no evento OnShow do form.
GOSTEI 0
Jeffersonontop
11/10/2003
Bom gente....
Eu resolvi esse problema no WinXP de forma bem diferente. Coloquei uma rotina do tipo prossesKill que ao abrir meu programa ele fecha o Explorer.exe.
Eu resolvi esse problema no WinXP de forma bem diferente. Coloquei uma rotina do tipo prossesKill que ao abrir meu programa ele fecha o Explorer.exe.
GOSTEI 0
Santiago
11/10/2003
Otto você conseguiu a rotina pra travar o menu iniciar?
cara tava precisando dessa rotina e como você já pediu faz tempo talvez se você tiver por favor dá essa ajuda aí...
valeu..
Santiago
cara tava precisando dessa rotina e como você já pediu faz tempo talvez se você tiver por favor dá essa ajuda aí...
valeu..
Santiago
GOSTEI 0
Lucasnishimura
11/10/2003
Esse componente eh muito massa pra trabalhar com alguns ´Locks´ no windows...
Dependendo a Funcão eh necessario a instalação de uma DLL....
Nun custa ver olha o site [url]http://www.kassl.de/dwinlock/dwinlock_home_e.html[/url]
Dependendo a Funcão eh necessario a instalação de uma DLL....
Nun custa ver olha o site [url]http://www.kassl.de/dwinlock/dwinlock_home_e.html[/url]
GOSTEI 0
Santiago
11/10/2003
Lucasnishimura...
Valeu meu vô dar uma olhada aqui e ver o que eu consigo fazer, em todo caso brigadão mesmo aí pela atenção.....
Valeu meu vô dar uma olhada aqui e ver o que eu consigo fazer, em todo caso brigadão mesmo aí pela atenção.....
GOSTEI 0
Eniorm
11/10/2003
Pessoal, vejam so:
VK_Menu = ALT
VK_LWin = WinKey esquerdo
VK_RWin = WinKey direito
T+ :wink:
VK_Menu = ALT
VK_LWin = WinKey esquerdo
VK_RWin = WinKey direito
T+ :wink:
GOSTEI 0
Tatuweb
11/10/2003
Já que ressucitaram o tópico fica um link com um exemplo feito especialmente para travar a tecla WinKey:
http://www.swissdelphicenter.ch/torry/showcode.php?id=1212
http://www.swissdelphicenter.ch/torry/showcode.php?id=1212
GOSTEI 0
Eniorm
11/10/2003
Já que ressucitaram o tópico ...
:D eheheheheheh :D
GOSTEI 0
Ipc$
11/10/2003
Acho esse código mais simples:
Na sua aplicação vc declara:
procedure Bloqueie_WinKey; external ´BlockWinKey.dll´;
procedure Desinstale_Hook; external ´BlockWinKey.dll´;
No onCreate do Form, vc chama:
Bloqueie_WinKey;
No onDestroy vc chama:
Desinstale_Hook;
library BlockWinKey; uses Windows; var HC_KEYBOARD_Handle :HHOOK; // Handle da Hook function KeyboardProc(nCode:Integer; wParam:WPARAM; lParam:LPARAM):LRESULT; stdcall; begin // Aqui são interceptadas as duas teclas Result := 1; if wParam in [vk_lwin,vk_rwin] then keybd_event(VK_ESCAPE, 0,0,0) else begin if wParam <> VK_ESCAPE then keybd_event(VK_ESCAPE, 0,KEYEVENTF_KEYUP,0); if nCode = HC_ACTION then Result := CallNextHookEx(HC_KEYBOARD_Handle, nCode, wParam, lParam); end; end; procedure Bloqueie_WinKey; stdcall; begin // Aqui instala a hook função tipo teclado HC_KEYBOARD_Handle := SetWindowsHookEx(WH_KEYBOARD, @KeyboardProc, HInstance, 0); end; procedure Desinstale_Hook; stdcall; begin // Aqui desinstala UnhookWindowsHookEx(HC_KEYBOARD_Handle); keybd_event(VK_ESCAPE, 0,KEYEVENTF_KEYUP,0); end; exports Bloqueie_WinKey, Desinstale_Hook; end.
Na sua aplicação vc declara:
procedure Bloqueie_WinKey; external ´BlockWinKey.dll´;
procedure Desinstale_Hook; external ´BlockWinKey.dll´;
No onCreate do Form, vc chama:
Bloqueie_WinKey;
No onDestroy vc chama:
Desinstale_Hook;
GOSTEI 0
Rodrigof
11/10/2003
:D Galera desculpe estar ressucitando tbem este tópico, mas minha intensão é ajudar... :P
Estou criando um programa para cybercafe café, precisei dessa função para travar o winkey e outras teclas, e não contrava...
aí o Membro lucasnishimura citou o componente DWinLock...
só q ele é shaware, mas achei o crack para ele... e funcionou muito bem... e resolveu os meus problemas. Para quem quiser o crack pode me mandar um email ou me encontre no msn rodrrigo@hotmail.com .
O link do componente DWinlock para baixar;
http://www.kassl.de/dwinlock/dwinlock_home_e.html
O crack tem apenas 5k.
É só executar e localizar a dll (dwlGina2.dll), que ele criará outra dll, destravada.
Obs.: qdo vc instalar o packages do componente essa dll ficará na pasta:
c:\windows\system32\
Falou galera!!
:wink:
Estou criando um programa para cybercafe café, precisei dessa função para travar o winkey e outras teclas, e não contrava...
aí o Membro lucasnishimura citou o componente DWinLock...
só q ele é shaware, mas achei o crack para ele... e funcionou muito bem... e resolveu os meus problemas. Para quem quiser o crack pode me mandar um email ou me encontre no msn rodrrigo@hotmail.com .
O link do componente DWinlock para baixar;
http://www.kassl.de/dwinlock/dwinlock_home_e.html
O crack tem apenas 5k.
É só executar e localizar a dll (dwlGina2.dll), que ele criará outra dll, destravada.
Obs.: qdo vc instalar o packages do componente essa dll ficará na pasta:
c:\windows\system32\
Falou galera!!
:wink:
GOSTEI 0
Otto
11/10/2003
Já que ressucitaram o tópico
nussa.. como é antigo.... antigo mesmo...;. :lol: :oops:
GOSTEI 0