logo
publist
写文章

简介

该用户还未填写简介

擅长的技术栈

可提供的服务

暂无可提供的服务

MFC窗口位置和大小的获取

最近在做一个项目,需要控件随对话框大小的变化而变化,因此需要准确获取对话框窗口、控件的大小和位置。  经过好一番查寻、测试,终于看到了希望。下面是一些获取窗口位置和大小的函数,示例如下:1、获取屏幕分辨率复制代码//下边两个函数获取的是显示屏幕的大小,但不包括任务栏等区域int cx = GetSystemMetrics(SM_CXFULLSCREEN)

解除游戏多开限制,关闭互斥体句柄

(这里的防护建议是,增加多种多开限制的方法 以及 逻辑中增加多该互斥体的使用,这样可以避免直接被恶意关闭)比如说遍历窗口,遍历进程,配置文件,注册表,互斥体,mac地址,ip,公共文件,内存映射等等.方法很多.我们可以使用工具来查看互斥体,大家可以用XT,PCH等等工具。发现已经检测到我们开了一个窗口,只是没有进行限制。出现了很多句柄, 找到Mutant类型的句柄。我们逐一关闭,看看关闭哪个之后就

文章图片
#游戏
C# 播放音频文件(播放提示音)

System.Media名称空间下的类SoundPlayer 可以让我们很方便的播放wav波形声音文件。SoundPlayer类其实就是对winmm.dll文件中API函数的封装。其中Play方法是异步方法,会在另一个线程中播放。如果我们有时候需要等声音播放完毕之后再进行下一步操作。即声音播放需要阻塞当前线程。

#c#
PSV新内存卡(或内存卡格式化后)如何安装VITASHELL文件管理器

如果你的PSV还没破解,那本文不适合没破解的情况,按照网上其他教程破解完成后会自动安装上其他的文件管理器,然后再用这些文件管理器安装。当然索尼也给PSV开发了一个类似于ITunes的工具,这个Qcma属于第三方的工具。点击“生产或管理设备密码”,需要使用这个密码才能在PSV上登录账号,登录好账号后打开Qcma,连接PSV,如果驱动没问题就会显示连接上PSV了。点击后界面会显示“正在连接”,直接点取

文章图片
#windows
自己动手丰衣足食-自己动手修改GBA ROM游戏文件

经过一天的努力终于琢磨出怎么修改GBA的游戏文件也就是俗称的ROM文件,起因是因为偶然看到二手GBM,顿时抑制不住买了一台,可惜买得晚了,完美运行游戏又带金手指功能的烧录卡买不到了。SUPERCARD烧录卡看评论说费电,玩游戏会拖慢什么的,最后权衡再三买了个EZ4烧录卡,缺点就是不能开金手指。但是我这种从小开惯金手指的人没有金手指怎么驰骋游戏?好了废话不多说开始进入正题,看本文最好有80x86汇编

#游戏
Web Worker 跨域访问

Web Worker按照字面意思应该翻译成“工作者线程”,这个API有点类似MFC里的线程函数,MFC的线程函数也分普通线程(完整的线程功能,拥有消息循环功能)与工作者线程(没有消息循环,就是拿来做后台处理数据的线程用的)。这个东西也很讨厌的需要符合WEB的同域安全策略,也就是在https://www.baidu.com/里想这样创建一个工作者线程:var myWorker = new Worke

Tampermonkey脚本实现跨域POST或GET数据

JavaScript里的网络请求需要在同一个域之下,比如http://localhost:80 在此域名下的二级或者三级域名可以发送网络请求,而域名变成http://localhost:8080 或者https://www.baidu.com/之类就无法取得get或post请求的返回值(请求可以正确发送,但是返回值会被安全策略拦截),一般情况下只能使用jsonp发起get请求,因为浏览器安全策略对

更改设置让Cheat Engine搜索安卓模拟器里的数据

1.首先打开Cheat Engine,菜单栏第二项“设置”,照着图设置2.3.Cheat Engine的设置就结束了,下面说说模拟器的注意事项,我用的是夜神模拟器雷电模拟器的进程是这个游戏名称:《钢铁战队》...

#android
更改设置让Cheat Engine搜索安卓模拟器里的数据

1.首先打开Cheat Engine,菜单栏第二项“设置”,照着图设置2.3.Cheat Engine的设置就结束了,下面说说模拟器的注意事项,我用的是夜神模拟器雷电模拟器的进程是这个游戏名称:《钢铁战队》...

#android
JavaScript input输入数值(value)无效的原因和解决办法

会碰到这个问题一般是想×别人的网页导致的,一般来说想控制别人写的网页(或者维护一份别人的网页代码)碰到需要用JS给input或者select之类的组件赋值的时候一般会直接这样写:  let casess=document.getElementsByClassName('xxxxx')[0];  casess.value='50';赋值后点击有时候会报错有时候不会,一般报错的情况基本上属于这份代码用

到底了