Q:如何 disable Ctrl+Alt+Del?
A:你可以利用 SystemParametersInfo 讓系統以為螢幕保護程式正在執行中,
如此一來 Ctrl+Alt+Del 及 Alt+Tab 等系統鍵都會失效。注意參數
SPI_SCREENSAVERRUNNING 是一個未公開的常數,但你可以在 WINUSER.H 中
找到它。
procedure TurnSysKeysOff;
var
OldVal : LongInt;
begin
SystemParametersInfo(SPI_SCREENSAVERRUNNING, Word(True), @OldVal, 0);
end;
procedure TurnSysKeysOn;
var
OldVal : LongInt;
begin
SystemParametersInfo(SPI_SCREENSAVERRUNNING, Word(False), @OldVal, 0);
end;
以下是另一個讓程式不會在 Ctrl+Alt+Del 對話盒中顯示出來的方法:
extern "C" __declspec(dllimport) __stdcall DWORD RegisterServiceProcess(
DWORD dwProcessId, DWORD dwType);
void __fastcall TForm1::Button1Click(TObject *Sender)
{
if (RegisterServiceProcess(GetCurrentProcessId(), 1) == 0)
ShowMessage("RegisterServiceProcess 執行失敗!");
else
ShowMessage("按 Ctrl+Alt+Del 試試, 你將不會在關閉程式對話盒中看到我。");
}
               (
geocities.com/huanlin_tsai)