[delphi]极域学生端解除键盘鼠标锁定退出全屏广播-强制窗口化-源代码

摘要:
')

v2.0 2015-07-11

更新了V2.0 版本 发布在吾爱破解论坛 欢迎下载使用

http://www.52pojie.cn/thread-382769-1-1.html

--------------------------------------------------------------------------

v1.0 2013-06-23

用delphi编写 发布在吾爱破解论坛

http://www.52pojie.cn/thread-201353-1-1.html

unitsuper;

interface
useswindows, Messages, Tlhelp32;
//----------------函数声明
function GetProcessId(strProcessName: string): Integer;   //取进程ID
function dkjc_OpenProcess_Z(nProcessID: Integer): Integer;     //打开进程
function dnczs_ReadProcessMemoryInt(nProcessId:Integer;nMemoryAddress: Pointer): Integer; //读内存整数型
//-----------------------------------------------------
implementation

function GetProcessId(strProcessName: string): Integer;
//函数名:Get Process ID
//功能:获得指定进程的ID
//参数:strProcessName*****进程名
//返回值:进程ID

varProcessName: string;
  ProcessID: integer;
  ListLoop: Boolean;
  tag: Boolean;
  FsnapShotHandle: Thandle;
  FProcessEntry32: TProcessEntry32;
begintag :=True;
  Fsnapshothandle := CreateToolHelp32SnapShot(TH32CS_SNAPPROCESS, 0);
  FProcessEntry32.dwsize :=SizeOF(FProcessEntry32);
  Listloop :=Process32First(FSnapshotHandle, FProcessEntry32);
  while Listloop do 
  beginProcessName :=FprocessEntry32.szExeFile;
    if (ProcessName = strProcessName) then
    beginCloseHandle(Fsnapshothandle);
      ProcessID :=FProcessEntry32.th32ProcessID;
      result :=ProcessID;
      tag :=False;
      Break;//跳出while 循环
    end;
    ListLoop :=Process32Next(FSnapshotHandle, FprocessEntry32);
  end;
  if (tag) then
  beginCloseHandle(Fsnapshothandle);
    result := 0;
  end;
end;

functiondkjc_OpenProcess_Z(nProcessID: Integer): Integer;
//函数名:Open Process _Z
//功能:打开指定ID的进程并返回操作句柄
//参数:nProcessID*****进程ID
//返回值:操作句柄
beginresult :=OpenProcess(PROCESS_ALL_ACCESS, false, nProcessID);
end;

functiondnczs_ReadProcessMemoryInt(nProcessId:Integer;nMemoryAddress: Pointer): Integer;
//函数名:ReadProcessMemoryInt
//功能:打读取内存整数型 返回 如果读取失败就返回-1
//参数:nprocessId:进程ID  ,  nMemoryAddress:读取地址
//返回值:指定内存地址的内容
//调用例子:dnczs_ReadProcessMemoryInt(nA,Pointer($486150));
varnTem: Integer;
  nThreadHandle: Integer;
  a: Boolean;
  readByte: DWORD;
beginnThreadHandle :=dkjc_OpenProcess_Z(nProcessId);
  a:= ReadProcessMemory(nThreadHandle, nMemoryAddress, @nTem, 4, readByte);
  CloseHandle(nThreadHandle);
  if  a then
  beginResult :=nTem;
  end
  else
  beginResult := -1;
  end;
end;
end.
Super
unitUnit1;

interface

usesWindows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls,super,ShellAPI;

typeTForm1 = class(TForm)
    btn1: TButton;
    edt1: TEdit;
    lbl1: TLabel;
    lbl2: TLabel;
    procedurebtn1Click(Sender: TObject);
    procedureFormCreate(Sender: TObject);
  private
    {Private declarations }
  public
    {Public declarations }
  end;

varForm1: TForm1;

implementation

