自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

jjjlike的专栏

学习与分享

  • 博客(35)
  • 资源 (3)
  • 收藏
  • 关注

原创 UI Automation Providers(UI自动化测试支持)

比MSAA更新一下,同样的MS提供。品质一还是有保证的。https://docs.microsoft.com/en-us/windows/win32/winauto/uiauto-providersoverview

2020-01-20 09:27:09 448

原创 window网络编程六大模型

阻塞、select、WSAAsyncSelect、WSAEventSelect、overlapped、完成端口

2019-02-19 11:40:54 611

原创 WINDOWS API

1、判断原生窗口的滚动条是否显示BOOLbRet=::ShowScrollBar(GetSafeHwnd(),SB_HORZ,FALSE);//先隐藏掉SCROLLBARINFOsbInfo;ZeroMemory((void*)&sbInfo,sizeof(SCROLLBARINFO));sbInfo.cbSize=sizeof(SCROLLBARINFO);B...

2018-04-18 14:08:16 277

原创 好用的WINDOWS API

1、判断内存合法性,实现没办法的时候会用到的函数原型:BOOL IsBadReadPtr(CONST VOID *lp,UINT_PTR ucb);参数:lp 表示要检查的内存指针ucb 要检查的内存块的大小返回:如果调用进程有权限访问该内存,返回0否则,返回非0说明:该函数检查调用进程是否有读取指定内存的内容的权限,微软提供的32位操作系统下的API...

2018-03-26 16:48:51 154

原创 MFC实现拖拽

1、接收拖拽时,需求注册一下。拖放对象的接收。缺省情况下,一般的窗口是不能接收拖放对象的;要使窗口可以接收拖放对象,需要在窗口类定义中加入成员对象COleDropTarget,并在生成窗口时调用函数   COleDataTarget::Register()。详细说明:http://blog.csdn.net/kkkmmmjjjj/article/details/53515060...

2018-03-08 10:46:44 1111

原创 各种特殊内存填充的含义

* 0xABABABAB : Used by Microsoft's HeapAlloc() to mark "no man's land" guard bytes after allocated heap memory* 0xABADCAFE : A startup to this value to initialize all free memory to catch errant p

2017-12-10 20:48:38 463

原创 自动注册类厂 代码实现

