自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

菊花怪的专栏

博客内容都是对我很有帮助的,感谢那些大神的无私奉献

  • 博客(61)
  • 资源 (6)
  • 问答 (1)
  • 收藏
  • 关注

原创 博主个人用的duilib版本

github:https://github.com/juhuaguai/duilibgitee

2021-06-09 11:43:44 817 1

原创 给EmEditor添加自定义外部工具DuilibPreviewer

2.左侧选择 显示,右侧就看到主题了,建议主题下拉框里直接选择MinimalZen,挺省事的,想要自己折腾配色方案的,自己去根据下边的条目一点一点设置就行了。duilib是一款xml描述UI布局的优秀的c++开源界面库,为了方便开发布局UI,有网友制作了预览工具DuilibPreviewer,源码链接。3.点 按下新的快捷键 下发的编辑框,按下你想用的快捷键,比如ALT+F10,编辑框出现你按下的快捷之后,点分配。4.看到快捷键到 当前键 下边的框里,然后点确定,就设置好了,可以自己按快捷键试试。

2023-11-20 11:23:43 267

原创 记录win10安装visualAssistX无反应的一种情况

解决办法:强制结束安装进程,关闭vs2008,右键文件属性,然后兼容性标签页,选择以兼容模式运行这个程序,兼容性选win7就行。应用-确定,再次双击运行就正常显示安装界面了。找了个va_X_2366的安装包,运行后没反应,界面不出来,还以为闪退了,查看任务管理器发现有进程在,只是内存占用48K后没动静了。项目原因,要用vs2008,没有VA_X写起代码来太难用了。

2023-07-28 09:32:46 1308 4

转载 zip协议规范文档

今天想找下zip协议规范文档,搜索引擎搜了半天啥也不是。

2023-05-08 11:32:03 2141

原创 c/c++使用ffmepg库获取视频信息(宽高时长等)

备忘一个使用ffmepg获取视频的宽高时长等信息的代码,是使用ffmepg的api不是通过exe命令行的方式。至于用的ffmepg库和头文件等,我传github和CSDN各一份。

2023-05-08 11:21:03 904

原创 vc++保存和另存为对话框,打开文件对话框

windows系统常见的打开文件,保存文件,保存目录时用到的弹出窗口代码。

2023-03-02 15:51:02 705

原创 duilib的richedit中嵌入超链接

duilib里面,给richedit控件添加超链并处理点击响应的演示。

2023-02-06 10:49:00 724

原创 c/c++代码获取网络时间(从NTP授时服务器获取)

有时候需要获取网络时间,有没有自己的服务器去返回,那么可以考虑从NTP授时服务器获取,windows的同步网络时间就是从NTP授时服务器获取的。代码比较粗糙,比如没有加winsock2.h等头文件,比如没有WSACleanup()等,NTP授时服务器协议采用UDP,端口一般为123,下面给出从github上整理的代码,代码我是在win下面跑的,一切正常。linux和unix下,稍微改改也可以跑。,授时服务器地址选用的是阿里云的公共NTP服务器。

2022-08-20 09:50:03 4476

原创 win11上读取操作系统名称

操作系统的名称可以从注册表中读取。查找这个信息的思路是先运行msinfo32命令,或者直接运行C:\Windows\System32\msinfo32.exe,就能查看系统信息了,然后找到自己想要的读取的信息,运行regedit打开注册表,在注册表里面搜索对应的信息,可以多搜几处,选取比较合理的位置来读取。其他比如系统名称,系统型号,系统sku,都是可以找到它们的...

2022-06-16 15:47:00 1477

转载 Edge 无法翻译此页面

之前用edge还不错,尤其是翻译功能,还有pdf,甚至朗读功能,都非常强。插件商店也好用。最近突然翻译不能用了,一直都是无法翻译此页面,那么自己手动选个单词去翻译,也是一样翻译失败,请重试。终于在某乎找到大佬的解决办法了,22-03-018 目前为止亲测可用。IP地址已更新。原链接里面的IP地址不能用的,请使用本文中的IP地址。如何解决Edge浏览器无法翻译及下载/同步扩展问题https://zhuanlan.zhihu.com/p/457789773下面直接把解决办法也转过来,给不想跳转的同学用。

2022-03-03 11:26:29 17754 12

转载 windows应用商店或者其他微软应用打不开的修复办法