{$R *.dfm}
function GetProcAddress(a: integer; b: string): Integer; stdcall; external 'kernel32.dll'
varb: array[1..3] of byte = ($C2, $10, $0);
procedureTForm1.btn1Click(Sender: TObject);
varpid:Integer;
  openId:Integer;
  WriteByte: DWORD;
  c: Integer;
beginpid :=GetProcessId(edt1.Text);
  if (pid = 0) then
  beginShowMessage('找不到您输入的进程!');
    Exit;
  end;
  openId :=dkjc_OpenProcess_Z(pid);

  if (openId = 0) then
  beginShowMessage('打开进程失败!');
    Exit;
  end;

  //ShowMessage(inttostr(pid));
 //ShowMessage(inttostr(openId));
  c :=  GetModuleHandle('user32.dll');
  c := GetProcAddress(c, 'SetWindowsHookExA');
  if (c = 0) then
  beginShowMessage('获取函数地址失败!');
    Exit;
  end;
  //ShowMessage(inttostr(c));

  WriteProcessMemory(openId,Pointer(c), @b[1], 3, WriteByte);
  ShowMessage('OK,广播开始后,右键点全屏幕显示,退出全屏!');
end;

procedureTForm1.FormCreate(Sender: TObject);
beginShellExecute(Handle,'open','http://user.qzone.qq.com/xxxxxx/blog/1371965742',nil,nil,SW_SHOWNORMAL)
end;

end.
unit1

免责声明:文章转载自《[delphi]极域学生端解除键盘鼠标锁定退出全屏广播-强制窗口化-源代码》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇调用Interop.zkemkeeper.dll无法使用解决方案MyBatis多租户隔离插件开发下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

Delphi 之 菜单组件(TMainMenu)

菜单组件TMainMenu 创建菜单双击TmenuMain,单击Caption就可以添加一个菜单项 菜单中添加分割线只需加“-”就可以添加一个分割线 级联菜单的设计 单击鼠标右键弹出菜单中选择Create Submenu菜单项 单选功能设计 要在设计的菜单项目中选择RadioItem属性为True,Checked属性为True 复选功能的设计 在...

delphi常用函数过程

数据类型转化 1.1.         数值和字符串转化 Procedure Str(X [: Width [ : Decimals ]]; var S); 将数值X按照一定格式转化成字符串S。Width指定S的总长度,Decimals指定小数点后的位数。 EX: Str(12.2 : 6 : 2 , S); //S=’  12.20’; Procedur...

DELPHI 字符串分割处理

DELPHI 字符串分割处理 Code 1Function FindStr(BegSprStr,EdSpStr:String;var Source:String):String;  2var  3BegStr1Len,EdSpStr2Len,BegStr1Index,EdSpStr2index:integer;  4Temp:String;  5begi...

Delphi GlobalAlloc、GlobalLock、GlobalUnlock、GlobalFree 函数

GlobalAlloc 函数 分配一块内存,该函数会返回分配的内存句柄。 GlobalLock 函数 锁定内存块,该函数接受一个内存句柄作为参数,然后返回一个指向被锁定的内存块的指针。 您可以用该指针来读写内存。 GlobalUnlock 函数 解锁先前被锁定的内存,该函数使得指向内存块的指针无效。 GlobalFree 函数 释放内存块。您必须传给该函数...

delphi如何保存和读取utf8的文本文件

delphi如何保存和读取utf-8的文本文件 原文来自: 100脚本网 delphi保存读取utf-8的文本文件给客户做了一个批量识别图像并合成双层pdf的程序,最后客户需要生成的同时附带一份记事本文件,就是OCR过后的文本,并指定utf-8格式的。在处理utf-8时出现了点小问题,现在总结如下 首先 利用delphi自带的UTF8Encode函数,将普...

delphi 文件的操作

转载至:http://hi.baidu.com/endlesslove137/blog/item/86f1669990a7ed046f068ced.html //判断文件是否存在 FileExists//判断文件夹是否存在 DirectoryExists//删除文件 DeleteFile; Windows.DeleteFile//删除文件夹 Remove...