/ Forside / Teknologi / Udvikling / Delphi/Pascal / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
Delphi/Pascal
#NavnPoint
oldwiking 603
jrossing 525
rpje 520
EXTERMINA.. 500
gandalf 460
gubi 270
DJ_Puden 250
PARKENSS 230
technet 210
10  jdjespers.. 200
blokkere ctrl-esc under w2k
Fra : Morten Vahlkvist


Dato : 15-05-02 15:00

Hej gruppe

er der en enkel metode til at disable ctrl-esc under windows 2000?

Jeg har et program som skal køre under w2k og w95. Det skal ikke være
muligt at starte andre programmer op, derfor denne forespørgsel.

Jeg har PT ikke brug for at disable windows tasten, da mit keyboard ikke
har denne. men hvis den kan disables ved samme lejlighed så er det ok.

Er der for øvrigt andre muligheder for at starte et andet program
(teksteditor) som jeg har overset.

PS. Jeg har styr på at mit program ikke kan lukkes med Alt-F4, og mener
derfor ikke at Alt-Tab er nødvendig at blokkere

MVH.

Morten

 
 
René Jensen (15-05-2002)
Kommentar
Fra : René Jensen


Dato : 15-05-02 20:27

Morten Vahlkvist wrote:
>
> Hej gruppe
>
> er der en enkel metode til at disable ctrl-esc under windows 2000?
>
> Jeg har et program som skal køre under w2k og w95. Det skal ikke være
> muligt at starte andre programmer op, derfor denne forespørgsel.
>
> Jeg har PT ikke brug for at disable windows tasten, da mit keyboard ikke
> har denne. men hvis den kan disables ved samme lejlighed så er det ok.
>
> Er der for øvrigt andre muligheder for at starte et andet program
> (teksteditor) som jeg har overset.
>
> PS. Jeg har styr på at mit program ikke kan lukkes med Alt-F4, og mener
> derfor ikke at Alt-Tab er nødvendig at blokkere

Du skal nok prøve at kigge på Windows-Hooks, og lave dit eget hook, som
fanger f.eks. CTRL + ESC tastekombinationen og laver sit eget handling
på dette. Altså i dit tilfælde ingenting, og returnere event'et som
handled successfull.

--
Med venlig hilsen,
René Jensen

Once a upon a time a wise man said to me:
"I consider Windows like I consider bad weather ... I accept it and hope
for something better"

Hans Milling (16-05-2002)
Kommentar
Fra : Hans Milling


Dato : 16-05-02 13:24

Morten Vahlkvist <vahlkvist@worldonline.dk> wrote in message news:<3CE269DD.43175BE1@worldonline.dk>...
> Hej gruppe
>
> er der en enkel metode til at disable ctrl-esc under windows 2000?
>
> Jeg har et program som skal køre under w2k og w95. Det skal ikke være
> muligt at starte andre programmer op, derfor denne forespørgsel.
>
> Jeg har PT ikke brug for at disable windows tasten, da mit keyboard ikke
> har denne. men hvis den kan disables ved samme lejlighed så er det ok.
>
> Er der for øvrigt andre muligheder for at starte et andet program
> (teksteditor) som jeg har overset.
>
> PS. Jeg har styr på at mit program ikke kan lukkes med Alt-F4, og mener
> derfor ikke at Alt-Tab er nødvendig at blokkere
>
> MVH.
>
> Morten

Lige først korte "svar" på dine spørgsmål:
> er der en enkel metode til at disable ctrl-esc under windows 2000?

Nej det er ikke så enkelt, men som René Jensen skriver, så skal du
oprette en "hook" eller et handle som opfanger alle tastetryk før
systemet, og "smider" alle tast med ctrl tasten væk.

> Jeg har et program som skal køre under w2k og w95. Det skal ikke være
> muligt at starte andre programmer op, derfor denne forespørgsel.

Windows samt 98 kan konfigureres så f.eks. Run i start menuen ikke
findes, at man ikke kan browse c-drevet og andre ting, ellers findes
der massere af freeware/shareware programmer som kan gøre det samme
(de fleste internet cafeer benytter disse programmer samt et
menusystem til at starte spil op med).

> Jeg har PT ikke brug for at disable windows tasten, da mit keyboard ikke
> har denne. men hvis den kan disables ved samme lejlighed så er det ok.

Det er også den "hook" som skal varetage windows tasten.

> Er der for øvrigt andre muligheder for at starte et andet program
> (teksteditor) som jeg har overset.

Du mener starte f.eks. c:\windows\notepad.exe ? Der er tidligere i
nyhedsgruppen beskrevet hvordan, ellers se i Delphi help filen under
WinExec (anbefales dog ikke at bruge i Windows 2000 mener jeg)

> PS. Jeg har styr på at mit program ikke kan lukkes med Alt-F4, og mener
> derfor ikke at Alt-Tab er nødvendig at blokkere