最近突然发现微软自带的那个便笺打不开了,想在应用商店里面重装一下,又发现windows store也变成灰色的,并且有个小叹号,打不开了。右键这个store,设置里面重置也没用。最后在某乎上面看了个回答,照着试了试,发现可以了。这里把步骤记录下,用作备忘,有类似问题的也可以试试。1.打开Windows Powershell,记得右键用管理员权限打开。2.输入 get-appxpackage *store* | remove-Appxpackage,然后回车执行。3.执行完后,手动重启系统。4

2022-01-17 09:58:26 3547

原创 duilib 动态多语言支持

最近又有朋友问我duilib多语言的支持,干脆做个demo,顺便简单写个介绍,大家仅供参考,有更好的方案页欢迎交流。demo地址:https://github.com/juhuaguai/duilib/tree/master/MultiLanguagDemo上图是demo的效果,不用重启应用程序,直接切换,界面直接就更新了。原理就是依赖于duilib里PaintManager里面的多语言接口。核心是%{i},i是整型,可以认为是ID。1.设置控件的文本内容为%{0};2.通过CPa.

2021-12-29 17:34:34 905

原创 获取CPU型号和序列号

主要参考文章:关于CPU序列号的问题,以及如何获取×64下CPU的ProcessorID_fudong071234的博客-CSDN博客前几天经过查资料,得到网络上获取CPU序列号的方法是错误的,首先我找到了一篇论文,这篇论文里面是这么说的:这篇论文是错误的。这篇是错误的这篇是错误的!!!!!!!!!2、CPU序列号CPU序列号是一个建立在处理器内部的、唯一的、不能被修改的编号。它由96位数字组成。高32位是CPUID,用来识别CPU类型。低64位每个处理器都不同,唯一地代表了该处理器。CPU号可以用来识别h

2021-09-24 16:14:58 3875

原创 服务进程里面去创建带窗口的进程(备忘)

