- 博客(63)
- 资源 (3)
- 收藏
- 关注
原创 MFC提高TabControl插入效率
巨大的数据插入到TabControl控件内时,会让插入时间变得很长,可通过在插入下使用SetRedraw函数来阻止重绘提高插入速度。1.在插入数据前阻止重新绘制 m_LIST_NotPresent.SetRedraw(FALSE);//阻止重新绘制2.在数据插入完毕后重绘 m_LIST_NotPresent.SetRedraw(TRUE);//阻止重新绘制经过测试,数据(上10000行时)可缩短30%-40%的时间,此方法只可针对小量数据,如数据巨大,应通过虚拟表实现。...
2022-03-26 01:01:48
357
原创 MFC手动删除类
平常手动删除类会遇到无法找到.h和.cpp的问题,没有删除干净。1.手动删除.h&.cpp2.编辑*.vcxproj文件把对应的.h和.cpp删除,即可完成。
2022-03-25 21:14:11
1280
原创 VS开发环境MFC双击代码没有进入响应函数代码
双击控件没有进入响应函数代码的话,一般是对话框界面ID和代码设置的ID不一致导致解决方法:打开**Dlg.h,找到一下代码:enum { IDD = IDD_***_DIALOG }修改与界面ID一致即可解决。
2022-03-25 15:59:42
3730
1
原创 VS2017 MFC操作Excel
1.首先安装OFFICE软件[Office 2021 ProPlus],此版本为OFFICE162.进入VS开发环境,使用快捷键调出CTRL+SHIFT+A调出【添加类】选中Visual C++=》MFC=》Typelib中的MFC类OFFICE的Excel地址为:C:\Program Files\Microsoft Office\root\Office16,其他OFFICE版本大同小异3.设置...
2022-03-25 15:17:22
2999
2
原创 MFC TabControl使用方法
1.新建放置控件对话框新建1个放置TabControl的Dialog主对话框,在此对话框中拖入1个TabControl控件,为控件绑定变量类型为:CTabCtrl,变量名为m_TabCtrl_Four。CTabCtrl m_TabCtrl_Four;2.新建子对话框并新建类新建两个作为TabControl控件界面的Dialog子对话框,并为其新建两个对话框类。CPACHODlg_Verification1 m_Page1//对话框1CPACHODlg_Verification2 m
2021-11-17 15:56:12
1680
1
原创 MFC调用python脚本方法
1.安装python程序,尽量使用32位版本,避免连接器出现问题2.C/C++=>常规设置设置为python的include目录:C:\Users\None-Li\AppData\Local\Programs\Python\Python39\include3.连接器=》常规设置为python的libs目录:C:\Users\None-Li\AppData\Local\Programs\Python\Python39\libs4.连接器=》输入添加依赖项:pyt.
2021-08-16 00:28:37
1844
原创 Windows驱动开发 Win7-x64+VM+WinDbg 双机调试
1.主机安装WinDbg2.设置主机的WinDbg属性参数3.安装虚拟机并安装系统4.设置虚拟机的命名管道5.虚拟机安装WinDbg6.对虚拟机的调试进行配置7.设置主机WinDbg8.调试驱动1.主机安装WinDbg2.设置主机的WinDbg属性参数给WinDbg添加一个快捷方式,再快捷方式的目标后加入一行指令 -b -k com:pipe,po...
2018-09-07 10:15:44
3109
原创 Windows驱动开发 环境搭建VS+DDKwizard+WDK(安装+编译+调试+禁止签名)
1.安装VS2.安装DDKwizard3.准备ddkbuild.bat+ddkbuild.cmd,把这两个文件放在DDK的安装目录4.配置环境变量添加用户变量变量名:path变量:C:\WinDDK添加系统变量根据自己的系统填写,这里以Win7为例NT 4.0:NT4BASE windows2000:W2KBASE windowsXP:WXPBAS...
2018-09-02 23:59:37
2127
原创 外挂开发 大漠插件注册
在开发外挂中,其实有很多厉害的插件可以供我们使用,不再自己再去额外的写复杂的代码,类似的插件很多,比如:天使插件、DD、大漠等,各个插件都有比较擅长的功能,有些小众的插件更是给力,因为可以过NP。1.准备大漠的Dll动态链接库(里面包含了类文件)名字为:dm(mat).dll,把dm(mat).dll复制到工程的代码目录和运行目录Debug 2.添加Lib类方法:对着解决方案名...
2018-08-30 23:29:33
8831
2
原创 外挂开发 读取游戏屏幕判断游戏状态
在非即时战斗游戏中,为了对游戏人物和场景进行判断,需要对游戏界面进行对比,通过对比结果做出相应的操作。很多人好奇说为什么不用大漠插件和天使插件来进行处理,这样来的更便捷更强大,代码永远都是自己写的比较灵活,因为插件容易被反外挂程序检测到,所以自己掌握代码是最灵活的做法。以下代码是初级代码,自己优化封装可以通过内存读取RGB对比,快速实现识图,速度非常的话,比传统的GetPixe...
2018-08-28 22:50:52
7190
原创 外挂开发 硬件级模拟键盘鼠标
INPUT MouseInput[2];MouseInput[0].type = INPUT_MOUSE;//虚拟的类型 INPUT_MOUSE or INPUT_KEYMouseInput[0].mi.dwFlags = MOUSEEVENTF_ABSOLUTE | MOUSEEVENTF_MOVE; //鼠标标志 MOUSEEVENTF_LEFTDOWN MOUSEEVENTF_A...
2018-08-28 20:56:42
21729
21
原创 MFC 多字节导致界面样式变成win95修复方法
打开项目的stdafx.h#ifdef _UNICODE#if defined _M_IX86#pragma comment(linker,"/manifestdependency:\"type='win32' name='Microsoft.Windows.Common-Controls' version='6.0.0.0' processorArchitecture='x86' pu...
2018-08-26 23:14:54
276
原创 Android Toast的使用
Toast的使用非常简单,是一个非常友好的提示框。private Toast toast;toast.makeText(getApplicationContext(), "密码不能为空",Toast.LENGTH_SHORT).show();
2018-08-26 21:48:03
193
原创 Android ListView控件&自定义ListView
简单ListView控件的使用1.在Layout里面放置一个ListView <ListView android:id="@+id/list_view" android:layout_width="match_parent" android:layout_height="match_parent"> </...
2018-08-25 20:57:39
365
原创 Android 底部导航栏-极致简单版
底部导航栏是常用的一个工具,大多数的APP都带有底部导航栏,底部导航栏可以方便用户一只手操作,切占用内存比常规的Activity少,底部导航栏使用Fragment+RadioGroup方法来实现,示意图如下:1.准备8张导航栏的切换图(4张未选中状态,4张选中状态) ID:radio_msg_0,radio_friend_0,radio_look_0,ra...
2018-08-25 02:05:57
9016
1
原创 Android 给EditText更换光标颜色
1.在res/drawable文件夹下新建一个Xml文件,文件名为my_cursor.xml<?xml version="1.0" encoding="utf-8"?><shape xmlns:android="http://schemas.android.com/apk/res/android" > <solid android:color="#.
2018-08-23 02:48:09
7921
原创 Android 设置Activity&图片全屏
在AndroidManifest.xml中给Activity设置属性android:theme="@android:style/Theme.Black.NoTitleBar.Fullscreen"在Activity中输入以下代码:requestWindowFeature(Window.FEATURE_NO_TITLE); //全屏显示getWindow().setFlags(...
2018-08-23 02:43:57
1745
原创 Android Button控件
1.新建Button对象2.绑定Button控件3.为Button控件设置监听函数在Activity的类中定义Button对象private Button butHelloword;在Activity的Create类中绑定Button控件butHelloword = (Button) findViewById(R.id.button);// 获取控件ID实现Butt...
2018-08-22 01:28:15
555
原创 Android 建立新的Activity
新建一个Activity有两种方式,一种是手动的去添加,手动的添加能让我们更好的了解Android的开发机制,一般新建一个Activity有几个步骤:一.新建一个与Activity相挂钩的Layout布局文件二.新建一个Activity类,并通过setContentView()函数为Activity类绑定Layout布局文件三.在AndroidManifest.xml中...
2018-08-22 01:09:13
5957
原创 Android Menu菜单的使用
在Android开发中,菜单的使用非常的广泛,切菜单的使用也很简单。一.新建菜单新建菜单需要实现Activity中的onCreateOptionsMenu函数二.重写菜单的onOptionsItemSelected函数对菜单消息进行响应新建菜单覆盖掉OnCreateOptionsMenu函数,在函数体里输入以下代码: @Override public boolean ...
2018-08-22 01:08:55
351
原创 Android 多线程开发
在开发中主线程主要的作用是处理和管理UI的操作,其他的占时间操作应交给多线程去处理,所以占时间操作都应该尽量的开辟新的子线程去处理,而不应该放在主线程中去处理。1.重写线程Run方法2.新建一个线程并开始重写线程Run函数class MyThread extends Thread { @Override public void run() {...
2018-08-22 00:30:37
143
原创 Android Socket-UDP客户端
UDP客户端代码:在AndroidManifest.xml开启网络权限(放在application标签前): <uses-permission android:name="android.permission.INTERNET"/>Socket代码:String string= "你好服务器我是android程序";byte data[] = string.get...
2018-08-22 00:23:30
411
原创 MFC Socket网络编程 - UDP
为了更了解网络开发的流程,可以先通过掌握WinSock再去掌握别的网络开发库,掌握传统的WinSock可以对网络开发的架构有一个清晰框架,初学者可以先从一个入门的WinSock程序开始:【服务端】#include<winsock2.h> //包含头文件#include<stdio.h>#include<windows.h>...
2018-07-22 18:53:28
3168
原创 MFC Socket网络编程 - TCP/IP
为了更了解网络开发的流程,可以先通过掌握WinSock再去掌握别的网络开发库,掌握传统的WinSock可以对网络开发的架构有一个清晰框架,初学者可以先从一个入门的WinSock程序开始:【服务端代码】 WSADATA data; WORD Versions = MAKEWORD(2,0); int iResult = WSAStartup(Versions,&a...
2018-07-22 15:55:18
1136
原创 Win7 系统下进入Debug
在Win7 64位系统下想使用Debug工具,在cmd之后发现debug不是内部命令,这是因为系统本身不带Debug工具,我们可以通过DOS 和 Win7 32位的Debug来实现。1.下载DOSBox2.下载Debug.exe3.安装DOSBox4.把Debug.exe放在C盘以外的盘符(选择放在D盘)5.打开DOSBox6.输入mount c d:\ (回车)(这里的d是你的deb...
2018-07-11 20:24:47
7320
1
原创 VS搭建汇编语言环境
1.打开VS2.创建新项目3.新建源文件4.更改文件后缀名为.asm5.设置Masm6.设置配置属性的控制台7.编译asm输入以下代码:.386.model flat, stdcall.stack 4096ExitProcess PROTO ,dwExitCode:dword.datasource byte "hello world",0target byte sizeof sour...
2018-07-09 13:00:10
10327
原创 虚拟键值表
虚拟键值表 虚拟键十六进制值十进制值相应键盘或鼠标键VK_LBUTTON011鼠标左键VK_RBUTTON022鼠标右键VK_CANCEL033Ctrl-Break键VK_MBUTTON044鼠标中键VK_BACK088Backspace键
2014-06-17 02:37:18
1746
原创 实现DX游戏的键盘鼠标操作
*碰到DX游戏SendMessage 和PostMessage是没办法使用模拟键盘鼠标操作的,这时候我们可以用WinIO的SendInput把键盘鼠标消息放到消息队列里面去实现 代码如下:模拟鼠标 int SuccessAction1, SuccessAction2, SuccessAction3; INPUT MouseInput[3];int x=200,y=200;...
2014-06-16 22:14:46
13308
原创 MFC Unicode编码实现文本复制到剪贴板
if (this->OpenClipboard()) //如果能打开剪贴板 { ::EmptyClipboard(); //清空剪贴板,使该窗口成为剪贴板的拥有者 CString str("fdsfds");//将文本放置到系统剪贴板中 HGLOBAL hClip; hClip = ::GlobalAlloc(GMEM_MOVEABLE, (str.GetLength()
2014-06-11 00:57:11
3467
原创 MFC 编写Dll
在编写程序的时候,为了方便我们经常会把一个程序分成很多个模块,然后用Dll来组装编写。在VS中编写Dll并在exe中使用首先:根据需要新建一个Dll工程项目,把Dll项目附加进EXE项目(根据需要建立MFC DLL 还是是win32的DLL) 建立完成后我们在Dll项目的头文件中添加一个export.h头文件输入以下代码: #ifdef MOFLLDLL_API#els...
2014-06-04 03:15:33
2962
原创 MFC更改其他程序的界面大小、位置
更改其他程序的界面大小和位置只需要获取到其窗口句柄就可以更改了,为了辅助修改咱还可以利用GetWindowRect来查看当前要更改程序的界面大小和位置: HWND GameHwnd = NULL; //游戏大厅的窗口句柄 DWORD GameID = NULL;//游戏的进程ID HANDLE GameHandle = NULL;//游戏的实例句柄 SignGame...
2014-05-10 23:17:50
3653
原创 MFC实现 打开文件、保存文件
CString folderName; CFileDialog hFileDlg(TRUE, _T("ini"), _T(""), OFN_OVERWRITEPROMPT | OFN_HIDEREADONLY, _T("ini文件|*.ini|所有文件|*||")); //首参数FALSE是保存 //首参数TRUE 是打开 //参数设置 hFileDlg.m_ofn.nFilter
2014-05-08 16:38:12
3741
原创 Discuz论坛 创始人密码忘记解决办法!
Discuz论坛创始人密码忘记了是一件很令人头疼的事情,没有创始人帐号登录,很多设置无法修改,很多人会选择Tools等工具来修复,但是X2.0以上的用户Tools等工具会失效,或者设置相对来说比较麻烦,这时候我们可以使用一个最简单的办法来实现修改uc_server/data中的config.inc.php文件(这个文件保存了FTP UC等一些重要信息)具体操作如下: 找到网站根目录下的
2013-05-07 21:04:36
9681
原创 MFC使用复选框控件
在开发过程中复选框控件的使用也比较广泛我这里为大家分享一下我使用复选框控件的一些技巧。 1.我们新建一个Dlg对话框MFC程序2.拖入一个复选框控件,控件ID修改为IDC_CHECK3.拉入一个按钮文本修改为“获取复选框状态”,为按钮添加点击事件判断复选框的选中状态: CButton* pBtn = (CButton*)GetDlgItem(IDC_CHECK);i...
2012-11-26 12:27:09
7687
原创 编程常用的类型转换方法
在日常的编码中,我们总是在各种数据类型中转换来转换去,现在我说一下我经常在编码中各种数据之间的转换方法与技巧!int类型转换int 转 stringint i = 30; char c[10]; itoa(i, c, 2);int 转 CStringint i = 123;CString str;str.Format("%d",i);int 转 floa
2012-11-26 10:36:57
819
原创 MFC使用ComboBox控件方法
Combo Box (组合框)控件很简单,可以节省空间。从用户角度来看,这个控件是由一个文本输入控件和一个下拉菜单组成的。用户可以从一个预先定义的列表里选择一个选项,同时也可以直接在文本框里面输入文本,下面我说一下我使用ComBox的一些方法技巧。1.往Combox控件里插入信息 m_Searchmode.InsertString(0, "测试1");//插入一条信息,也可以利用Add...
2012-10-31 20:47:36
7469
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人