Det er det vel, for kan du taske væk fra dit program, kan du jo på
skrivebordet eller andet starte andre programmer op ikke? Eller måske
aktivere windows task manager og lukke dit program ned.


Det hele du vil en meget kompliceret sag, selv et program som
Win-Secure-IT (bruges under Windows 95/98 til at låse computeren i
stil med det man kan i Windows 2000/Xp) kan ikke håndtere dette
ordentligt. Det benytter sig også af alle mulige smart ting så
Windowstaster, ctrl og alt ikke virker, men alligevel er det muligt
med bestemte tastetryk at få den til ikke at opfange at man trykker
alt tasten og derved kan man taske over i et andet program og bruge
computeren. Herefter kan man bruge task manager til at lukke
Win-Secure-IT eller man kan gå tilbage i det og bruger ved ikke at
nogen har været inde på maskinen. Så det er nok ikke så lige til at
forhindre folk i at gå bag om dit program eller lukke det ned.

Hilsen Hans...

Morten Vahlkvist (21-05-2002)
Kommentar
Fra : Morten Vahlkvist


Dato : 21-05-02 08:48

Ved at søge lidt rund omkring er jeg kommet frem til følgende, som
tilsyneladende virker.

En keyboard hook er ikke tilstrækkeligt, men en lowlevel hook kan gøre
jobbet.

Efter locksystem er kald kan jeg ikke benytte Alt-tab, Ctrl-esc og
windows tasten. Det er teste under NT og W2k, men endnu ikke under w95
(det er også en anden mekanisme som narere systemet til at tro at
screensaver kører).

MVH

Morten


Const WH_KEYBOARD_LL=13;

var HookId: HHOOK;

...

function LLKeyHookFunc (hookcode:integer; keycode:wParam;
kstrokeinfo:lParam): LResult; stdcall;
var struct: pkbll;
begin
struct:=Ptr(kstrokeinfo);
Result:=0;
IF (hookcode >= 0)
THEN
BEGIN
IF ((struct.vkCode = VK_ESCAPE) AND (GetAsyncKeyState(VK_CONTROL)
< -32766))
THEN Result:=1;
IF ((struct.vkCode = VK_LWIN) OR (struct.vkCode = VK_RWIN))
THEN Result:=1;
IF ((struct.vkCode = VK_TAB) AND (GetAsyncKeyState(VK_MENU)
< -32766))
THEN Result:=1;
END;
IF (Result = 0)
THEN Result:=CallNextHookEx (HookID, hookcode, keycode, kstrokeinfo);
end;


procedure TForm1.LockSystem;
var OldValue: LongBool;
begin
IF (Win32platform = VER_PLATFORM_WIN32_NT)
THEN HookID:=SetWindowsHookEx (WH_KEYBOARD_LL, @LLKeyHookFunc,
hInstance,
0)
ELSE SystemParametersInfo (SPI_SCREENSAVERRUNNING , Word(TRUE) ,
@OldValue
, 0);
end;

procedure TForm1.UnLockSystem;
var OldValue: LongBool;
begin
IF (Win32platform = VER_PLATFORM_WIN32_NT)
THEN
BEGIN
IF (NOT UnHookWindowsHookEx(HookID))
THEN
BEGIN
Application.ProcessMessages;
Application.ProcessMessages;
Application.ProcessMessages;
UnHookWindowsHookEx(HookID);
END;
END
ELSE SystemParametersInfo (SPI_SCREENSAVERRUNNING , Word(FALSE) ,
@OldValue
, 0);
end;

