社区
C#
帖子详情
C# 如何让一个winform 显示在全屏游戏的游戏窗口上 类似外挂的呼出功能
生财
2008-01-23 11:06:32
C# 如何让一个winform 显示在全屏游戏的游戏窗口上 类似外挂的呼出功能
有什么办法可以实现呢
...全文
1155
9
打赏
收藏
C# 如何让一个winform 显示在全屏游戏的游戏窗口上 类似外挂的呼出功能
C# 如何让一个winform 显示在全屏游戏的游戏窗口上 类似外挂的呼出功能 有什么办法可以实现呢
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
9 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
gwj
2011-05-21
打赏
举报
回复
受教!
生财
2008-02-03
打赏
举报
回复
谢谢楼上各位达人,结贴,给分
kkliuxu
2008-02-02
打赏
举报
回复
可以HOOK,
不知道你是不想做个外挂,用你的程序去操作游戏,
如果是那样话,我建议有两种方法,一个是获取网络的数据包,解包,然后操作,这个比较麻烦,原来我做过,因为全部包都是加密了的。第二种就是通过HOOK去操作,获得句柄然后去操作游戏,这一种比较好实现,但是有些游戏有nProtect保护技术,所以有的游戏不好实施。
然后至于你说的那个在游戏界面最上层的方法,你把窗体的TopMost属性设置为True即可,祝好运。
lake_cx
2008-02-02
打赏
举报
回复
楼上,用托管的可以Hook么?
fengyecsdn
2008-02-02
打赏
举报
回复
HOOK 显卡API
如果确定是DX或者OPENGL的版本和接口就好办些
如果不是针对某程序的,只能从操作硬件底层接口去在显示区上绘制一层.
fengyecsdn
2008-02-02
打赏
举报
回复
WINDOWS有两种窗口模式.
一般窗口和3D全屏窗口是在两个不同的环境(虚拟设备)中的,普通窗口再怎么显示到最前,也不可能跨设备,最上显示是不起作用的.
(有些游戏采用的是伪全屏窗口,就是在普通窗口区画一个满屏的窗口.这个用在最前是有效的)
fengyecsdn
2008-02-02
打赏
举报
回复
1
TopMost的办法现在在全屏游戏下比较困难,尤其是3D游戏.经常出现把原程序顶死的情况.
托管代码可以HOOK,当然了,要完成你的工作,多少都要使用些"非安全代码"
其实楼主的问题是两部分~
1: 操作游戏, 着是外挂的部分, 可以采用截包修改, 或者模拟手工操作. 这和本贴主题没关系
2: 显示窗口, 标准窗口在全屏下是不能显示的,游戏3D游戏窗口,因为显示设备在那时是独占设备,你的所有WINDOWS窗口都是在系统层,而游戏的图象是在显卡的显存里,换句话说显卡在工作的时候,系统根本不知道现在显示的是个啥.系统告诉显卡,你给我画一个直径30的圆,显卡就画,系统告诉它画个方,它也画,但是显卡只CPU我画了,却不会告诉CPU具体画了个什么画的对不对.因为显卡如果要把绘制结果数据通过系统总线反会给CPU,那速度是非常慢的.3D游戏是绝对承受不起的,只有在DEBUG的时候才会让CPU去读显存里的数据.(所以说,3D游戏的调试阶段都是盲调,靠蒙,实在需要的时候只能用专业显卡加工作站,PC根本跑不起来)
说了这么多废话,回到正题,也就是说,你要在全屏3D游戏上边显示你的窗口,有两种方式:一个就是HOOK显卡驱动的API,将你的窗口绘制当作当前游戏的一部分,其实就是伪装,将你的窗口塞在"独占窗口(参考WIN设备和上下文)"上,由显卡一同显示,这样一来的优点是你不用操作显存,而且WINDOWS的标准事件依然有效,比如按扭之类的.缺点是,有很多程序你是塞不进去的,或者也可能出现绘制顺序问题,而把你的窗口盖主或者盖住一部分.
再一个办法就是直接写显存,这样一来就等于舍弃了WINDOWS提供的基础,你要自己绘制窗口,按扭,文字等等,还要自己处理鼠标,按键等操作事件(还不能游戏冲突了).当然也有优点,你可以随心的设计你的窗口,实现非常漂亮,几乎和游戏融为一体的窗口.很多CS外挂用的核心就是采用这个办法.还有个优点是不伤害原程序进程和数据.对原程序来说几乎没有任何影响.
tianlong830
2008-01-25
打赏
举报
回复
窗体里有个属性 是在最前端显示 那个属性应该可以满足楼主的需求吧
c#
winform
窗口
全屏
c#
winform
窗口
全屏
,遮盖住任务栏。
C#
winform
程序
窗口
全屏
是否遮盖任务栏问题
C#
winform
程序
窗口
全屏
是否遮盖任务栏问题
C#
winform
全屏
从
winform
中打开网页,
显示
全屏
效果,并且屏蔽了部分按键
Winform
真正的
全屏
,覆盖下面的任务栏
Winform
真正的
全屏
,覆盖下面的任务栏,有源码,供大家学习
C#
实现
Winform
窗口
永远在最上面,支持屏蔽win+d最小化
C#
实现
Winform
窗口
永远在最上面,支持屏蔽win+d最小化。
C#
111,120
社区成员
642,545
社区内容
发帖
与我相关
我的任务
C#
.NET技术 C#
复制链接
扫一扫
分享
社区描述
.NET技术 C#
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
让您成为最强悍的C#开发者
试试用AI创作助手写篇文章吧
+ 用AI写文章