- 博客(44)
- 收藏
- 关注
原创 nim_duilib创建非离屏CEF控件遇到的问题
时,操作系统只会查找同线程的其他窗口,如果你的父窗口非同一个线程,那么操作系统处理消息循环时是找不到下一个处理消息的窗口的。6.通过SPY++,发现果然不在一个线程,顶层窗口是主线程,CEF的窗口是CEF的UI线程;,官方文档是写了:在同一线程当前由另一个窗口覆盖的窗口中(消息将发送到同一线程中的基础窗口,直到其中一个窗口返回不是。的代码),但感觉自己的代码都是在主线程跑的,CEF也是主线程,觉得不是这个问题。时,一定要保证你坐标所在的父子窗口在同一个线程!如果你一定要在父窗口非同一个线程时返回。
2025-03-04 16:28:53
265
原创 创建窗口始终置于窗口底部,并不被激活和带到前面
2.使用hWndShellDLL作为父窗口创建窗口的时候设置窗口风格WS_EX_NOACTIVATE(窗口创建之后调用SetWindowLong(hWnd, GWL_EXSTYLE, dwExStyle)去增加WS_EX_NOACTIVATE这种方式不行,因为窗口创建后显示已经调用了激活窗口)SWP_NOSIZE | SWP_NOMOVE | SWP_NOACTIVATE | SWP_SHOWWINDOW);3.调用函数SetWindowPos(hWnd, HWND_BOTTOM, 0, 0, 0, 0,
2024-12-31 11:50:54
141
原创 BUG排查,日志和代码对应不上
看日志打印了sz1和sz2,但是他们是相等的;怎么看代码都看不明白;难道是有不可见的字符串?不小心加了分号之类的?实际上我并没有写stricmp函数,看代码的时候,竟然脑补了stricmp函数进去,哈哈哈,真的是离谱。代码反复分析都不明白,最后想办法重现场景,调试代码,发现代码竟然是。
2024-12-04 10:14:18
135
原创 nim_duilib文字显示错乱
4.排查下是否程序设置了大字体模式导致,设置小、标准、大、最大都不行。3.恢复100%问题依旧存在,设置其他百分比无法解决。2.查看系统显示缩放了,设置的是175%1.文字如图所示,几个字重叠在一块了。5.怀疑字体问题,设置字体默认为宋体。7.程序默认字体为“微软雅黑”9.程序重启,问题解决。
2024-11-27 10:56:50
239
原创 Windows端影响网络请求多样性(简单记录)
8.判断是httpanalyzer改变的程序的出口,例如本来是A.exe的请求,抓包之后数据编程从httpanalyzer流出了。11.检查发现火绒的病毒扫描有Web扫描功能,对web扫描添加我们服务器网址白名单无效。6.发现安装了httpanalyzer之后超时很难重现或者基本不出现。1.客户返回我们的程序经常报错,检查发现是获取数据超时了。10.发现火绒,退出后,我们的程序不再发生获取数据超时。4.用正常的程序获取数据测试几次就会出现一次。9.判断可能有驱动程序会抓我们程序的包。
2024-11-26 14:33:22
129
原创 在WIN7下特定图片SystemParametersInfo失败,但是GetLastError()返回0
if (SystemParametersInfoA(SPI_SETDESKWALLPAPER, 0, "C:\\1.jpg", SPIF_UPDATEINIFILE | SPIF_SENDWININICHANGE)) { cout
2022-07-04 11:48:47
531
原创 JSONCPP解析带“玕”这个中文字符导致失败
这是因为因为“轩”用GBK表示是ab5c,而5c在ascii里面是斜杠\;这导致玕"被解析成了"x\"(X表示ab代表的字符);相当于结尾没有分号"
2022-05-12 17:56:00
593
2
原创 C++ dmp文件分析
程序崩溃后生成的dmp文件,将dmp文件和pdb文件还有exe文件拷贝到同一个目录(其中exe的名字必须和原始文件名一致,pdb文件名随意,只要和exe、dmp在一起即可),用vs打开文件dmp文件,不需要使用windbg(难用至极);再点击运行调试就会定位到崩溃行...
2021-08-13 16:00:21
1444
原创 ChildBox的xmlfile属性文件被多次加载
程序跑的时候发现有部分控件被重复创建,导致异常。检查发现源头是ChildBox把xmlfile设置的文件内容加载了两次,xmlfile是在ChildBox::Init的时候被加载的,Init被多次调用;重载下ChildBox,加个控制开关,Init只初始化一次,其他退出初始化即可...
2021-07-19 17:00:52
177
原创 云信DUILIB cefcontrol升级CEF 90,cefctrol控件启动时候隐藏导致崩溃处理
在xml配置文件中配置一个cefcontrol控件,发现默认如果是隐藏的话会导致崩溃,崩溃在libcef.dll动态库中,配置PDB文件后发现是崩溃在render_widget_host_view_osr.cc文件远啦
2021-06-18 14:55:30
672
原创 云信DUILIB(nim_duilib)窗口shadowattached=“false“会导致RichEdit穿透(4)
别人也碰到过类似的问题云信 duilib 踩坑填坑--点点滴滴
2021-05-31 08:57:56
381
原创 云信DUILIB(nim_duilib)窗口shadowattached=“false“会导致RichEdit穿透(2)
既然是shadowattached导致的,那我们就查,shadowattached对绘制有啥影响
2021-05-28 18:03:14
509
原创 云信DUILIB(nim_duilib)窗口shadowattached=“false“会导致RichEdit穿透
在编程使用的RichEdit,发现不管怎么试,当输入文字的之后,绘制就会出现混乱;测试发现是RichEdit背景透明导致的,除了文字区域外鼠标事件都能穿透过去。反复测试后发现是window属性设置去掉yinshadowattached="false"...
2021-05-28 16:40:38
641
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
1077
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
6342
原创 清除任务栏右下角无效图标
进程异常退出时,右下角会残留无效图标,只有鼠标移动上去的时候才会消失。在网上,找了一些方法。1.Shell_NotifyIcon 行不通。2.个人觉得模拟鼠标点击的方法不太靠谱,莫名其妙鼠标指针跑过去了。3.最后综合网上几种方法,下面这个模拟发送鼠标移动的方法还是挺靠谱的,但是找找准窗口发消息。HWND GetSysTrayWnd(){ HWND hwnd ; hwnd
2013-11-15 13:59:28
2649
原创 InvokeHelper调用引发异常
代码原来的实现是try{InvokeHelper(...)}catch(...){GetLastError();}好吧,引发了异常,但是GetLastError()永远为零。状况了,网上又找不到相关资料。知道自己一步一步地从InvokeHelper跟踪进去。发现里面有这样的代码COleDispatchException* pExcepti
2013-06-08 11:36:40
6204
原创 宏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
3044
原创 数组、模板、引用(C++ primer)
C++ primer的模板一章由于水平有限,之前看了两遍C++ primer都是到这里中断。最近学习Effective C++,从Item 43开始讲解模板的一些技巧,因为之前都是从网上查找的一丁半点的关于模板的介绍,都没从书里正儿八经的去看,不意外的,卡住了。看来先要打牢下基础,继续翻看C++ primer, 看到16.15的非类型模板形参的时候,发现模板竟然可以这么用,太神奇了(⊙﹏⊙
2013-04-21 18:33:14
1224
转载 如何将当前窗口带到带到最顶层,并设置为活动窗口
// 这段代码将当前窗口带到带到最顶层,并设置为活动窗口 HWND hForegdWnd = ::GetForegroundWindow(); DWORD dwCurID = ::GetCurrentThreadId(); DWORD dwForeID = ::GetWindowThreadProcessId(hForegdWnd, NULL); ::AttachT
2012-12-21 15:16:40
8535
转载 Windows编程中UNICODE和_UNICODE定义问题
转载自:http://www.cnblogs.com/CCBB/archive/2010/12/06/1897910.html我初学Windows SDK编程时也碰到过这个问题,相信很多初学Windows编程的人也都碰到过,后来慢慢搞明白些了,但有时别人问到自己也说不太 清楚。今天借此机会,我也好好整理一下自已的思路,用下面这篇文章详细点地解释下这个问题,希望能帮助到有此疑问的朋友。U
2012-10-20 00:58:06
1089
转载 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
969
原创 UINCODE环境下编写剪贴板程序代码
void CClipboardDlg::OnBnClickedBtnSend(){ // TODO: 在此添加控件通知处理程序代码 CString strSource; if(OpenClipboard()) //打开剪贴板 { HGLOBAL hGlobal; LPTSTR pBuffer; EmptyClipboard();
2012-10-12 17:56:10
1154
转载 stl中vector,list,deque的使用准则
在stl中提供了vector, list,deque几种可当作列表使用的数据结构,他们都是动态增长的,在这三者之中选择的准则主要是关注插入特性以及对元素的后续访问要求。vector表示一段连续的内存区域每个元素被顺序存储在这段内存中。对vector 的随机访问效率很高 。但是在任意位置而不是在vector 末尾插人元素则效率很低,因为它需要把待插入元素右边的每个元素都拷贝一遍。类似地删
2012-09-08 21:05:39
845
转载 到底怎么样才叫看书?——下篇
目录1、再提笔记2、我是怎么泡图书馆的3、大学课程之授课方法 1、再提笔记 对于《到底怎么样才叫看书——上篇》中所提到的内容,得到了各位博友们的普遍认同我感到很高兴,说实话,从小到大我也就认真作过那几次笔记,但是却都印象深刻,并且对以后的影响也很深远,在走了很多的弯路以后,渐渐才发现这其中的道理来。 正所谓“学而不思则惘”,学的目的当然不是形式上好看,当
2012-08-26 11:27:39
981
转载 到底怎么样才叫看书?——上篇
http://www.cnblogs.com/ytaozhao/archive/2012/07/31/2616998.html目录:一、引入二、经历了就能理解三、读书要分级四、只读经典五、别吝惜你动笔的那点时间 一、引入 看到这个题目的时候你可能会感到有点好笑:“这还用问,看书就是把书看了一遍呗..” 没错,我们从小到大就是这样想的
2012-08-26 11:13:06
2478
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
40686
1
原创 解决WIN7编译出的程序无法连接其他数据库的问题。
情况:五台电脑。四台WIN7,一台XP。其中两台WIN7安装SQL SERVER2008刚开始编辑程序的时候是在装有两台SQL SERVER2008的机器里测试,没有问题,在那台没有装SQL SERVER 2008的机器里无法连接数据库,在连接字符串里加入Persist Security Info=False;解决。但是,在剩下的最后一台WIN7电脑和XP电脑上怎么也连接不上数据库。后
2012-08-09 20:54:00
2633
转载 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
11980
原创 让DOS显示中文
开始学习MFC深入浅出,需要向console程序传递参数,所以需要在DOS下运行程序。可是发现程序printf出来的中文会乱码?网上查了下是代码页问题,查看一下,果不其然。显示是美国的代码页。那么如何改变他的代码页为中文的呢?引用自百度:http://zhidao.baidu.com/question/385986394.html输入命令“chcp 936”//
2012-06-14 10:58:06
3539
原创 汇编学习之路(二)标号后定义数据产生错误
当我用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
1288
原创 汇编学习之路(一)当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
1391
原创 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
1298
转载 (他山之石)MFC学习之路(四)MultiByteToWideChar和WideCharToMultiByte用法详解
转自墨雨博客:http://blog.youkuaiyun.com/norains/article/details/1461174//========================================================================//TITLE:// MultiByteToWideChar和WideCharToMultiByte用法详解//
2012-05-14 09:42:58
1504
转载 (他山之石)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
2095
原创 MFC学习之路(七)实现多文档的单文档多视图
新建一个多文档应用程序假设名字为123新建一个MFC类,派生于CView,命名为CViewTest然后重载一个虚拟函数void CViewTest::OnInitialUpdate(){CView::OnInitialUpdate();// TODO: 在此添加专用代码和/或调用基类GetParent()->SetWindowText(_T("测试视
2012-05-11 09:50:33
4650
转载 (他山之石)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
1547
原创 MFC学习之路(六)在DoModal()之前态设置对话框窗口标题
在DoModal()之前态设置对话框窗口标题 有一个对话框变量CDlgTest dlg; 我们要根据运行时的内容动态设置窗口标题。 那么,像下面这样做,可以吗? dlg.SetWindowText(_T("你想设置的标题")); dlg.DoModal(); 显然不行,因为SetWindowText的时候对话框没有建立,对话框句柄不存在。
2012-05-05 19:39:42
9889
转载 (他山之石)MFC学习之路(一)VC MFC程序,在About对话框中获取并显示程序的版本号
VC MFC程序,在About对话框中获取并显示程序的版本号=================================================本文为HeYuanHui原作转载必须确保本文完整并完整保留原作者信息及本文原始链接!NN: khlerE-mail: khler@163.comQQ: 23381103MSN: p
2012-04-23 21:21:26
2046
原创 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
1489
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人