1. 锁定鼠标:

这个功能很简单只要一个ClipCursor()就可以搞定了。
program Project1;
{$APPTYPE CONSOLE}
uses Windows;
var
  r0, r1: TRect;
begin
  WriteLn('别害怕!15秒后你的鼠标就可以使用了! ^_^');
  GetClipCursor(r0); //获取当前鼠标的活动范围
  // 设置新的鼠标活动范围
  r1.Left := 0;
  r1.Top := 0;
  r1.Right := 1;
  r1.Bottom := 1;
  ClipCursor(@r1);
  // 暂停15秒
  Sleep(15000);
  // 回复原来的鼠标活动范围
  ClipCursor(@r0);
end.

2. 锁定键盘:

锁键盘一般用钩子实现,所以难度稍大,不过下面这个程序当简单,而且连钩子所需要DLL也省了。
program Project1;
{$APPTYPE CONSOLE}
uses Windows;
// 处理按键消息的过程函数
function KeyHook(code: integer; wParam: WPARAM; lParam: LPARAM): LRESULT; stdcall;
begin
  Result := 1;  // 返回1可使键盘停止响应
end;
var
  s: string;
begin
  s := '程序将在15秒之后返回' + #13#10 +
       '嘿嘿15秒内你的键盘是无法工作的哦!';
  WriteLn(s);
  // 安装键盘钩子
  SetWindowsHookEx(WH_KEYBOARD, @KeyHook, hInstance, 0);
  Sleep(15000);
end.
因为是Console程序,所以随着程序的结束钩子也就OVER了,所以我并没有卸载钩子。
钩子果然是强大,学会使用钩子你的水平就不一般了^_^。

3. 关闭显视器:

这个也是相当简单的。
program Project1;
{$APPTYPE CONSOLE}
uses Windows, Messages;
begin
  // 关闭显示器
  SendMessage(HWND_BROADCAST, WM_SYSCOMMAND, SC_MONITORPOWER, 2);
  Sleep(10000);
  // 打开显示器
  SendMessage(HWND_BROADCAST, WM_SYSCOMMAND, SC_MONITORPOWER, -1);
end.
要是你够毒的话可以让它自动运行,开机就黑屏,任你杀毒水平再高,嘿嘿,没有显示器看你怎么杀……

4. 关闭所有窗口:

只需这一句就行了。
PostMessage(HWND_BROADCAST, WM_CLOSE, 0, 0);

5. 锁定光驱:

其实说让“光驱跳舞”更合适,以下的程序可以打开并关闭光驱。
program Project1;
{$APPTYPE CONSOLE}
uses MMSystem;
begin
  // 打开
  mciSendString('Set cdaudio door open wait', nil, 0, 0);
  // 关闭
  mciSendString('Set cdaudio door closed wait', nil, 0, 0);
end.
如果你弄个死循环,就可以让他的光驱好好活动活动了^_^

6. 制造噪音:

大多时候我们要隐藏自己,但有时候我们就需要给对方放点音乐,小小的“提示”一下,以证明我们的存在。
program Project1;
{$APPTYPE CONSOLE}
uses Windows;
var
  i, j: Integer;
begin
  for j := 450 to 499 do
  begin
    for i := 1000 to 1109 do
    begin
      Beep(i, 30);
      Sleep(100);
    end;
  end;
end.
关键就是一个Beep(),第一个参数为赫兹第二个为音长你可以自己试一下,弄点好听的。

7.隐藏桌面:

其实桌面与任务栏也是一种窗口,我们可以通过FindWindow来查找它们的句柄,然后通过ShowWindow()来隐藏或显视,其中桌面类名为ProgMan,而任务栏类名为Shell_TrayWnd。
program Project1;
{$APPTYPE CONSOLE}
uses Windows;
var
  DesktopHand, TrayWndHand: THandle;
begin
  DesktopHand := FindWindow('ProgMan', nil);
  TrayWndHand := FindWindow('Shell_TrayWnd', nil);
  ShowWindow(TrayWndHand, SW_HIDE);  // 隐藏任务栏
  ShowWindow(DesktopHand, SW_HIDE);  // 隐藏桌面
  Write('15秒后会自动出现桌面 请等待');
  Sleep(15000);
  ShowWindow(DesktopHand, SW_SHOW);  // 显示桌面
  ShowWindow(TrayWndHand, SW_SHOW);  // 显示任务栏
end.