Hans Milling wrote:
>
> Morten Vahlkvist <vahlkvist@worldonline.dk> wrote in message news:<3CE269DD.43175BE1@worldonline.dk>...
> > Hej gruppe
> >
> > er der en enkel metode til at disable ctrl-esc under windows 2000?
> >
> > Jeg har et program som skal køre under w2k og w95. Det skal ikke være
> > muligt at starte andre programmer op, derfor denne forespørgsel.
> >
> > Jeg har PT ikke brug for at disable windows tasten, da mit keyboard ikke
> > har denne. men hvis den kan disables ved samme lejlighed så er det ok.
> >
> > Er der for øvrigt andre muligheder for at starte et andet program
> > (teksteditor) som jeg har overset.
> >
> > PS. Jeg har styr på at mit program ikke kan lukkes med Alt-F4, og mener
> > derfor ikke at Alt-Tab er nødvendig at blokkere
> >
> > MVH.
> >
> > Morten
>
> Lige først korte "svar" på dine spørgsmål:
> > er der en enkel metode til at disable ctrl-esc under windows 2000?
>
> Nej det er ikke så enkelt, men som René Jensen skriver, så skal du
> oprette en "hook" eller et handle som opfanger alle tastetryk før
> systemet, og "smider" alle tast med ctrl tasten væk.
>
> > Jeg har et program som skal køre under w2k og w95. Det skal ikke være
> > muligt at starte andre programmer op, derfor denne forespørgsel.
>
> Windows samt 98 kan konfigureres så f.eks. Run i start menuen ikke
> findes, at man ikke kan browse c-drevet og andre ting, ellers findes
> der massere af freeware/shareware programmer som kan gøre det samme
> (de fleste internet cafeer benytter disse programmer samt et
> menusystem til at starte spil op med).
>
> > Jeg har PT ikke brug for at disable windows tasten, da mit keyboard ikke
> > har denne. men hvis den kan disables ved samme lejlighed så er det ok.
>
> Det er også den "hook" som skal varetage windows tasten.
>
> > Er der for øvrigt andre muligheder for at starte et andet program
> > (teksteditor) som jeg har overset.
>
> Du mener starte f.eks. c:\windows\notepad.exe ? Der er tidligere i
> nyhedsgruppen beskrevet hvordan, ellers se i Delphi help filen under
> WinExec (anbefales dog ikke at bruge i Windows 2000 mener jeg)
>
> > PS. Jeg har styr på at mit program ikke kan lukkes med Alt-F4, og mener
> > derfor ikke at Alt-Tab er nødvendig at blokkere
>
> Det er det vel, for kan du taske væk fra dit program, kan du jo på
> skrivebordet eller andet starte andre programmer op ikke? Eller måske
> aktivere windows task manager og lukke dit program ned.
>
> Det hele du vil en meget kompliceret sag, selv et program som
> Win-Secure-IT (bruges under Windows 95/98 til at låse computeren i
> stil med det man kan i Windows 2000/Xp) kan ikke håndtere dette
> ordentligt. Det benytter sig også af alle mulige smart ting så
> Windowstaster, ctrl og alt ikke virker, men alligevel er det muligt
> med bestemte tastetryk at få den til ikke at opfange at man trykker
> alt tasten og derved kan man taske over i et andet program og bruge
> computeren. Herefter kan man bruge task manager til at lukke
> Win-Secure-IT eller man kan gå tilbage i det og bruger ved ikke at
> nogen har været inde på maskinen. Så det er nok ikke så lige til at
> forhindre folk i at gå bag om dit program eller lukke det ned.
>
> Hilsen Hans...

Hans Milling (23-05-2002)
Kommentar
Fra : Hans Milling


Dato : 23-05-02 19:11

Fandt lige en URL til en webside med full source code til mus,
keyboard og shell hoocks, måske du kan bruge det:
http://17slon.com/gp/gp/gpsyshook.htm


Morten Vahlkvist <vahlkvist@worldonline.dk> wrote in message news:<3CE269DD.43175BE1@worldonline.dk>...
> Hej gruppe
>
> er der en enkel metode til at disable ctrl-esc under windows 2000?
>
> Jeg har et program som skal køre under w2k og w95. Det skal ikke være
> muligt at starte andre programmer op, derfor denne forespørgsel.
>
> Jeg har PT ikke brug for at disable windows tasten, da mit keyboard ikke
> har denne. men hvis den kan disables ved samme lejlighed så er det ok.
>
> Er der for øvrigt andre muligheder for at starte et andet program
> (teksteditor) som jeg har overset.
>
> PS. Jeg har styr på at mit program ikke kan lukkes med Alt-F4, og mener
> derfor ikke at Alt-Tab er nødvendig at blokkere
>
> MVH.
>
> Morten

Gunnar Martensen (24-05-2002)
Kommentar
Fra : Gunnar Martensen


Dato : 24-05-02 21:34

Drop alt det, med hooks og jeg ved ikke hvad. Den ide med en low-level hook
er bare dødsdømt. Windows retablerer keyboarddriverne.


Men hvis dit program er det eneste der må køre, så lav en tråd, der
lukker alle andre programmer, end dem, du mener, der må køre.

Gunnar Martensen




"Morten Vahlkvist" <vahlkvist@worldonline.dk> skrev i en meddelelse
news:3CE269DD.43175BE1@worldonline.dk...
> Hej gruppe
>
> er der en enkel metode til at disable ctrl-esc under windows 2000?
>
> Jeg har et program som skal køre under w2k og w95. Det skal ikke være
> muligt at starte andre programmer op, derfor denne forespørgsel.
>
> Jeg har PT ikke brug for at disable windows tasten, da mit keyboard ikke
> har denne. men hvis den kan disables ved samme lejlighed så er det ok.
>
> Er der for øvrigt andre muligheder for at starte et andet program
> (teksteditor) som jeg har overset.
>
> PS. Jeg har styr på at mit program ikke kan lukkes med Alt-F4, og mener
> derfor ikke at Alt-Tab er nødvendig at blokkere
>
> MVH.
>
> Morten



Søg
Reklame
Statistik
Spørgsmål : 177500
Tips : 31968
Nyheder : 719565
Indlæg : 6408518
Brugere : 218887

Månedens bedste
Årets bedste
Sidste års bedste