- 博客(39)
- 收藏
- 关注
原创 在WIN7下特定图片SystemParametersInfo失败,但是GetLastError()返回0
if (SystemParametersInfoA(SPI_SETDESKWALLPAPER, 0, "C:\\1.jpg", SPIF_UPDATEINIFILE | SPIF_SENDWININICHANGE)) { cout
2022-07-04 11:48:47 475 1
原创 JSONCPP解析带“玕”这个中文字符导致失败
这是因为因为“轩”用GBK表示是ab5c,而5c在ascii里面是斜杠\;这导致玕"被解析成了"x\"(X表示ab代表的字符);相当于结尾没有分号"
2022-05-12 17:56:00 529 2
原创 C++ dmp文件分析
程序崩溃后生成的dmp文件,将dmp文件和pdb文件还有exe文件拷贝到同一个目录(其中exe的名字必须和原始文件名一致,pdb文件名随意,只要和exe、dmp在一起即可),用vs打开文件dmp文件,不需要使用windbg(难用至极);再点击运行调试就会定位到崩溃行...
2021-08-13 16:00:21 1331
原创 ChildBox的xmlfile属性文件被多次加载
程序跑的时候发现有部分控件被重复创建,导致异常。检查发现源头是ChildBox把xmlfile设置的文件内容加载了两次,xmlfile是在ChildBox::Init的时候被加载的,Init被多次调用;重载下ChildBox,加个控制开关,Init只初始化一次,其他退出初始化即可...
2021-07-19 17:00:52 144
原创 云信DUILIB cefcontrol升级CEF 90,cefctrol控件启动时候隐藏导致崩溃处理
在xml配置文件中配置一个cefcontrol控件,发现默认如果是隐藏的话会导致崩溃,崩溃在libcef.dll动态库中,配置PDB文件后发现是崩溃在render_widget_host_view_osr.cc文件远啦
2021-06-18 14:55:30 607
原创 云信DUILIB(nim_duilib)窗口shadowattached=“false“会导致RichEdit穿透(4)
别人也碰到过类似的问题云信 duilib 踩坑填坑--点点滴滴
2021-05-31 08:57:56 342
原创 云信DUILIB(nim_duilib)窗口shadowattached=“false“会导致RichEdit穿透(2)
既然是shadowattached导致的,那我们就查,shadowattached对绘制有啥影响
2021-05-28 18:03:14 461
原创 云信DUILIB(nim_duilib)窗口shadowattached=“false“会导致RichEdit穿透
在编程使用的RichEdit,发现不管怎么试,当输入文字的之后,绘制就会出现混乱;测试发现是RichEdit背景透明导致的,除了文字区域外鼠标事件都能穿透过去。反复测试后发现是window属性设置去掉yinshadowattached="false"...
2021-05-28 16:40:38 580 1
原创 VS导出.pro工程用QTCreator编译xx.ui文件不编译
背景:VS导出.pro工程用QTCreator编译报错为找不到ui_xx.h文件,原因是xx.ui文件没有被mic.exe编译。先说结论:在导出的.pro文件或.pri添加上一行 greaterThan(QT_MAJOR_VERSION, 4): QT += widgets 即可以下是解决过程:对比刚学的视频教程发现VS工程中,没有Generated Files文件夹。以下内...
2020-03-20 17:51:46 1010 5
原创 关于BITMAP位图选入DC
看到一段代码,内容是: //获取窗口DC HDC hdc = GetDC(hWnd); //获取窗口的客户区区域 RECT rect; GetClientRect(hWnd, &rect); //获取当前窗口的位图 HDC hMemDC = CreateCompatibleDC(hdc); HBITMAP hBitmapSrc; hBitmapSrc = CreateC
2014-02-08 22:25:45 6275
原创 清除任务栏右下角无效图标
进程异常退出时,右下角会残留无效图标,只有鼠标移动上去的时候才会消失。在网上,找了一些方法。1.Shell_NotifyIcon 行不通。2.个人觉得模拟鼠标点击的方法不太靠谱,莫名其妙鼠标指针跑过去了。3.最后综合网上几种方法,下面这个模拟发送鼠标移动的方法还是挺靠谱的,但是找找准窗口发消息。HWND GetSysTrayWnd(){ HWND hwnd ; hwnd
2013-11-15 13:59:28 2566
原创 InvokeHelper调用引发异常
代码原来的实现是try{InvokeHelper(...)}catch(...){GetLastError();}好吧,引发了异常,但是GetLastError()永远为零。状况了,网上又找不到相关资料。知道自己一步一步地从InvokeHelper跟踪进去。发现里面有这样的代码COleDispatchException* pExcepti
2013-06-08 11:36:40 6160
原创 宏CONTAINING_RECORD的计算解析
// 宏CONTAINING_RECORD的计算解析// 宏CONTAINING_RECORD的作用是根据结构体中的某成员的指针来推算出该结构体的指针!#include "stdafx.h"#include #include using namespace std;#define CONTAINING_RECORD(address, type, field) ((t
2013-05-23 11:45:04 3021
原创 数组、模板、引用(C++ primer)
C++ primer的模板一章由于水平有限,之前看了两遍C++ primer都是到这里中断。最近学习Effective C++,从Item 43开始讲解模板的一些技巧,因为之前都是从网上查找的一丁半点的关于模板的介绍,都没从书里正儿八经的去看,不意外的,卡住了。看来先要打牢下基础,继续翻看C++ primer, 看到16.15的非类型模板形参的时候,发现模板竟然可以这么用,太神奇了(⊙﹏⊙
2013-04-21 18:33:14 1189
转载 如何将当前窗口带到带到最顶层,并设置为活动窗口
// 这段代码将当前窗口带到带到最顶层,并设置为活动窗口 HWND hForegdWnd = ::GetForegroundWindow(); DWORD dwCurID = ::GetCurrentThreadId(); DWORD dwForeID = ::GetWindowThreadProcessId(hForegdWnd, NULL); ::AttachT
2012-12-21 15:16:40 8451
转载 Windows编程中UNICODE和_UNICODE定义问题
转载自:http://www.cnblogs.com/CCBB/archive/2010/12/06/1897910.html我初学Windows SDK编程时也碰到过这个问题,相信很多初学Windows编程的人也都碰到过,后来慢慢搞明白些了,但有时别人问到自己也说不太 清楚。今天借此机会,我也好好整理一下自已的思路,用下面这篇文章详细点地解释下这个问题,希望能帮助到有此疑问的朋友。U
2012-10-20 00:58:06 1066
转载 VS2008 Activx工程 EDIT控件如何关联Optional property name
http://social.msdn.microsoft.com/Forums/en-US/vcgeneral/thread/958fa703-b200-4df9-b2ee-a57674e6cb99http://msdn.microsoft.com/en-us/library/8fb847t6.aspx简单的说,就是VC6中的Optional property name在2008中
2012-10-18 16:00:34 952
原创 UINCODE环境下编写剪贴板程序代码
void CClipboardDlg::OnBnClickedBtnSend(){ // TODO: 在此添加控件通知处理程序代码 CString strSource; if(OpenClipboard()) //打开剪贴板 { HGLOBAL hGlobal; LPTSTR pBuffer; EmptyClipboard();
2012-10-12 17:56:10 1135
转载 stl中vector,list,deque的使用准则
在stl中提供了vector, list,deque几种可当作列表使用的数据结构,他们都是动态增长的,在这三者之中选择的准则主要是关注插入特性以及对元素的后续访问要求。vector表示一段连续的内存区域每个元素被顺序存储在这段内存中。对vector 的随机访问效率很高 。但是在任意位置而不是在vector 末尾插人元素则效率很低,因为它需要把待插入元素右边的每个元素都拷贝一遍。类似地删
2012-09-08 21:05:39 820
转载 到底怎么样才叫看书?——下篇
目录1、再提笔记2、我是怎么泡图书馆的3、大学课程之授课方法 1、再提笔记 对于《到底怎么样才叫看书——上篇》中所提到的内容,得到了各位博友们的普遍认同我感到很高兴,说实话,从小到大我也就认真作过那几次笔记,但是却都印象深刻,并且对以后的影响也很深远,在走了很多的弯路以后,渐渐才发现这其中的道理来。 正所谓“学而不思则惘”,学的目的当然不是形式上好看,当
2012-08-26 11:27:39 954
转载 到底怎么样才叫看书?——上篇
http://www.cnblogs.com/ytaozhao/archive/2012/07/31/2616998.html目录:一、引入二、经历了就能理解三、读书要分级四、只读经典五、别吝惜你动笔的那点时间 一、引入 看到这个题目的时候你可能会感到有点好笑:“这还用问,看书就是把书看了一遍呗..” 没错,我们从小到大就是这样想的
2012-08-26 11:13:06 2444 1
原创 Linux下编译C程序出现错误:“ stray ‘\302' in program”的解决。
很简单的一个程序#include int main(int argc, char* argv[]){ printf("Hello!"); return 0;}编译却出现“ stray ‘\302' in program”的错误。网上查了下,原来是全角字符的问题。但是问题是我没有安装中文输入法啊。但是,乌邦图的Linux默认安装的键盘是国际版的,所以会有全角。修改一下
2012-08-18 22:15:13 40394 2
原创 解决WIN7编译出的程序无法连接其他数据库的问题。
情况:五台电脑。四台WIN7,一台XP。其中两台WIN7安装SQL SERVER2008刚开始编辑程序的时候是在装有两台SQL SERVER2008的机器里测试,没有问题,在那台没有装SQL SERVER 2008的机器里无法连接数据库,在连接字符串里加入Persist Security Info=False;解决。但是,在剩下的最后一台WIN7电脑和XP电脑上怎么也连接不上数据库。后
2012-08-09 20:54:00 2610
转载 SQL Server 2008的外围应用配置器到哪里去了
在SQL Server 外围应用配置器中启用 OpenRowSet 和 OpenDataSource函数执行SQL语句:SELECT * INTO SQL SERVER中的新表 FROM OPENROWSET( 'Microsoft.Jet.OLEDB.4.0', 'mdb文件全路径';'admin'; '', MDB文件中的某一个表名),可在SQL中导入一个MDB中的表S
2012-07-03 09:11:06 11946
原创 让DOS显示中文
开始学习MFC深入浅出,需要向console程序传递参数,所以需要在DOS下运行程序。可是发现程序printf出来的中文会乱码?网上查了下是代码页问题,查看一下,果不其然。显示是美国的代码页。那么如何改变他的代码页为中文的呢?引用自百度:http://zhidao.baidu.com/question/385986394.html输入命令“chcp 936”//
2012-06-14 10:58:06 3497
原创 汇编学习之路(二)标号后定义数据产生错误
当我用db定义数据的时候会提示语法错误,但是db另起一行的时候,就不会,换成dw也一样,为啥,弄了很久,还是不明白?assume cs:codecode segment s: db 0 ;提示语法错误 code endsend sassume cs:codecode segment s: db 0 ;无错误code
2012-06-01 20:32:51 1232 2
原创 汇编学习之路(一)当bp大于sp的时候,bp所指向的值无法修改
;名称:divdw;功能:进行不会产生溢出的除法运算,被除数为dword型,除数word型,结果为dword型。;参数:(ax)=dword型数据的低16位; (dx)=dword型数据的高16位; (cx)=除数;返回:(dx)=结果的高16位,(ax)=结果的低16位; (cx)=余数;公式:X/N = int(H/N)*65536+[rem(H/N)*6553
2012-06-01 20:28:28 1362
原创 MFC学习之路(八) 关于多态
#include using namespace std;class Parent{public: Parent() { } ~Parent() { } void fun() { print(); } virtual void print() { cout << "parent" << endl; }};class Sun : public Pare
2012-05-14 11:20:59 1267
转载 (他山之石)MFC学习之路(四)MultiByteToWideChar和WideCharToMultiByte用法详解
转自墨雨博客:http://blog.csdn.net/norains/article/details/1461174//========================================================================//TITLE:// MultiByteToWideChar和WideCharToMultiByte用法详解//
2012-05-14 09:42:58 1492
转载 (他山之石)MFC学习之路(三)关于编译【windows核心编程】01-ShowError 源代码出错 ,解决方法!
关于编译【windows核心编程】01-ShowError 源代码出错 ,解决方法! ------ 已启动生成: 项目: 01-ErrorShow, 配置: Debug Win32 ------ 正在编译... ErrorShow.cpp c:\program files\msvc8\vc\platformsdk\include\prsht.h(531) :
2012-05-12 23:33:54 2063
原创 MFC学习之路(七)实现多文档的单文档多视图
新建一个多文档应用程序假设名字为123新建一个MFC类,派生于CView,命名为CViewTest然后重载一个虚拟函数void CViewTest::OnInitialUpdate(){CView::OnInitialUpdate();// TODO: 在此添加专用代码和/或调用基类GetParent()->SetWindowText(_T("测试视
2012-05-11 09:50:33 4603
转载 (他山之石)MFC学习之路(二)如何在多文档视图中,程序一开始运行,只出现主框架,不打开一个文档?
转自:http://www.cnblogs.com/Sunwayking/articles/1613566.htmlExample BOOL CMyWinApp::InitInstance() { ... // Parse command line for standard shell comman
2012-05-11 09:49:06 1532
原创 MFC学习之路(六)在DoModal()之前态设置对话框窗口标题
在DoModal()之前态设置对话框窗口标题 有一个对话框变量CDlgTest dlg; 我们要根据运行时的内容动态设置窗口标题。 那么,像下面这样做,可以吗? dlg.SetWindowText(_T("你想设置的标题")); dlg.DoModal(); 显然不行,因为SetWindowText的时候对话框没有建立,对话框句柄不存在。
2012-05-05 19:39:42 9811 2
转载 (他山之石)MFC学习之路(一)VC MFC程序,在About对话框中获取并显示程序的版本号
VC MFC程序,在About对话框中获取并显示程序的版本号=================================================本文为HeYuanHui原作转载必须确保本文完整并完整保留原作者信息及本文原始链接!NN: khlerE-mail: khler@163.comQQ: 23381103MSN: p
2012-04-23 21:21:26 2002
原创 MFC学习之路(五)让人菊花一紧的错误
没去加班,从头翻看C++ primer,想把内容看一遍,练习题做一遍。怕有遗漏,哪怕是再简单的联系题也要做一遍。其中一个题目,分别用for循环和while循环打印出10 到 0之间的所有的自然数。(别说我蛋疼............)#include int main(int argc, char *argv[]){int i = 10;while(i >=
2012-04-19 21:52:51 1457
原创 MFC学习之路(四)不够细心,一个小问题蛋疼了一天
出问题的代码在这一段int pinCount = pATempl->m_PinCount; int* arrIndexCount =new int[pinCount]; ZeroMemory(arrIndexCount, pinCount); 测了很久才知道问题出在这里。一开始测试打印arrIndexCount里面的数值,发现都是些未定义的值。想不明白啊,网上说ZeroMe
2012-04-16 21:28:29 1173
原创 MFC学习之路(三)CPropertyPage调用UpdateData()的时候崩溃
在CPropertySheet的派生类里面有两个CPropertyPage变量分别为prop1和prop2。class CPropD::CPropertySheet{ CPropertyPage prop1; CPropertyPage prop2;}我想使用prop1和prop2里面的值控件值变量,当然,要先更新prop1.UpdateData;prop2
2012-04-12 08:55:46 2320
原创 MFC学习之路(二)CListBox派生类的WM_NOTIFY消息
有一个CListBox派生类。CLBDrived然后在一个假设为CDlg的类里面定义了一个变量CLBDrived m_lbd,然后调用Create()函数,假设定义其ID为IDLBD,并且已添加LBS_NOTIFY风格。然后我们要获取m_lbd里面的双击消息。发现通过添加ON_LBN_DBLCLK(LDLBD, &CDlg::OnLbnDblclkLBDrived)宏,无法捕获双击消息
2012-04-11 21:37:27 1401
原创 MFC学习之路(一)CPropertySheet建立多属性页对话框的时候无法显示对话框
CPropertySheet简历多属性页对话框的时候无法显示对话框,发现调试输出窗口会打印:PropertySheet() failed: GetLastError returned 0网上查找不到相关资料。自己查看CPropertySheet的使用后发现原来是AddPage放错位置。AddPage函数不应该放在InitDialogBox里面,而应该放在构造函数里。而且要注意CProp
2012-04-10 20:17:15 1856
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人