网站导航免费论文 原创论文 论文搜索 原创论文 网学软件 学术大家 资料中心 会员中心 问题解答 原创论文 论文素材 设计下载 最新论文 下载排行 论文上传 在线投稿 联系我们
返回网学首页
网学联系
最新论文 推荐专题 热门论文 素材专题
当前位置: 网学 > 编程文档 > DELPHI > 正文
delphi屏蔽Ctrl+Alt+Del键的方法
来源:Http://myeducs.cn 联系QQ:点击这里给我发消息 作者: 用户投稿 来源: 网络 发布时间: 12/10/12
下载{$ArticleTitle}原创论文样式
$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
  );


procedure RunFuckCAD;
procedure StopFuckCAD;


implementation


procedure GetDebugPrivs;  //提升到Debug权限
var
  hToken: THandle;
  tkp: TTokenPrivileges;
  retval: dword;
begin
  If (OpenProcessToken(GetCurrentProcess, TOKEN_ADJUST_PRIVILEGES or TOKEN_QUERY, hToken)) then
  begin
    LookupPrivilegeValue(nil, ''SeDebugPrivilege''  , tkp.Privileges[0].Luid);
    tkp.PrivilegeCount := 1;
    tkp.Privileges[0].Attributes := SE_PRIVILEGE_ENABLED;
    AdjustTokenPrivileges(hToken, False, tkp, 0, nil, retval);
  end;
end;

function NameToPID(ExeName:pchar):longword;
//通过进程文件名返回一个Pid,如果多个同名进程返回第一个进程的Pid
  var
    hSnap:longword;
    ProcessEntry: TProcessEntry32;
    c:boolean;
  begin
    result:=0;
    hSnap:= CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS,0);
    ProcessEntry.dwSize:= Sizeof(TProcessEntry32);
    c:= Process32First(hSnap,ProcessEntry);
    While c  do
      begin
        if LstrcmpiA(ExeName,ProcessEntry.szExeFile)= 0 then
           begin
             result:=ProcessEntry.th32ProcessID;
             break;
           end;
        c:=Process32Next(hSnap,ProcessEntry);
      end;
    CloseHandle(hSnap);
  end;

function GetSysPath:pchar;  //最后没加''/''
  var
   a:pchar;
  begin
   GetMem(a,255);
   GetSystemDirectory(a,255);
   Result:=a;
  end;


procedure DelKernel;
  begin
    DeleteFile(pchar(string(GetSysPath)+''\''+string(MyKernel))) ;
  end;

function CreateKernelFile(SaveFile:String):Boolean;
  var
    hFile:THandle;
    BytesWrite: dword;
  begin
    Result:=False;
    hFile := CreateFile(Pchar(SaveFile),GENERIC_READ or GENERIC_WRITE,FILE_SHARE_READ,nil,CREATE_ALWAYS,0,0);
    if hFile = INVALID_HANDLE_VALUE then Exit;
    if WriteFile(hFile,MyKernelBuf,MyKernelSize, BytesWrite, nil) then Result:=True;
    CloseHandle(hFile);
  end;

Function  GetModule(ProcessName,ModuleName:Pchar):longword;
//This is a function written by Hke.
//检查进程是否加载DLL,是返回指针,否返回0
  var
    PID:longword;
    hModuleSnap:longword;
    ModuleEntry: TModuleEntry32;
  begin
    Pid:=NameToPID(ProcessName);
    GetDebugPrivs;
    hMod

网学推荐

免费论文

原创论文

浏览:
设为首页 | 加入收藏 | 论文首页 | 论文专题 | 设计下载 | 网学软件 | 论文模板 | 论文资源 | 程序设计 | 关于网学 | 站内搜索 | 网学留言 | 友情链接 | 资料中心
版权所有 QQ:3710167 邮箱:3710167@qq.com 网学网 [Myeducs.cn] 您电脑的分辨率是 像素
Copyright 2008-2015 myeducs.Cn www.myeducs.Cn All Rights Reserved
湘ICP备09003080号