struct CellCreateKey{    INT64 ddwColFlag;    CellCreateKey(INT64 ddwColFlag)    {        this->ddwColFlag = ddwColFlag;    }    CellCreateKey(const CellCreateKey& oParam)    { 

2017-11-16 11:42:58 432

原创 专用词汇

Tray 托盘(系统右下角小图标)

2017-10-10 19:35:39 212

原创 vim好用的命令

1、匹配单词,如要匹配word1,word2\b(word1|word2)\b2、在vim中,\< beginning of a word |/zero-width|\> end of a word |/zero-wid3、非贪婪匹配提到使用“\{-}”来代替“*”4、替换与当前行号:%s/^/\=line('.').' '这是也是简...

2016-09-30 08:22:34 300

原创 windows批处理 命令

一、for 命令1)检索目录中的所有文件for %i in (c:/*.*) do (echo %i)2)逐行读文件内容for /f "delims=" %%i in (%cd%/test.bat) do echo %%i(注意:bat脚本中,用%%i, 而cmd窗口中用%i)详解可参考:http://blog.csdn.net/xhhjin/article/details

2016-01-28 22:45:10 317

转载 windows批处理

1、关于%首先 ,%是批处理变量引导符这个百分号严格来说是算不上命令的,它只是批处理中的参数而已引用变量用%var%,调用程序外部参数用%1至%9等等%0 %1 %2 %3 %4 %5 %6 %7 %8 %9 %*为命令行传递给批处理的参数%0 批处理文件本身,包括完整的路径和扩展名%1 第一个参数%9 第九个参数%* 从第一个参数开始的所有参数参数%0具有特殊

2015-12-02 13:33:55 443

转载 保证SetForegroundWindow执行成功

网上搜索到的办法有两个,第一个没自测保证SetForegroundWindow成功  在SetForegroundWindow之前比较早的时候(比如main函数里)调用一下以下代码:DWORD dwTimeout = -1; SystemParametersInfo(SPI_GETFOREGROUNDLOCKTIMEOUT, 0, (LPVOID)&dwTimeou

2015-11-10 10:07:47 7565

原创 查看lib的导出函数

查看lib的导出函数dumpbin /all XXX.lib > aa.txt导出lib的函数到aa.txt

2015-10-20 19:45:59 578

原创 adb

在cmd中运行adb shell即可进入到shell中。1. 查看设备  adb devices  这个命令是查看当前连接的设备, 连接到计算机的android设备或者模拟器将会列出显示  2. 安装软件  adb install  这个命令将指定的apk文件安装到设备上  3. 卸载软件  adb uninstall   adb uninstall -k

2015-05-19 10:00:45 740

原创 std::string

转换为大/小写wstring strAppName(pszAppName);transform(strAppName.begin(), strAppName.end(), strAppName.begin(), ::toupper);

2015-02-27 17:35:44 313

转载 vim替换详解

Vim中的正则表达式功能很强大,如果能自由运用,则可以完成很多难以想象的操作。如果你比较熟悉Perl的正规表达式,可以直接参照与Perl正则表达式的区别一节。一、使用正则表达式的命令使用正则表达式的命令最常见的就是 / (搜索)命令。其格式如下:/正则表达式另一个很有用的命令就是 :s(替换)命令,将第一个//之间的正则表达式替换成第二个//之间

2015-02-06 16:29:39 1094

转载 MSAA 服务端实现

Microsoft Active AccessibilityMSAA的全称是Microsoft Active Accessibility。这是类似DCOM技术。技术模型是这样的,UI程序可以暴露出一个Interface,方便另一个程序对其进行控制。 MSAA技术的初衷是为了方便残疾人使用Windows 程序。比如盲人看不到窗口,但是盲人可以通过一个USB读屏器连接到电脑上, 读屏器通过UI

2014-09-17 22:22:38 642

原创 windows权限控制

windows的权限控制是针对“资源”

2014-09-10 08:17:19 925

原创 vs 命令

1、vs 被动拉起命令参数(com中使用)-embedding2、查看last error@err, hr3、去掉注释的拼写检查(vs代码)原因在于visual assist。在VAssistX菜单栏->Visual Assist X Options->展开Advanced->Underlines->把underlines spelling err...

2014-08-26 15:39:27 463

原创 好用的软件

1、管理windows资源管理器的软件clover2、查看/检查 msaa(Microsoft Active Accessibility)中窗口层次、信息的工具inspect.exe(inspect32.exe)3、guid生成器GUIDGEN.EXE4、监视注册表变化的软件regshot.exe5、wireshark网络协议监控程序...

2014-07-30 15:39:57 1347

原创 做界面的各种坑

话说,最近在做界面啊。遇到各种坑,尤其是在维护别人的代码。唉……记性不好,标志一下下各种坑吧。2013.12.61、对于内容会变的static text,要注意它的宽度,一不小心,就显示不全了。2013.12.72、一主窗口,通过隐藏、显示、改变自身大小等等来变出几个窗口来的,这种做法千万要不得。以后要改或者加点东西,就要各种找,各种坑了。留下这种代码的人真该被骂。

2013-12-17 09:49:51 619

原创 ubuntu无线驱动安装

初用ubuntu,宿舍有无线路由啊,总不能再拉那么一根长长的网线吧。于是,开始ubuntu的无线驱动安装之旅。开始总很痛苦的,各种尝试,其实都是只差那么一点点,而已。不过,差那么一点点就是一点点了,结果就是不一样。好吧,开始总结下下经验的。一、首先要知道自己的无线网卡的型号的。我是在windows下用驱动精灵查看到的,如下硬件名称 博通 BCM43227 802.11n Wirel

2013-05-19 10:01:31 1797

原创 内存检查函数 CrtCheckMemory

BYTE* a = new BYTE[10];for (int idx = 0; idx <= 10; ++idx){a[idx] = 1;_ASSERTE(_CrtCheckMemory());}内存越界了,这样就可以及时报错了。//每个dll保证调用一次_CrtSetDbgFlag(_CRTDBG_ALLOC_MEM_DF | _CRTDBG...

2013-03-05 22:30:23 1317

原创 windbg的好用的命令

1、有时候想对某个函数下断点,可就是记不清楚的函数具体的名字,好吧,使用x命令来列举所有的符号的。命令格式为:x [选项] 模块名字!符号匹配表达式如,>>x et!* //于是,所以的et模块的函数都出来,哈哈~2、64位生成器生成32位的程序的dump文件,查看时,可以使用以下命令转到32位模式下调试。.load wow64exts!sw3、...

2013-01-29 11:42:02 760 1

原创 windbg的系统异常状态设置

sx显示系统异常设置状态, 如下0:001> sx  ct - Create thread - ignore 创建线程  et - Exit thread - ignore  退出线程 cpr - Create process - ignore 创建进程 epr - Exit process - break 退出进程  ld - Load module - output 加

2013-01-24 15:27:05 5032

原创 将应用程序绑定到windbg启动

比如要绑定的windbg的应用程序名为 et.exe1、修改注册表首先在注册表中创建以下键值,HKEY_LOCAL_MACHINE/SOFTWARE/Microsoft/Windows NT/CurrentVersion/Image File Execution Options/et.exe然后,在此键上增加名为 Debugger的String Value,其值为windbg的

2013-01-16 15:21:58 1122

转载 远程调试

http://www.2cto.com/kf/201105/91606.html原文:http://www.2cto.com/kf/201105/91606.html怎么说呢,介绍远程调试的文章网络上其实有不少,我这里也会涉及到,但会更加的详细和细致,比如win7(32、64)系统下的调试,家庭版的调试,以及一些常见问题的原因和解决办法。一般我们都会这么操作,比

2012-11-14 15:54:02 501

原创 integer of unlimited size(大数类的加减乘)

闲着,于是写了个大数类。加减乘都不难,所以实现了。除法得以后有空再慢慢研究的。// bigintJ.h//#pragma once#include "link_list.h"class BigInt{public:BigInt(const char* nums);BigInt(const char* nums, const int c);BigInt

2012-09-04 12:44:03 406

原创 QList与QVector

看qt的文档,只要是不要求数据所存放的内存是连续的,都建议用QList,因为QList的查询速度跟QVecotr是差不多的。感觉有点奇怪,至少与我之前所认识的List的查询是一不样的。好吧,看看源码的。原来QList的元素的指针是通过数组来管理的,而不是用next的方式。每当插入或者删除一个元素时,QList就会更新这个指针数组。而查询的时候,QList只需要通过下标从此指针数组中找到元素的指

2012-08-30 10:05:04 5744

原创 qt多语言小记

呃,怕一此东西忘记了,在这里记一下下的。首先,qt中要支持多语言的字符串要在代码中用tr()括起来的。其次就可用lupdate.exe来把需要翻译的字符串给提取出来,生成*.ts文件。于是,就可以linguist.exe来对*.ts文件进行手工翻译。最后,用lrelease.exe来“编译”一下下翻译过的*.ts文件,就可以生成*.qm文件了。好吧,最后,重中之中的是,不是忘记

2012-08-21 16:30:38 562

原创 Qt 的tool tip

今天要给我做的qt控件加个tooltip,嗯,应该不难的。不过,还是先把tooltip的来龙去脉弄清楚先的。tool tip的定时器:QApplication中有一个叫作toolTipWakeUp的定时器,当鼠标移动到某个QWidget时它便会被触发。当鼠标离此QWidget时,它便会被停止。相关代码在QApplication::notify函数中:// 处理QEvent:

2012-08-20 17:28:16 1995

原创 qboxlayout与qt布局(三)

呃,,,记性总是不大好。每次找Qlayout的入口点时都要重新断点,真是的。好吧,把一些东西记一下下的。QLayout是在哪里开始影响使用它的控件的呢?    其实,是这样的,    首先Qt的消息都是要经过 QApplication::notify()预先处理的,而对于 QApplication::notify()未处理的消息,就会通过调用QApplicationPrivate::n

2012-08-09 15:08:04 1823 2

原创 qboxlayout与qt布局(二)

一直被QLayout::setSizeConstraint()搞得很头大。其实,很大部分原因只能怪小弟我英文水平不过关,因为qt文档里已经说明得够清楚的了。如下:enum QLayout::SizeConstraintThe possible values are:Constant ValueDescription:QLayout::SetDefaultConstr

2012-07-30 12:11:53 6452

原创 erlang的简单数据类型

整数erlang中的整数大小是没有限制的,只与机器的可用内存有关;Base#Value表示基数不是10的整数。Base是一个介于2~32(version 6.1.7600,最大值不同的版本可能会不一样).$Character表示ASCII值。如,$a的整数值是97.可以通过is_integer()函数来判断一个值是不是整数 浮点数表示形式:NUM.NUM[e[-+]

2012-07-24 22:42:18 891

原创 qboxlayout与qt布局(一)

说实在的,qlayout的确很好用。不过,发觉用得越多就越是疑惑。例如动不动,它里面的控件就迭在一起了。唉,忍无可忍了,只好去分析下下它的源码罗~qt有个叫做qGeomCalc()的函数,qboxlayout里面的控件的大小与位置就是通它来计算的(注意,可不是全由它说了算的,这就是叫人疑惑的原因之一吧)。此函数主要是处理传进来的QLayoutStruct链的,QLayoutStruct主要定义

2012-07-24 13:01:25 3223

大数加减乘类的实现

实现了大数的加减乘方法,以及操作所用的到的链表

2012-09-04

BloggerForWordSetup.exe

哈哈,一个可以从WORD直接发表博客的博客发布器,大家不妨试用一下的。不过,只适用于Blogger博客的

2009-08-17

com 技术内幕(中文版)

com 技术内幕,一本关于com的比较易懂的书,建议新手看看的

2009-08-03

空空如也

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

TA关注的人

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