- 博客(34)
- 资源 (24)
- 收藏
- 关注
原创 HBITMAP转化为Bitmap(使用GDI+保存带Alpha通道的图像)
Bitmap * ImageUtil :: CreateBitmapFromHBITMAP ( IN HBITMAP hBitmap ){ BITMAP bmp = { 0 }; if ( 0 == GetObject ( hBitmap , sizeof ( BITMAP ), ( LPVOID )& bmp ) ) { return FALSE ; } // Although we can ...
2020-11-06 09:07:30
1243
原创 C++更换EXE的ICON图标
经验证有效#include <Windows.h>struct TIconHeader{ WORD idReserved; WORD idType; WORD idCount; // 目录数};#pragma pack(1)struct TResDirHeader{ BYTE bWidth; // 图像宽度,以象素为单位。一个字节 BYTE bHeight; // 图...
2020-11-06 08:51:13
2465
2
原创 C++ 使用Htmlcxx解析Html内容(VS编译库文件)
1.下载Htmlcxx,http://sourceforge.net/projects/htmlcxx/2.解压htmlcxx-0.85.tar.gz3.打开htmlcxx.vcproj,注意是htmlcxx.vcproj,不是下面的htmlcxxapp.vcproj4.使用VS打开htmlcxx.vcproj,需要对项目进行转换5.选择编译模式:Debug或Release模式,具体由需要使用到Htmlcxx库文件的项目的编译模式决定,但注意Debug对Debug,Release对Re...
2020-10-30 08:58:10
955
转载 string替换所有指定字符串(C++)
C++的string提供了replace方法来实现字符串的替换,但是对于将字符串中某个字符串全部替换这个功能,string并没有实现,我们今天来做的就是这件事。首先明白一个概念,即string替换所有字符串,将"12212"这个字符串的所有"12"都替换成"21",结果是什么?可以是22211,也可以是21221,有时候应用的场景不同,就会希望得到不同的结果,所以这两种答案都做了实现,代码如下:#include <string> #include <...
2020-07-01 16:00:00
1019
转载 MinHook库的使用 64位下,过滤LoadLibraryExW
MinHook库的使用 64位下,过滤LoadLibraryExW目录MinHook库的使用 x64 一丶简介 1.minHook库的下载以及安装. 二丶使用MinHook库,过滤LoadLibraryExW 2.1编写X64测试程序. 2.2使用MinHook库 2.3完整HOOK代码 https://www.cnblogs.com/iBinary/p/10805200.html...
2020-06-25 16:55:39
261
转载 QImage,QPixmap加载照片图像,切记处理拍摄方向
现在数码相机拍摄图片都有拍摄方向,水平、垂直拍摄,拍摄后,图像内容会保存相应的信息,我们可以获取这些信息,对图像做展示,不然你会发现,一张图片,90度拍摄后,QImage加载会发生90度旋转,我测试如果不做处理,html5的image标签,python的CV2模块加载图片,都会发现图片方向被旋转90度。再Qt中 可以用如下方式来修正图像方向代码:QImageReader reader(path);reader.setAutoTransform(true);const QImage newImag
2020-05-30 19:26:25
915
原创 curl xp系统报“无法定位程序输入点 InitializeCriticalSectionEx 于动态链接库 Kernel32.dll”解决办法
出现这个问题主要是因为libcurl.dll不兼容xp系统,不要改变工程的编译配置项,源码默认是不支持的,现记录修改如下:主要原因是win10+vs2013编译默认是不支持xp的,这时用depends.exe查看发现还是libcurl.dll调用这个函数,搜了一圈大多数都是libcurl在xp上使用遇到无法定位程序输入点GETTICKCOUNT64问题,个人感觉应该属于同一个问题,网上多数都是...
2020-01-22 10:02:50
10908
原创 Visual Studio 2012调试时看不到变量的值
Visual Studio 2012调试时看不到变量的值情况一:Visual Studio 2012调试时看不到QString字符串的值,仅显示第一个字符的ASCII码,很不方便。而在2008版本中可以正常显示,很奇怪。其实稍作设置就可以了,如下图,在“Tool->Option->Debuggin->Edit and Continue”中勾选“Enable nativ...
2020-01-10 10:41:53
1344
1
原创 git 冲突处理并提交
解决方案一(强制覆盖本地代码,你自己修改的代码即将被远程库的代码所覆盖)把你修改的代码进行备份,然后执行命令:git reset --hard origin/master git pull 从你备份好的文件当中把你写的代码拿过去,修改完成再进行git push解决方案二(合并远程库和你本地的代码)执行命令:git fetch 更新远程仓库文件 git diff master o...
2019-12-26 18:39:58
309
原创 Debug Assertion Failed! Expression: _pFirstBlock == pHead解决方案
问题:我这里雨大这个问题是因为我在一个dll A调用另一个dll B里面导出的函数,期中在dll A声明了一个vector容器作为 dll B函数的引用参数,在B中获取数据放入到容器中,这里如果A中没有reserve() 足够的空间,直接在B中塞数据,最终会因为数据释放问题报该错误。比较好的解决办法:在容器传入之前先获取到B中数据多少,然后在A中对容器设置预留空间大小(调用reserv...
2019-12-12 15:15:16
342
转载 教你不重装系统“更改系统引导分区盘符”轻松搞定!
以下是引用片段:有朋友问我如何能在不重装系统的情况下修改系统分区盘符呢(系统引导分区,即C盘)?他的XP双系统的,有一次对分区表的操作导致第一分区C(启动分区)的盘符在D盘的XP里显示成了H(最后一个盘符),用Windows的磁盘管理没法改(提示不能修改启动分区的盘符)后来我用Regshot对改盘符的操作进行了监控,终于发现用下面这个简单方法就可以: HKEY_LOCAL_MACHINE\SYST...
2018-11-20 12:45:52
17718
2
转载 qt4.8.4安装以及64位程序编译方法
本文将使用简单的几个步骤说明在vc2008和64位的操作系统下如何编译安装x64Qt软件首先必须保证你所使用的系统是64bit的操作系统,本次我们使用的系统是windows7 professional 64位操作系统 一、下载及安装 1. 下载,直接找官网下载就可以了,我的是qt-win-opensource-4.8.4-vs2008.exe;安装到D:\qt\4.8.4目录下! 2. 设置环境变...
2018-04-11 09:10:33
4286
1
转载 vc2010中mfc/com菜单、控件等汉字显示为问号或乱码的解决方法
http://blog.163.com/pei_hua100/blog/static/805697592012320113140661/
2017-12-21 10:03:35
2962
转载 sqlite 怎么开启wal机制
sqlite 怎么开启wal机制?LOG_EXEC_SQL_ERR(query, "PRAGMA journal_mode=WAL"); // 开启多线程并发模式;
2017-06-23 17:06:09
12409
2
转载 qt获取文件—超大图标
最近做一个程序,想从EXE,DLL或者其他什么的文件中提取 图标。从网上搜集了一下资料发现只能够提取到 比较小的图标,小图标为 16x16,大图标为32x32,这远远满足不了需求,下面是一般做法: QString filePath; QFileInfo fileInfo(filePath); QFileIconProvider fileIcon();
2017-05-10 11:54:08
799
原创 android工程封装成SDK
主要分6步:一, 把你要封装jar包的工程先设置为库文件(Is Library);二、最关键的一步,Clean一次项目!!!三、使用Eclipse的Export功能,将项目src目录下的源码(注仅仅是src目录下的源码,如果需要还可以加上assets目录,其它资源我们将以库项目的形式提供给用户)导出Jar包,并把该jar包放到原工程的libs目录下,刷新。 四、删除
2017-03-31 16:54:30
1879
原创 android接入华为推送注意点
由于公司产品有及时聊天功能,因此对信息达到及时性要求比较高,因此安排我处理部分android手机在app不运行情况下的信息推送。下面分别介绍华为推送和小米推送接入。 一、华为推送接入之前,我先研究了华为推送的demo,目前华为推送官网是HMS,这个推送里面集成了很多平台功能,而Push只是其中一个功能。如果你只是需要接入push功能,个人不建议用HMS,因为HMS对系统权限要求
2017-03-24 16:58:04
10497
7
转载 Qt源代码使用Vs2013中VC编译器编译的流程
这应该算是我的第一篇博客,之前一直没有写博客的习惯。直到最近几天,看到一篇文章分析写博客对于程序员的技术提升的作用以及自己在这段时间的学习中总是不得其法的原因,故而下定决心,开始以博客的方式记录自己的点滴学习过程,同时也给自己一个反思的时间,用来将知识反复咀嚼,以达到正真意义上的掌握。 这一篇文章主要记述的是我这段时间在学习C++开源框剪Qt的过程中,碰到的一个最首要的问题——如何用VC编译
2017-01-06 16:17:12
1536
转载 SHELLEXECUTEINFO 和 ShellExecuteEx的使用
SHELLEXECUTEINFO 和 ShellExecuteEx的使用 第一篇 SHELLEXECUTEINFO 和 ShellExecuteEx的使用 使用SHELLEXECUTEINFO和ShellExecuteEx,我也主要是在cab包的安装时使用的。基本上是这样使用的,如下: SHELLEXECUTEINFO ShellIn
2016-09-21 16:18:29
966
转载 Log4.properties配置详解
一、Log4j简介 Log4j有三个主要的组件:Loggers(记录器),Appenders (输出源)和Layouts(布局)。这里可简单理解为日志类别,日志要输出的地方和日志以何种形式输出。综合使用这三个组件可以轻松地记录信息的类型和级别,并可以在运行时控制日志输出的样式和位置。 1、Loggers Loggers组件在此系统中被分为五个级别:DEBUG、INFO、WA
2016-03-07 10:24:38
325
原创 动态调用DLL函数有时正常,有时报Access violation的异常
__stdcall/__cdecal/__fastcall 定义导出函数的重要性
2015-06-24 19:51:56
3023
1
原创 WIN7与虚拟机MAC共享文件
1. 打开虚拟机中MAC系统的“系统偏好设置”, 选择“共享”, 选择“文件共享“;2.在右侧的”选项“中,选择”使用SMB(windows)共享文件,文件夹“, 输入账号密码,点击”完成“;3.针对设置的文件夹,选择”添加“;4.选择”系统偏好设置“里面的”网络“,查看MAC系统的IP;5.返回到windows系统再地址栏输入MAC的IP,及账号密
2015-03-30 10:41:05
667
原创 关于“构造函数不能有返回类型”的解决办法
好久都没搞c++,写个c++类报“构造函数不能有返回类型”,在MSDN上找了半天都没有解决问题!太郁闷了。谷歌一下,才找到原因:原来是我定义的类后面没有用“;”结尾,构造函数默认把整个类作为返回值了
2014-03-04 16:59:49
882
转载 WCHAR我不再惧怕了
http://www.cppblog.com/shongbee2/archive/2009/04/28/81349.html宽字符已经困扰我很久了,以前我都是设置项目的属性把它改为多字节,不用UNICODE。不过现在又遇到宽字节的问题,没有办法,只有硬着头皮学学:我找到的资料:http://hi.baidu.com/shongbee2/blog/item/207925546b6
2013-03-21 20:11:38
507
原创 线程同步的方法
临界区(Critical section)与互斥体(Mutex)的区别1、临界区只能用于对象在同一进程里线程间的互斥访问;互斥体可以用于对象进程间或线程间的互斥访问。2、临界区是非内核对象,只在用户态进行锁操作,速度快;互斥体是内核对象,在核心态进行锁操作,速度慢。3、临界区和互斥体在Windows平台都下可用;Linux下只有互斥体可用。相关的获取和退出函数都要配
2013-03-18 14:36:52
465
原创 python实现的简单用户注册登录系统
users = {}def register(): while True: user = input('name: ') if user in users: print('name is exit') continue else: pwd = i
2013-03-14 19:44:08
5087
原创 python之插入排序
print("insert algorithm ...")def insert(lst): num = len(lst) for i in range(1, num, 1): t = lst[i] for j in range(i-1, -1, -1): if t lst[j+
2013-03-13 20:26:42
449
原创 python写的冒泡排序
python脚本语言确实简直易懂,非常有趣直接上代码:1)print("Pop algorithm...")def sortt(lst): num = len(lst) for i in range(0, num, 1): for j in range(i, num, 1): if lst[i] > lst[j]:
2013-03-13 17:37:48
773
原创 MFC自定义消息四步骤
<br />1、定义消息变量<br />2、添加消息映射<br />3、添加消息处理函数<br />4、实现消息处理函数<br /><br />以Socket的Accept例:<br />1、定义消息变量(在stdafx.h里)<br />#define WM_USER_ACCEPT WM_USER+101<br /><br />2、添加消息映射<br />BEGIN_MESSAGE_MAP(CSocketView, CDialog)<br /> //{{AFX_MSG_MAP(CSock
2011-03-29 14:42:00
398
原创 简单WEB服务器源码
<br />#include <afx.h> //为了使用CFile 类:1、添加#include <afx.h>;2、工程中设置MFC的DLL<br />#include <stdio.h><br />#include <iostream.h><br />#include <winsock2.h><br />#include <sys/stat.h><br />#include <fstream.h> <br />#pragma comment(lib, "ws2_32")<br />/*********
2011-03-28 17:15:00
736
原创 Socket()与WSASocket()的区别
<br />socket() 创建一个通讯端点并返回一个套接口。但是在socket库中例程在应用于阻塞套接口时会阻塞。 <br /> WSASocket()的发送操作和接收操作都可以被重叠使用。接收函数可以被多次调用,发出接 <br /> 收缓冲区,准备接收到来的数据。发送函数也可以被多次调用,组成一个发送缓冲区队列。 <br /> 可是socket()却只能发过之后等待回消息才可做下一步操作!<br /> <br /> Header: Declared in Winsock2.h.<
2011-03-28 11:24:00
316
Qt 无边框窗口实现窗口阴影的两种方法
2023-02-14
DragFilterTest.rar
2020-04-02
TextHighLight.rar
2020-03-23
DateSelect.rar
2020-03-23
资源包含了基于curl-7.67.0版本编译的debug和release兼容xp的curl.exe,libcurl.dll,libcurl.lib文件
2020-01-22
windows系统大图获取(兼容从xp到最新win10)
2017-05-10
QT生成二维码及测试工程;
2015-01-19
QT 简单聊天程序
2013-03-08
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人