通行证: 用户 密码 域名空间  下载中心 社区论坛 信息公告 MY小屋
联系我们
设为首页
加入收藏

 

QQ,ASP,PHP,JSP,XML,SQL,.Net,编程 程序 网页图象 建站经验 私服
首页 | 新闻资讯 | 编程开发 | 网页设计 | 图形图象 | 网络媒体 | 网站模板 | 数 据 库 | 投稿
论坛 | 操作系统 | 系统优化 | 网络安全 | 黑客技术 | 硬件学堂 | 硬件报价 | 服 务 器 | 地图
专题 | 应用软件 | 聊天通讯 | Q Q 专栏 | 建站经验 | 在线工具 | 站长Club | 注 册 表 | 旧版
社会 | 游戏娱乐 | 设计欣赏 | 疑难解答 | 社区论坛 | 韩国素材 | 素材图库 | 广告服务 | 服务
当前位置:首页>>操作系统>>系统优化技巧>>正文 新版上线![旧版]
注:打开慢时请稍等

用DLL控制Windows中进程的方法

http://www.iyit.net  日期:2006-5-19 11:01:45  来源:网络转载   点击:
参加讨论

在Microsoft Windows中,每个进程都有它自己的私有地址空间。当使用指针来引用内存时,指针的值将引用你自己进程的地址空间中的一个内存地址。你的进程不能创建一銎湟用属于另一个进程的内存指针。因此,如果你的进程存在一个错误,改写了一个随机地址系内存,那么这个错误不会影响另一个进程使用的内存。Windows 98 在Windows 98下运行的各个进程共享2 GB的地址空间,该地址空间从0x80000000至0xFFFFFFFF。只有内存映像文件和统组件才能映射到这个区域。

独立的地址空间对于编程人员和用户来说都是非常有利的。对于编程人员来说,系统更容易捕获随意的内存读取和写入操作。对于用户来说,操作系统将变得更加健壮,因个应用程序无法破坏另一个进程或操作系统的运行。当然,操作系统的这个健壮特性是要冻代价的,因为要编写能够与其他进程进行通信,或者能够对其他进程进行操作的应用程序难得多。

有些情况下,必须打破进程的界限,访问另一个进程的地址空间,这些情况包括:

当你想要为另一个进程创建的窗口建立子类时。

当你需要调试帮助时(例如,当你需要确定另一个进程正在使用哪个DLL时)。

当你想要挂接其他进程时。

这里将介绍两种方法,可以用来将DLL插入到另一个进程的地址空间中。一旦你的DLL进入另一个进程的地址空间,就可以对另一个进程为所欲为。这一定会使你非常害怕,因此,究竟应该怎样做,要三思而后行。

1 插入DLL:一个例子

假设你想为由另一个进程创建的窗口建立一个子类。你可能记得,建立子类就能够改变窗口的行为特性。若要建立子类,只需要调用SetWindowLongPtr函数,改变窗口的内婵中的窗口过程地址,指向一个新的(你自己的) WndProc。Platform SDK文档说,应用程虿能为另一个进程创建的窗口建立子类。这并不完全正确。为另一个进程的窗口建立子类的关键问题与进程地址空间的边界有关。

当调用下面所示的SetWindowsLongPtr函数,建立一个窗口的子类时,你告诉系统,发送到或者显示在hwnd设定的窗口中的所有消息都应该送往MySubclassProc,而不是送往口的正常窗口过程:

进程A中代码:

EXE file:

LRESUlT WndProc(HWND hend,UNIT uMsg,...){.....}

USER32.DLL file

LONG DispatchMessage(CONST MSG*msg)

{

LONG lRet;

WNDPROC lpfnWndProc=

(WNDPROC)GetWindowLongPtr(msg,hwnd,GWLP_WNDPROC

);

lRet=lpfnWndProc(msg.hwnd,msg.message,msg.wParam,mag.

lParam);

return lRet;

}

进程B中:

EXE file

void Somefunc(void)

{

HWND hwnd=Findwindow("class A",NULL);

SetWindowLongPtr(hwnd,GWLP_WNDPROC,MySubclassProc);

}

USER32.DLL file ......
编辑:黑鹰 [发送给好友] [打印本页] [关闭窗口] [返回顶部]
上一篇:解决Windows中的explorer.exe出错
下一篇:VC下通过系统快照实现进程管理
转载请注明来源:www.iyit.net
特别声明: 本站除部分特别声明禁止转载的专稿外的其他文章可以自由转载,但请务必注明出处和原始作者。文章版权归文章原始作者所有。对于被本站转载文章的个人和网站,我们表示深深的谢意。如果本站转载的文章有版权问题请联系编辑人员,我们尽快予以更正。

 相关文章
winbackup.exe - winbackup winoa386.mod - winoa386 winmgmt.exe - winmgmt
winlogon.exe - winlogon winwan.exe - winwan winvnc.exe - winvnc
winupdates.exe - winupdates wintools.exe - wintools wintasks.exe - wintasks
wintask.exe - wintask winsys32.exe - winsys32 winsys.exe - winsys
winstat.exe - winstat winstall.exe - winstall winsrv32.exe - winsrv32
winsocks.exe - winsocks winservsuit.exe - winservsuit winservs.exe - winservs
winservices.exe - winservices winservad.exe - winservad winserv.exe - winserv
wins.exe - wins winroute.exe - winroute winrecon.exe - winrecon
最新更新 热点排行 推荐新闻
关闭任务管理器杀不了的进程
Windows 进程管理器简介
用系统进程拒绝病毒的侵袭
识别非法进程与手工杀毒
用系统进程手工杀毒
如何干净地清除病毒
如何更好地预防计算机病毒入侵
什么是恶意共享软件
什么是浏览器劫持
什么是网络钓鱼
一些常见的进程
如何强制结束一个运行中的进程
如何察看正在运行的进程
什么是系统进程
Dll文件是什么
用系统进程拒绝病毒的侵袭
用系统进程手工杀毒
关闭任务管理器杀不了的进程
Windows 进程管理器简介
识别非法进程与手工杀毒
优秀公益广告作品欣赏(8)
java数据类型转换
Windows XP专业版IIS连接数的更改
新开放QQ免费挂级网站
免费在QQ上看在线电影电视听音乐
优秀公益广告作品欣赏(7)
QQ珊瑚虫外挂4.0版本发布!
WEB服务器配置全攻略(三)
免费把QQ炫铃设为本机QQ的系统提示音
Office2007简体中文版浮出水面 美图抢
 AMD处理器AM2测试 风扇竟运行7分钟
exeplorer.exe错误的问题的总结、解决
ASP.NET 2.0 中的异步页功能应用
硬盘坏道修复及数据恢复宝典
免费登录搜索引擎入口大全
搜索引擎注册九大秘法
小心摄像头成为黑客偷窥你的眼睛
内存混插常见问题和解决方法
Office2007简体中文版浮出水面 美图抢
0689版Windows Live Messenger五大看点
 友情链接
设置首 页 - 版权声明 - 广告服务 - 关于我们 - 联系我们 - 友情连接
Copyrights © 2004-2006 iYiT.Net All Rights Reserved.
网站合作、广告联系QQ:147007642、466949678
易特网络技术 点击这里给我发消息