DWORD WINAPI GetActiveSessionId(){ HMODULE hInstKernel32 = LoadLibrary (L"Kernel32.dll" ); if (!hInstKernel32 ) { return 0; } HMODULE hInstWtsapi32 = LoadLibrary (L"Wtsapi32.dll" ); if (!hInstWtsapi32) { return 0; } typedef DWORD (WINAPI *..

2021-09-17 17:40:54 262

原创 再谈duilib控件自绘

之前写过一篇duilib自绘,其中主要介绍了PostPaint。这个由于机制原因,会导致一直绘制在本窗体最上层(当然还是比子窗口级别低的),这样有时候切换tab页之类的,会出现自绘的东西还在,不能完美跟随控件。下面重新介绍下duilib的绘制流程。先介绍Paint,DoPaint,PaintBkcolor,PaintBkImage,PaintStatusImage,PaintText,PaintBorder,DoPostPaint 这些paint函数的大致作用以及调用的时机。Paint函数是源头,从

2021-09-10 16:59:13 1355

原创 github使用Personal access tokens的方法

已经2021年9月份了,不知道还有朋友遇到这个问题没。最近再次向github提交代码,突然提示:Support for password authentication was removed on August 13, 2021. Please use a personal access token instead.大致意思就是2012.08.13之后,输入账号密码的方式来向github仓库提交代码等行为不再被支持。请使用personal access token方式来替代。具体操作方法:0.直

2021-09-06 11:19:05 5340 1

原创 win10系统关机再开机与重启,某些服务表现不同的一个原因

之前同事分析过LSP插件重置命令,再某些机器上执行之后,关机再开机,LSP插件仍然没有被清理,被某些系统组件加载。重启却能正常被清理。 找了下原因,发现是win8之后的新特性:快速启动。最近群里又有大佬遇到服务关机再开机不启动,选择重启却一些正常。最后发现仍然是:快速启动这个导致的。下面简单介绍下快速启动,内容来之网络(大部分来自知乎https://zhuanlan.zhihu.com/p/45590515,若侵,私我删)。快速启动原理和休眠类似,但是所有用户进程(比如你开的记事本,浏览器之.

2021-03-25 14:30:03 1043

原创 GDI+缩放拉伸旋转图片时出现黑边黑框等问题

之前用GDI+做图片旋转,发现图片旋转后会漂移,偏离原中心位置几个像素。后来发现用GDI+的InterpolationModeHighQualityBicubic高质量模式去缩放或者拉伸图片时,可能会出现边缘少几个像素或者黑边问题。解决方法:Gdiplus::Bitmap dstBmp(nCW, nCH);Gdiplus::Graphics gdip(&dstBmp);gdip.SetInterpolationMode(Gdiplus::InterpolationModeHigh

2021-03-02 19:22:26 1138 1

原创 Gdiplus::Bitmap转HBITMAP与HBITMAP转Gdiplus::Bitmap

虽然已经有很多文章介绍两者互转了,但是实际使用过程中,仍然可能遇到问题。这里再提取一下过程及核心代码。Gdiplus::Bitmap转HBITMAP,直接上代码 LPBYTE pBmpBits = NULL; BITMAPINFO bimpi = {0}; bimpi.bmiHeader.biSize = sizeof(BITMAPINFOHEADER); bimpi.bmiHeader.biWidth = nCW; bimpi.bmiHeader.biHeight = -nCH;

2021-03-02 19:11:25 1657

原创 duilib里面隐含的一个可能递归的bug

duilib的容器的滚动条是根据子控件来判断是否展示的。如果父控件可以根据情况在SetPos里面动态调整子控件的大小,在这个条件下,存在这样一种情况:1.滚动条一开始不展示。2.容器控件SetPos里面自动计算出子控件需要展示滚动条,ProcessScrollBar里面展示了滚动条并重新调用SetPos来重新计算子控件位置。3.滚动条展示后,SetPos里面重新调整了子控件的大小,计算了滚动范围等,ProcessScrollBar里面发现新的子控件大小算出来的范围又不需要滚动条了,于是不展示滚动

2021-02-25 19:44:18 151

原创 HEAP CORRUPTION DETECTED 内存错误的一个原因

今天写demo代码的时候,忽然free释放时候的报错。错误内容大致是:HEAP CORRUPTION DETECTED: after Normal block (#577) at 0x02F01BA0.CRT detected that the application wrote to memory after end of heap buffer.示例代码大概是这样wchar_t* ptr = (wchar_t*)malloc(8*sizeof(wchar_t));wcscpy(ptr,

2021-02-25 19:28:39 521

原创 duilib支持apng,gif支持文字、背景、图片的file/source/dest/xtiled/ytiled/mask等

duilib官方库提供了个gif控件,用的是gdi+解析和绘制的,同时没有接入duilib控件本身的背景色,文本等绘制,包括图片的source/dest/xtiled/ytiled/mask等属性也都没有做支持。可以满足基本的使用需求。我需要一些效果比较好的动态图来做展示,gif显然不行,另外的动图就是webP和Apng,最决定先支持apng,webP后续有需求的话,再研究支持。源码仓库地址:https://github.com/juhuaguai/duilib其中关于gif和apng的改动

2020-12-31 16:41:26 622

原创 程序运行时提示This application failed to start because no Qt platform plugin could be initialized.

包含QT的程序,运行的时候可能会遇到This application failed to start because no Qt platform plugin could be initialized. Reinstalling the application may fix this problem.Reinstarlling...这个报错。大致意思就是qt平台插件初始化失败了。如图:解决办法:qt5的库里包含的有个plugins文件夹,点开之后里面是bearer、iconengines

2020-12-10 16:37:52 49833 21

原创 修改TTF文件或者otf文件或者woff文件内的字体名称

使用软件为FontCreator,我这里用的版本为12,官网为http://www.high-logic.com/,是收费软件,但是有pojie版。1.打开FontCreator,将ttf文件拖到FontCreator打开。2.菜单项选择Font=》Properties,打开Font Properties弹窗。3.在弹窗里面看到有几个子标签页,其中Identification标签页里面的 Font Family即为字体的英文名,自行修改成自己需要的值。4.在Custom标签页里面,可以看到.

2020-12-08 16:54:15 4499

原创 duilib直接加载HBITMAP作为背景图

很简单,利用CPaintManagerUI的方法即可。const TImageInfo* AddImage(LPCTSTR bitmap, HBITMAP hBitmap, int iWidth, int iHeight, bool bAlpha, bool bShared = false);该函数作用是添加位图到自己的资源里面参数说明:bitmap:图片名,类似于xxx.png等...

2020-03-04 18:05:08 1057

原创 AlphaBlend失败,错误码87

如题,写测试程序的时候遇到了AlphaBlend函数失败,使用getlasterror获取错误码是87。找错找了好久,下面记录下。1.源DC的位图不是32位的。源DC就是指该函数的第二个HDC,第一个是目标DC,这个在微软的BLENDFUNCTION结构体说明(见msdn)里有提到。排查起来也容易,利用BITMAP bmp;GetObject(hBitmap, sizeof(BIT...

2020-03-04 17:30:42 921

原创 git设置代理,win命令行设置代理

git设置代理,参考文章:https://blog.csdn.net/tanningzhong/article/details/52817399//socks5的代理设置如下:git config --global http.proxy 'socks5://127.0.0.1:1080'git config --global https.proxy 'socks5://127.0.0....

2019-12-30 10:01:07 983

转载 根据乱码分析编码错误原因

名称 示例 特点 产生原因 古文码 鐢辨湀瑕佸ソ濂藉涔犲ぉ澶╁悜涓? 大都为不认识的古文,并加杂日韩文 以GBK方式读取UTF-8编码的中文 口字码 ����Ҫ�¨²�ѧϰ������ ...

2019-08-21 14:42:15 12755

转载 (转载)VC的内存泄漏检查

原文链接:https://blog.csdn.net/psbeond/article/details/99546363日期: 2016-12-20参考:MSDN:ms-help://MS.MSDNQTR.v90.chs/dv_vsdebugnative/html/cf6dc7a6-cd12-4283-b1b6-ea53915f7ed1.htm通过在MSDN中输入:DEBUG_NEW,可...

2019-08-14 10:46:25 246

原创 不定义大量的消息宏实现事件与处理关联起来(避免写很多消息宏定义和消息映射)

标题也许不恰当,不必在意。本文主要是记录一种 消息(事件)==》消息响应(事件处理)的映射方式,避免使用大量的消息宏定义。对于传统的win32窗口、或者mfc窗口、或者duilib窗口等,常见的使用场景比如:工作线程执行某个函数处理=》处理完毕通知主线程(UI线程)=》主线程收到通知做出对应的处理在这个过程中,通知主线程通常使用PostMessage或者SendMessage等函数来发...

2019-07-31 16:30:14 327

原创 子窗体不会触发WM_LBUTTONDOWN,只会触发WM_LBUTTONUP消息的原因

这里感谢下https://blog.csdn.net/wyy1991990/article/details/19629831文章的作者,要不是这篇文章,我简直要怀疑人生了。子窗口无法响应WM_LBUTTONDOWN消息,但是响应WM_LBUTTONUP,原因是和父窗口处理WM_NCACTIVATE相关。下面是另外一篇文章的关于这个消息的说明,不确定是否准确当WM_NCACTIVAT...

2019-07-22 15:47:11 2530

原创 编译兼容xp系统的libcurl:MT编译+动态库

目标:编译出libcurl动态库,使用MT编译选择不依赖运行时库,能够在xp系统中调用,支持gzip和https编译的目标库和版本:brotli-1.0.7、c-ares-1.14.0、libssh2-1.9.0、nghttp2-1.39.1、openssl-1.1.1c、zlib-1.2.11、curl-7.65.1简单给出了各个库的编译流程和编译好的dll+libgithub仓库地...

2019-07-10 10:05:58 1351

原创 windows窗口取消贴屏幕上边自动最大化的方法

1.对于固定大小的窗口,直接取消掉WS_SIZEBOX属性即可。LONG styleValue = ::GetWindowLong(hWnd, GWL_STYLE);styleValue &= ~WS_SIZEBOX;::SetWindowLong(hWnd, GWL_STYLE, styleValue);这样有一个问题,就是对于可以拖拽边框自由调整窗口大小的需求,满足不了,...

2019-06-27 16:03:46 1598

原创 GDI+拉伸或者缩放图片并另存为

其实就绘制一个图片然后存为文件,同理也可以自己作画,然后保存为文件。直接上代码,这里只是另存为了png格式,如需另存为其他格式,请自行查询。void Saveimg(const wstring& strsrcImg,const wstring& strdstFile,const int& nDstX,const int& nDstY){ Bitmap ...

2019-06-25 18:42:48 1263

转载 获取固定到任务栏的快捷方式的图标

这是之前不知道从哪里找到的demo代码,是获取固定到任务栏的快捷方式的图标信息的。也就是将此程序锁定到任务栏后,通过下面的代码可以获取到锁定到任务栏的信息。相信也可以实现锁定到任务栏,我这里仅仅是搬运过来备忘。代码实测可以运行。#include <stdio.h>#include <stdlib.h>#include <locale.h>#inclu...

2019-06-24 10:44:22 1100

原创 关于编译报错 语法错误 : “L_TYPE_raw” 的一个原因

最近在将CSmtp类添加到个人工程中时,编译遇到了 语法错误 : “&lt;L_TYPE_raw&gt;” 报错。但是测试demo跑的好好的。看报错定位是其自带的MD5类中的头文件的中的一行成员函数代码。猜测是因为函数名是单个字母造成的,F,G,H,I等函数,遂修改为Ffunc,Gfunc,Hfunc,Ifunc。编译通过。...

2018-11-06 12:05:47 1076

原创 duilib窗体最小化与还原时会有小的windows原生标题栏在左上角闪现一下,并且没有动画效果的解决办法

标题略长,废话不多说,先描述下现象。当我们使用duilib开发窗体时,通过反复点击在任务栏的窗体图标来使窗体不断的最小化与还原,会发现原窗体位置左上角会有原生的windows的标题栏的东西闪过,虽然不明显,而且消失速度很快,但是反复测试仍然可以观察到。同时,原有的最小化到任务栏与还原是有一个过渡动画效果,最小化时会看到是变小收缩,还原时是看到逐渐扩大还原,这个效果也没有了。测试官方demo......

2018-11-01 15:09:23 1518

原创 关于uint8_t、uint_least8_t、uiuint_fast8_t等说明

 在vs2017的编译器里,可以直接识别int8_t、int16_t、int32_t、int64_t、uint8_t、uint16_t、uint32_t、uint64_tint_least8_t、int_least16_t、int_least32_t、int_least64_t、uint_least8_t、uint_least16_t、uint_least32_t、uint_least64...

2018-10-11 14:40:37 6679 2

原创 duilib资源加密

github的duilib官方仓库是不支持zip加密的资源文件的。通过修改替换相关的zip解压代码来实现支持。我搞了一份并且测试没有问题。至于说解压速度之类的影响,在github上我说可能有所降低,实际上应该是没什么影响的。觉着降低可能是我的错觉。github地址:https://github.com/juhuaguai/duilib 有兴趣的可以自行下载查看,代码改动量并不大。...

2018-08-09 10:06:02 800

原创 duilib将资源文件压缩成zip并打包到exe的资源中

本文参考了redrain大佬的http://blog.csdn.net/zhuhongshu/article/details/40146239文章。因为原文是基于WinImplBase类的,个人习惯基于CWindowWnd来做。因此额外摘抄一部分并微微调整一下代码,以作记录。整个程序的开发跟正常的 使用资源目录+xml+图片 这种方式流程一样。也可以先用这种方式来开发,方便开发调试。整个开发完成后...

2018-03-06 11:08:17 3534

sublime text3添加duilib预览插件.zip

自己亲测可以,里面包含sublime text 3的安装包和插件包,教程在博客中,可自行去我的博客中查找。

2020-02-18

VS2017-C++配色.vssettings

自用的VS2017C++配色方案,颜色主题是蓝(额外对比度)。上传备份自用。虽然比不上vax,但是比vs默认的要稍微强点。

2019-08-06

获取托盘图标信息的工具

只有1个exe,不包含代码!比较粗糙的一个mfc程序,点击按钮可以获取当前系统托盘里面图标的信息和对应的进程Pid。有一点要求就是要在【控制面板】-【所有控制面板项】-【通知区域通标】里面,左下角有个【始终在任务栏上显示所有的图标和通知】要勾选上。

2018-06-22

windows查看端口占用

是个批处理。在命令行窗口展示。可以根据输入的进程PID或者端口号来展示列表,比如输入了进程PID,将列出该PID所使用的所有端口;输入端口号,将列出使用该端口号的进程PID。就是简单的dos命令,只是写成了bat文件,方便使用。

2017-10-26

duilib中将TabLayout的子页面封装为container的Demo

这只是duilib中将TabLayout的子页面封装为container的Demo,其中子页面可以有自己的notify处理器。早期的代码,并不上很好,仅供参考吧。

2015-04-28

中文版的Learn_iphone_and_ipad_cocos2d_game_development

中文版《Learn_iphone_and_ipad_cocos2d_game_development》学习cocos2D的很好的资料

2013-11-05

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除