- 博客(132)
- 资源 (23)
- 问答 (2)
- 收藏
- 关注
原创 Wampserver设置php_xdebug调试DLL与PhpStorm
浪费一天时间才发现Wampserver原来自带php_xdebug调试用的DLL,php_xdebug官网的自动识别DLL的版本的功能也不是那么准,有时候就识别不出,没想到Wampserver居然自带。但是php_xdebug调试功能默认是没有配置好的,得自己手动配置PHP.INI文件,此文件如下图这样打开。然后拉到这个文件的最底部就会看见"[xdebug]"这个标题,我这里...
2019-12-18 17:56:00
350
原创 CentOS7 搭建PHP服务器(网站)运行环境
CentOS7系统想安装下面这些软件需要先切换到root用户组,打开“终端”的时候默认用户组不是root用户,需要用命令:su root然后终端会提示你输入你的root用户密码,初学者会发现此时怎么按键盘都没用,以为出错了,这是Linux系统的坑爹之处,但凡在终端里输入密码就是什么显示和反应都没有。所以不用管,直接输入密码后按回车,此时就会发现切换到root用户组了,就可以执行下面的操作...
2019-10-08 12:33:14
2253
原创 PHP调试输出的方法
PHP程序一旦出错调试是个问题,一般常规方法当然是用echo()函数直接在页面上输出,来查看变量的内容。但是这样很麻烦有些地方未必能显示调试内容。所以有大神想出办法用Google Chrome浏览器“审查元素”或者“检查”下的Console也就是控制台来显示PHP等服务端语言的调试信息。下面的大神提供的函数会把参数中的变量输出到Console。 function console...
2019-09-10 17:46:31
6298
原创 Android Studio开发笔记之Button控件
Android Studio开发笔记之Button控件 看了几本书都号称自己是入门的,然而很多重要的东西都不说,都默认读者清楚。现在我把每个控件的使用过程记下来,一是为了记录,二是为了帮助后来的人。Android Studio和微软的Visual Studio简直云泥之别,虽然只差了一个单词。Android Studio可以说还在完善中,不过就我个人的看法Android Studio应该...
2019-07-03 10:50:16
7070
3
原创 Android Studio WINDOWS7下安装出错及其应对方法
最近开始学Android开发,安装完Android Studio本体时程序会提示“连接不上目录服务器无法下载×××”(原文是英文反正大概是这么个意思),此时应该选取消,Android Studio会自动下载Android SDK并安装开发环境,然后进入IDE一切正常,当你创建一个安卓模拟器开始准备测试程序的时候问题就来了,出现下图: 说你没有开启英特尔虚拟化技术,...
2019-06-07 09:58:08
808
转载 浅谈C/C++引用和指针的联系和区别
为什么C/C++语言使用指针? 答案:①一方面,每一种编程语言都使用指针。不止C/C++使用指针。 每一种编程语言都使用指针。C++将指针暴露给了用户(程序员),而Java和C#等语言则将指针隐藏起来了。 “Everything uses pointers. C++ just exposes them rather than hiding them,” It's eas...
2019-04-16 11:57:23
233
转载 FPS游戏自瞄透视之模块动态加载
用OD附加游戏进程,进入OD主界面以后,我们CTRL+G 跳转到地址 00401000(系统默认通常游戏领空的起始地址)的时候发现了错误。 也就是说代码段不在这了, 那跑哪去了? 为什么会有这样的错误呢?首先我们先来看看什么是基地址我们随便找一个其他游戏CE附加 如上图,基地址 00D0DF1C 实际上是可以继续拆分,我们直接写00D0DF...
2018-12-24 15:09:02
2752
原创 MFC程序每次启动前修改文件名
因为一些众所周知,你们懂得的原因,开发一些特殊软件,比如那些能让你在游戏里释放原力和化身斗帝的软件会被检测软件标题和进程名。进程名其实就是exe的文件名,所以为了安全修真就产生了最好能每次启动软件前都随机修改一下exe文件名的需求。但是我们都知道一旦软件启动后是无法修改其文件名的,网上当然也有大神提供了一个方案: 需要重命名的exe做成资源打包进一个exe中,也就是把B....
2018-12-17 11:36:05
808
1
原创 VS2010获得程序当前运行目录函数详解
每个Windows程序都有一个自己的当前目录,默认是程序exe文件所在的目录。系统在给程序加载动态链接库文件(DLL)时先在程序当前目录里查找要加载的DLL,如果在此目录下没有找到系统便会去Windows目录下查找。在这儿我们主要将如何获得程序的当前目录,如果没有自己去设置,我们可以把此目录看成进程所在目录。函数原型:DWORD GetCurrentDirectory(DWORD nBuf......
2018-12-06 17:49:23
3947
转载 MFC edit控件实现自动换行
必须设置Vertical Scrollbar = TRUE必须设置MultiLine = TRUE必须设置Horizontal Scrollbar = FALSE必须设置Auto HScroll = FALSE可选设置Want Return = FALSE 可选设置Auto VScroll = TRUE ...
2018-12-01 20:53:49
2536
原创 MFC子线程访问/控制对话框程序控件
MFC窗口程序,如果不把具体的流程在子线程中运行,碰到Sleep()函数时程序窗口就会呈现一种未响应的状态,不美观,所以一般都会把具体的流程放到一个子线程中去,这样通常情况下就不会出现“未响应”状态了。但是微软出于安全考虑不允许子线程直接访问窗口程序中的例如按钮、编辑框、静态文本框一类的控件,原因是这样会容易导致访问异常消息混乱造成程序卡死崩溃,MSDN 中也有说明,子线程直接访问主线程...
2018-12-01 20:36:15
2677
2
原创 更改MFC对话框默认的窗口类名
MFC窗口程序的默认类名是"#32770",而且MFC窗口程序不支持动态修改类名,也就是不能像窗口标题那样用this->SetWindowText(L"春哥纯爷们"); 来修改窗口类名。在主程序窗口的属性中有"Class Name"属性,但是默认它是灰色的不可选状态,如图:需要在资源视图窗口中在××××.rc(×是你的工程名),上右键,选择属性把Mfc Mode改成False,默...
2018-12-01 18:10:07
4129
2
原创 使用VC++通过QQ邮箱发邮件
1.设置QQ邮箱首先登陆邮箱点击左上角“设置”→“账户”。打开下图红框框内的两项服务。POP3是接收服务端口,IMAP为发送邮件端口,打开此两项服务后我们就能用第三方软件操作QQ邮箱,查看/发送邮件。 然后需要用绑定QQ号的手机发送短信验证,验证通过后就会得到授权码,第三方软件操作QQ邮箱就需要这个授权码和邮箱账号。2.上传QQ账户和授权码时,要转换成“Base...
2018-11-21 17:35:21
3644
4
转载 MFC中运行出现问题“不支持尝试执行的操作”
问题描述:基于CDialogEx的对话框工程.VS2010开发环境.调试运行到OnInitDialog()的CDialogEx::OnInitDialog()方法的时候弹出提示窗口“不支持尝试执行的操作”。 原因:在函数对话框上的控件之后相应的关联变量没有取消导致出现该问题。虽然可以顺利编译通过,但会提示该问题。 解决方法:查找该关联控件的变量,然后删除该问题控...
2018-11-13 15:15:32
5901
4
转载 OD CE找数据总结(下)
十、判断是否是怪物(角色怪物类别) 1、普通攻击call里面,在跳转地方查看怪物,或者npc对比看哪个跳了。2、ce选择怪物搜索,初始化值,完后选择npc,选择改变的。选择另外一个npc ,选择没改变的,以此类推。3、内存遍历怪物结构。 十一、跨图寻路call 1、call内部头部下断点,一直断下来,可以[esp]!=0x4526c,这里的45...
2018-11-13 14:58:02
4320
转载 OD CE找数据总结(上)
一、找点击选怪物call以及选怪状态标志1、ce搜未知数据,选择一个怪,搜变动,换一个,再搜变动,最后找到最像的查看访问地址代码,记下后,od附加跳转下段,返回上一层,用注入软件测试一下。2、找到后,记下call上下代码和call内部代码,遗迹ce搜到的代码,方便以后定位基地址。3、一般参数是存放怪物id等信息的地址和另外一个参数(可能是用来存放计算得到的怪物id等信息,就是ce搜到的...
2018-11-12 21:20:17
7272
原创 MFC 编辑框Edit Control控件使用指南
首先创建一个编辑框ID设为IDC_MULTI_LINE_EDIT,然后用MFC类向导为编辑框IDC_MULTI_LINE_EDIT添加CEdit类型的控件变量m_editMultiLine。CString.missio;m_editMultiLine.SetWindowText(); //设置输入框的内容m_editMultiLine.GetWindowTextW(missio); /...
2018-10-29 10:36:53
8354
原创 如何判断WINDOWS程序窗口是否无响应
SendMessageTimeout()将指定的消息发送到一个或多个窗口。此函数的原理是向一个待测试窗口发送消息,并期待返回值,如果没有返回值则说明窗口无响应。函数原型:LRESULT SendMessageTimeoutA( HWND hWnd, UINT Msg, WPARAM wParam, LPARAM lParam,...
2018-10-29 09:45:03
4474
原创 MFC单选控件Radio Button与选择框控件Chexk Box使用指南
本文是学习鸡啄米VS2010入门教程的心得体会,特此记录下来方便日后查询。单选控件就是点一下前面会有一个圆圈的控件,选择框就是点一下前面会打√的控件。1.首先随便起个名建立一个MFC对话框项目,这里我起名为Univers。2.新建2个Group Box控件,把Caption属性分别改为"游戏类型"和"游戏"。3.在游戏类型Group Box控件内添加3个单选按钮Radio But...
2018-09-25 14:33:58
1695
转载 如何获得线程的返回值?
最近在学习多线程编程技术过程中,遇到一个问题:如何获取线程的返回值? 线程定义之初:UINT Class::Thread(LPVOID lpParam){ return bResult;} 开启线程:CWinThread *hThread = AfxBeginThread(Thread, lpParam, 0, 0, NULL); 获得线程返...
2018-08-15 12:32:59
6405
转载 windows C/C++ 在一个程序中打开,关闭和监视其它的exe程序
本文要实现的功能就是在windows下,实现用一个程序来打开,关闭和监视其它的exe程序,我这里的的exe程序是我自己实现的。1.监视exe是否崩溃首先如果一个进程不在了,它的进程ID就是0, 那么通过检测进程ID是否为0,就可以知道进程是否还在运行。假设程序崩溃了,它的进程ID会变成0,那么通过检测进程ID是否为0,就可以知道程序是否崩溃。但是在windows下,情况并不是假设的...
2018-08-15 11:48:51
3674
1
原创 MFC利用系统API读取INI配置文件
confing.ini中的内容[账号]account=123|456[是否修理装备]repair=1读取INI字符串:CString pourin;GetPrivateProfileString(L"账号",L"account",NULL,pourin.GetBufferSetLength(MAX_PATH),MAX_PATH,L"C:\\Warehouse\\co......
2018-08-02 17:51:18
884
转载 C++ string字符串按分隔符分割成一个数组
C++的string类型可以很方便的操作字符串,但是在使用中发现不支持Split,为了满足使用的需要,我自己写了一个分割函数。#include <string>#include <vector>using std::string; //使用string对象using std::vector; //使用vectorvoid Split(const st...
2018-08-02 12:58:54
27485
转载 CString和string在unicode与非unicode下的相互转换
string toString(CString cs) { #ifdef _UNICODE //如果是unicode工程 USES_CONVERSION; std::string str(W2A(cs)); return str;#else //如果是多字节工程 std::string str(cs.GetBuffer()); cs.ReleaseBuffer...
2018-08-02 12:49:00
1236
转载 MFC窗口位置和大小的获取
最近在做一个项目,需要控件随对话框大小的变化而变化,因此需要准确获取对话框窗口、控件的大小和位置。经过好一番查寻、测试,终于看到了希望。下面是一些获取窗口位置和大小的函数,示例如下:1、获取屏幕分辨率//下边两个函数获取的是显示屏幕的大小,但不包括任务栏等区域int cx = GetSystemMetrics(SM_CXFULLSCREEN);int cy = GetSyste...
2018-07-22 17:41:07
2236
原创 C++用API实现鼠标带轨迹移动
void Contra(int dual_X,int dual_Y); //带轨迹移动鼠标int More(int mini,int maxi); //生成随机数int More(int mini,int maxi) //生成随机数函数{ //参数:1.区间最小值;2.区间最大值 srand((unsigned)time(NULL)); //初始化随机数种子 i...
2018-07-02 18:21:29
5706
转载 如何在C++中产生随机数
Rand 单纯的rand()会返回一个0至RAND_MAX之间的随机数值,而RAND_MAX的值与int位数有关,最小是32767。不过rand()是一次性的,因为系统默认的随机数种子为1,只要随机数种子不变,其生成的随机数序列就不会改变。 其实,对于rand()的范围,我们是可以进行人为设定的,只需要在宏定义中定义一个random(int x)函数,就可以生成范围为0至x的随机数值。当然,也...
2018-06-07 08:57:26
5392
原创 VS2010 MFC窗口程序 pugixml读写XML
为了用VC++读写XML文件前后弄了差不多5天了,试过微软自家的MSXML和libxml2库,介绍MSXML的相关书籍和CSDN博客里的文章基本全是XP时代的MSXML4.dll,WINDOWS 7 system32目录只有MSXML3.dll和新版的MSXML6.dll。查了3天资料,痛苦无比,还是无法使用,微软可能是为了更大的兼容考虑让VB之类的其他语言也能调用MSXML6.dll做了一些修改...
2018-05-16 18:20:49
1721
原创 MFC 2010 C++ A*寻路算法
因为要开发游戏辅助需要解决寻路问题,当然游戏辅助寻路有很多种方式,比如定点寻路就是预先设定几个坐标点,只要保证点与点之间的直线没有障碍物就能像火车一样一站一站的跑下去。对于经过游戏中的大地图,比如由A点的某个NPC处拿个物品交给大地图另一头的某个NPC就比较适合用这种定点寻路的方式,这种方式简单粗暴,比较有效率。缺点是如果半路有个怪什么的打你一拳,可能就会偏离预定路线,而找不到回家的路...
2018-05-08 17:01:28
1336
5
转载 C或C++获取数组长度
C、C++中没有提供直接获取数组长度的函数,对于存放字符串的字符数组提供了一个strlen函数获取长度,那么对于其他类型的数组如何获取他们的长度呢?其中一种方法是使用sizeof(array) / sizeof(array[0]), 在C语言中习惯上在使用时都把它定义成一个宏,比如#define GET_ARRAY_LEN(array,len) {len = (sizeof(array) / si...
2018-05-06 10:17:56
13569
原创 怎么跨文件声明变量
比如在A.ccp里有个全局变量int chun_ge想在另一个BB.ccp文件中使用这个全局变量该怎么做?我们可以在BB.ccp文件中再"声明"一次,像这样:extern int chun_ge这就像引入一个.h文件一样引入了其他.cpp文件中的变量。当然能这么做的只能是全局变量。这样再次“声明”了一次后,在BB.ccp文件中使用"chun_ge"变量时就不需要再做其他处理了。对于其他的例如lis...
2018-05-02 16:00:02
1060
转载 OnClose()消息和 OnDestroy()消息 释放动作时用到
基于对话框的MFC程序,发现每次程序退出时,托盘的小图标不能自动消失,鼠标移上去之后才能消失,比较不爽。后来发现我删除这个图标的代码是在自己重写的OnClose()函数中,结果断点一看,OnClose()根本没有被调用,确切的说是点“退出”不调用,点右上角的“叉”才调用,难怪出现这个结果,后来还有我想在OnClose()函数中有其他操作也没有被调用。在http://www.qqgb.com/P...
2018-04-20 13:02:07
3746
原创 C++ 中的sort()排序函数用法
sort(first_pointer,first_pointer+n,cmp)该函数可以给数组,或者链表list、向量排序。实现原理:sort并不是简单的快速排序,它对普通的快速排序进行了优化,此外,它还结合了插入排序和推排序。系统会根据你的数据形式和数据量自动选择合适的排序方法,这并不是说它每次排序只选择一种方法,它是在一次完整排序中不同的情况选用不同方法,比如给一个数据量较大的数组排序,开始采...
2018-04-09 21:16:43
10097
转载 排序算法之堆栈排序
排序——堆排序-大根堆(大顶堆)1.小根堆若根节点存在左子女则根节点的值小于左子女的值;若根节点存在右子女则根节点的值小于右子女的值。2.大根堆若根节点存在左子女则根节点的值大于左子女的值;若根节点存在右子女则根节点的值大于右子女的值。3.结论(1)堆是一棵完全二叉树(如果公有h层,那么1~h-1层均满,在h层连续缺失若干个右叶子)。(2)小根堆的根节点的值是最小值,大根堆的根节点的值是最大值。(...
2018-04-09 18:52:51
3730
转载 C++ replace() 字符串切割函数用法详解
本文主要针对C++中常用replace函数用法给出样例程序/*用法一: *用str替换指定字符串从起始位置pos开始长度为len的字符 *string& replace (size_t pos, size_t len, const string& str); */ int main() { string line = "this@ is@ a tes...
2018-04-08 11:55:11
474
转载 C++命名空间
本讲基本要求 * 掌握:命名空间的作用及定义;如何使用命名空间。 * 了解:使用早期的函数库 重点、难点 ◆命名空间的作用及定义;如何使用命名空间。 在学习本书前面各章时,读者已经多次看到在程序中用了以下语句:using namespace std; 这就是使用了命名空间std。在本讲中将对它作较详细的介绍。一、 为什么需要命名空间(问题提出) 命名空间是...
2018-04-04 11:23:04
276
原创 MFC调用DOS窗口输出数据或字符串
新建一个MFC窗口程序,双击界面上的OK键。先介绍要用到的函数:AllocConsole()函数会为主调进程分配一个新的控制台。函数原型:BOOL WINAPI AllocConsole(void);参数: 无返回值 :如果函数成功,返回值是非零值;如果函数失败,返回值是零值。备注: 一个进程仅能关联一个控制台,所以该函数在主调进程已经具有控制台时将会失败。FreeConsol...
2018-04-01 13:07:10
2252
原创 VC自动关闭弹出的MessageBox对话框的总结
下面的程序从5种方法,关闭弹出的MessageBox对话框:首先,创建定时器和弹出MessageBox:void CTestDlg::OnBnClickedButton1() { //启动一个定时器,用于自动触发关闭MessageBox对话框 SetTimer(1, 1000, NULL); //启动一个MessageBox对话框,并检查它的返回值 ...
2018-03-31 17:56:31
4631
转载 CoInitializeEx 与CoInitialize的区别
CoInitialize、CoInitializeEx都是windows的API,主要是告诉windows以什么方式为程序创建COM对象,原因是程序调用com库函数(除CoGetMalloc和内存分配函数)之前必须初始化com库。 有哪些方式呢?单线程和多线程。 CoInitialize指明以单线程方式创建。 CoInitializeEx可以指定COINIT_MULT...
2018-03-31 15:05:48
4890
原创 VC++ 使用大漠DLL笔记
1.绑定窗口时的类型转换 int away; HWND wnd; CString fifteen; long Di; wnd=::FindWindow(L"Notepad",NULL); fifteen.Format(L"%d",wnd);//HWND转CString Di=_tstol((LPCTSTR)fifteen); //CString转long away=dm...
2018-03-31 10:23:47
4459
PSV安装VITASHELL
2023-12-27
C++调用JS代码封装类
2023-05-10
php-console-master.zip
2019-09-10
VS2010 MFC中设置HotKey
2017-09-20
桌面GDI绘图示例
2017-09-15
ActionScript 查询手册
2015-09-01
关于汇编浮点数指令fld st(0)的问题
2017-04-30
汇编语言怎么判断一个数在某个范围内
2017-01-15
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