Ctrl + Alt + Del 一問 |
答題得分者是:hagar
|
ko
資深會員 發表:28 回覆:785 積分:444 註冊:2002-08-14 發送簡訊給我 |
各位大大:
有關一篇文章如下
Disable task switching
procedure SystemKeys(Disable: Boolean);
var OldVal : LongInt;
begin
SystemParametersInfo
(SPI_SCREENSAVERRUNNING,
Word(Disable),
@OldVal,
0);
end; 來源http://delphi.about.com/library/weekly/aa022701a.htm
我想請問適用於2000 或 xp 嗎?
引言: 有些事情不能只用2個銅板來決定>>< face="Verdana, Arial, Helvetica">
------
====================== 昏睡~ 不昏睡~ 不由昏睡~ |
RaynorPao
版主 發表:139 回覆:3622 積分:7025 註冊:2002-08-12 發送簡訊給我 |
引言: 各位大大: 有關一篇文章如下 Disable task switching procedure SystemKeys(Disable: Boolean); var OldVal : LongInt; begin SystemParametersInfo (SPI_SCREENSAVERRUNNING, Word(Disable), @OldVal, 0); end; 來源http://delphi.about.com/library/weekly/aa022701a.htm 我想請問適用於2000 或 xp 嗎?引言: 有些事情不能只用2個銅板來決定>>< face="Verdana, Arial, Helvetica">ko 你好: 請參考以下的連結文章
------
-- 若您已經得到滿意的答覆,請適時結案!! -- -- 欲知前世因,今生受者是;欲知來世果,今生做者是 -- -- 一切有為法,如夢幻泡影,如露亦如電,應作如是觀 -- |
ramonliu
一般會員 發表:0 回覆:3 積分:0 註冊:2002-03-13 發送簡訊給我 |
|
ko
資深會員 發表:28 回覆:785 積分:444 註冊:2002-08-14 發送簡訊給我 |
|
RaynorPao
版主 發表:139 回覆:3622 積分:7025 註冊:2002-08-12 發送簡訊給我 |
|
hagar
版主 發表:143 回覆:4056 積分:4445 註冊:2002-04-14 發送簡訊給我 |
|
ko
資深會員 發表:28 回覆:785 積分:444 註冊:2002-08-14 發送簡訊給我 |
|
RaynorPao
版主 發表:139 回覆:3622 積分:7025 註冊:2002-08-12 發送簡訊給我 |
引言: RaynorPao大大: 沒錯那2篇其中一篇http://delphi.about.com/library/weekly/aa012103a.htm 上面寫到要用dWinlock的物件來做Disable的動作,可是他還有連結一篇不用dWinlock的,我就是參考後才有問題... >>< face="Verdana, Arial, Helvetica"> ko 你好: 請問....你是參考哪一篇文章的呢??< > 能不能麻煩你貼上來呢??< > hagar 兄你好: 客氣了~~多謝你的熱心分享喔 --
------
-- 若您已經得到滿意的答覆,請適時結案!! -- -- 欲知前世因,今生受者是;欲知來世果,今生做者是 -- -- 一切有為法,如夢幻泡影,如露亦如電,應作如是觀 -- |
hagar
版主 發表:143 回覆:4056 積分:4445 註冊:2002-04-14 發送簡訊給我 |
小弟節錄 Resolution 那段如下:
RESOLUTION
You can disable CTRL+ESC on a system-wide basis by replacing
the NT Task Manager. This is not recommended.
You can disable ALT+TAB and ALT+ESC while a particular application
is running if that application registers hotkeys for those
combinations with Register HotKey(). Another mechanism to disable these key combinations, as well as
the newer Windows key, is to use a low level keyboard hook
(WH_KEYBOARD_LL). This hook is available on Windows NT 4.0
Service Pack 3 and later. The low level keyboard hook can also
detect CTRL ALT DEL, but it cannot disable it.
如果是有關紅色那部份的話
Ctrl Alt Del 是沒法 Disable 的
再看您前面的回答
您用到 SystemParamterInfo 這個 API
這個用法只適用在 Win9x 系列
在 Win2000/XP/NT 下是行不通的 --
將進酒 杯莫停 與君歌一曲 請君為我傾耳聽
(hagar@gcn.net.tw)
|
evon
一般會員 發表:1 回覆:10 積分:2 註冊:2003-02-19 發送簡訊給我 |
|
hagar
版主 發表:143 回覆:4056 積分:4445 註冊:2002-04-14 發送簡訊給我 |
|
ko
資深會員 發表:28 回覆:785 積分:444 註冊:2002-08-14 發送簡訊給我 |
感謝hagar兄,RaynorPao兄,evon等大大熱情的回應:
最近比較忙,粉久沒上k.top~
以下是我所看到的文章,請參閱:
Disable task switching
Using the SystemParametersInfo API function you can trick Windows into thinking that the screen saver is running. Doing so disables the Ctrl-Alt-Delete key sequence from displaying the "Close Program" dialog and rebooting the computer and Alt-Tab from switching to another application. It also stops Ctrl-Esc from opening the Start Menu.
If you wish to disable those keys while your application is running call the following SystemKeys function (place it in the Implementation section of your unit's code - and call from any procedure in your application - where needed). When you call SystemKeys, if Disable is True, the keys will be disabled, False otherwise. procedure SystemKeys(Disable: Boolean);
var OldVal : LongInt;
begin
SystemParametersInfo
(SPI_SCREENSAVERRUNNING,
Word(Disable),
@OldVal,
0);
end;
其中98的部分是可以完成,但是沒注意看hagar兄post的那段,至於改寫Gina.DLL
是可行的!感謝hagar大大大力支持
也感謝,參予文章的各位大大!!!
------
====================== 昏睡~ 不昏睡~ 不由昏睡~ |
evon
一般會員 發表:1 回覆:10 積分:2 註冊:2003-02-19 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |