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

unit super;

interface
uses windows, 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 var
ProcessName: string;
ProcessID: integer;
ListLoop: Boolean;
tag: Boolean;
FsnapShotHandle: Thandle;
FProcessEntry32: TProcessEntry32;
begin
tag := True;
Fsnapshothandle := CreateToolHelp32SnapShot(TH32CS_SNAPPROCESS, );
FProcessEntry32.dwsize := SizeOF(FProcessEntry32);
Listloop := Process32First(FSnapshotHandle, FProcessEntry32);
while Listloop do
begin
ProcessName := FprocessEntry32.szExeFile;
if (ProcessName = strProcessName) then
begin
CloseHandle(Fsnapshothandle);
ProcessID := FProcessEntry32.th32ProcessID;
result := ProcessID;
tag := False;
Break;//跳出while 循环
end;
ListLoop := Process32Next(FSnapshotHandle, FprocessEntry32);
end;
if (tag) then
begin
CloseHandle(Fsnapshothandle);
result := ;
end;
end; function dkjc_OpenProcess_Z(nProcessID: Integer): Integer;
//函数名:Open Process _Z
//功能:打开指定ID的进程并返回操作句柄
//参数:nProcessID*****进程ID
//返回值:操作句柄
begin
result := OpenProcess(PROCESS_ALL_ACCESS, false, nProcessID);
end; function dnczs_ReadProcessMemoryInt(nProcessId:Integer;nMemoryAddress: Pointer): Integer;
//函数名:ReadProcessMemoryInt
//功能:打读取内存整数型 返回 如果读取失败就返回-
//参数:nprocessId:进程ID , nMemoryAddress:读取地址
//返回值:指定内存地址的内容
//调用例子:dnczs_ReadProcessMemoryInt(nA,Pointer($));
var
nTem: Integer;
nThreadHandle: Integer;
a: Boolean;
readByte: DWORD;
begin
nThreadHandle := dkjc_OpenProcess_Z(nProcessId);
a:= ReadProcessMemory(nThreadHandle, nMemoryAddress, @nTem, , readByte);
CloseHandle(nThreadHandle);
if a then
begin
Result := nTem;
end
else
begin
Result := -;
end;
end;
end.

Super

unit Unit1;

interface

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls,super,ShellAPI; type
TForm1 = class(TForm)
btn1: TButton;
edt1: TEdit;
lbl1: TLabel;
lbl2: TLabel;
procedure btn1Click(Sender: TObject);
procedure FormCreate(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end; var
Form1: TForm1; implementation {$R *.dfm}
function GetProcAddress(a: integer; b: string): Integer; stdcall; external 'kernel32.dll'
var
b: array[..] of byte = ($C2, $, $);
procedure TForm1.btn1Click(Sender: TObject);
var
pid:Integer;
openId:Integer;
WriteByte: DWORD;
c: Integer;
begin
pid := GetProcessId(edt1.Text);
if (pid = ) then
begin
ShowMessage('找不到您输入的进程!');
Exit;
end;
openId := dkjc_OpenProcess_Z(pid); if (openId = ) then
begin
ShowMessage('打开进程失败!');
Exit;
end; //ShowMessage(inttostr(pid));
//ShowMessage(inttostr(openId));
c := GetModuleHandle('user32.dll');
c := GetProcAddress(c, 'SetWindowsHookExA');
if (c = ) then
begin
ShowMessage('获取函数地址失败!');
Exit;
end;
// ShowMessage(inttostr(c)); WriteProcessMemory(openId,Pointer(c), @b[], , WriteByte);
ShowMessage('OK,广播开始后,右键点全屏幕显示,退出全屏!');
end; procedure TForm1.FormCreate(Sender: TObject);
begin
ShellExecute(Handle,'open','http://user.qzone.qq.com/xxxxxx/blog/1371965742',nil,nil,SW_SHOWNORMAL)
end; end.

unit1

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

  1. windows7下GithubDesktop和极域学生客户端冲突导致无法正常打开解决方案

    [出现问题] 很悲伤,今天GithubDesktop打开直接报错导致无法开启 报错如下 我的天呢,你敢相信连原因都不给我,但是这特么怎么可能难道我呢! 打开系统日志查看原因最终找到罪魁祸首!!! 计算 ...

  2. 修改CKplayer.js 源码解决移动端浏览器全屏不能限制快进的问题

    原文地址:https://www.cnblogs.com/jying/p/9642445.html,转载请说明出处. 最近项目需要播放视频且限制未观看部分的快进功能,找了两款js插件ckplayer和 ...

  3. Android横屏时软键盘全屏问题

    1.使用 SearchView xml加入 android:imeOptions="actionDone|flagNoExtractUi" 可以限制软键盘禁止全屏 <andr ...

  4. intelliJ IDEA 全屏键盘手

    从MyEclipse到IntelliJ IDEA --让你脱键盘,全键盘操作 从MyEclipse转战到IntelliJ IDEA的经历 我一个朋友写了一篇"从Eclipse到Android ...

  5. 极域电子教室卸载或安装软件后windows7无法启用触摸板、键盘

    我今天在win7上装了个极域电子教室,卸载后重启触摸板,键盘都不能用了?连口令都是用屏幕键盘来输入的.进去后看设备管理器,键盘和触摸板,前面都有黄色的告警,而且就是出现了鼠标代码为10的情况?不过吧鼠 ...

  6. 轻松绕过极域电子教室、和教师控制 Say GoodBye

    注意:以下博文(包括但不限于汉字.英文.阿拉伯数字 .图片.影像,以及前述之各种任意组合等等)均为随意敲击键盘所出,用于检验本人电脑键盘录入.屏幕显示的机械.光电性能,并不代表本人观点.如需要详查请直 ...

  7. 极域电子教室3个没被发现的bug(V6 2007)

    bug1:破坏文件传输 在教师端文件分发时利用各种方法退出极域电子教室(包括http://sunnysab.blog.163.com/blog/static/180375009201323191111 ...

  8. 关于win10企业版在极域电子教室软件 v4.0 2015 豪华版的全屏控制下如何取得自由

    注.可能因为系统和软件的缘故无法实现 背景 由于在听课过程过于自闭,于是想自己去网上搜点东西看下 于是 经过了一番乱搞 逐渐摸索出了现方法. 方案1: 大力出奇迹 由于电脑在刚刚进入的状态的时候有段时 ...

  9. VC被控制时关闭极域电子教室、破解联想硬盘保护系统密码(上)

    <[原]关于VC运行时关闭极域电子教室的改进方法> 本文将讲资料和方法,具体实现和破解联想硬盘保护系统密码在(下)中,有关破解联想硬盘保护系统(删除它)的方法很简单,用硬盘保护卡克星就可以 ...

随机推荐

  1. c++ 调用模板函数时加template什么意思?

    看到这么一句stack_.template Top<ValueType>()->SetObjectRaw(members, (SizeType)memberCount, GetAll ...

  2. SparkSQL(源码阅读三)

    额,没忍住,想完全了解sparksql,毕竟一直在用嘛,想一次性搞清楚它,所以今天再多看点好了~ 曾几何时,有一个叫做shark的东西,它改了hive的源码...突然有一天,spark Sql突然出现 ...

  3. easyUI datagrid中 checkbox 各属性和事件

    DataGrid其中与选择,勾选相关 DataGrid属性:singleSelect boolean 如果为true,则只允许选择一行. false  ctrlSelect boolean 在启用多行 ...

  4. 如何通过JavaScript构建Asp.net服务端控件

    摘要 虽然ASP.NET的服务器控件一直被大家所诟病,但是用户控件(ACSX)在某些场景下还是非常有用的. 在一些极特珠的情况下,我们会使用JavaScript动态的构建页面中的控件,但假设遇到了我要 ...

  5. (Collection)350. Intersection of Two Arrays II

    /* Given two arrays, write a function to compute their intersection. Example: Given nums1 = [1, 2, 2 ...

  6. JavaScript的toString()和valueof()方法

    toString()方法: 函数:函数 (function(){}).toString(); //返回"function(){}" typeof((function(){}).to ...

  7. day8-异常

    异常处理 1.异常基础 在编程过程中为了增加友好性,在程序出现bug时一般不会将错误信息显示给用户,而是现实一个提示的页面,通俗来说就是不让用户看见大黄页!!! try: pass except Ex ...

  8. 【IL】IL生成exe的方法

    1.将ilasm.exe和fusion.dll用everything找出来,然后复制到system32文件夹 2.执行:ilasm /res:code.res code.il /out:code.ex ...

  9. [LeetCode OJ] Max Points on a Line

    Max Points on a Line Submission Details 27 / 27 test cases passed. Status: Accepted Runtime: 472 ms ...

  10. 一次性插入多条sql语句的几种方法

    第一种:通过 insert select语句向表中添加数据 从现有表里面把数据插入到另外一张新表去前提必须先有test_2表的存在,并且test_2表中的列的数据类型必须和test表里面列的数据类型一 ...