随笔分类 - VC
摘要:LARGE_INTEGER high_precision_sleep(LARGE_INTEGER preTime, unsigned long long sleepTime) { LARGE_INTEGER t; QueryPerformanceCounter(&t); while(t.QuadPa
阅读全文
摘要:安装gcc yum search gcc yum install gcc-c++.x86_64 -y 检查安装成功否: g++ -v 安装 gdb yum install gdb -y VS2019添加功能: VS设置:工具-选项 新建测试工程: 可以设置远程输出 OK
阅读全文
摘要:inline函数会引起link2019
阅读全文
摘要:结构体: 其中CLeesBuffer是在前人(CBuffer)的基础上修改的内存管理类。 如果像上面这样用,会出问题: 两个实例在CLeesBuffer中VirtualAlloc申请的内存地址,会相同(Win10 64X VS2017)。多次跟踪,结果相同。VirtualQuey查询结果: 后来改为
阅读全文
摘要:程序中常常需要对结构体置0,但是要注意: 如果结构体中有类,不能置0;置0会导致已经实例化的类变量,地址变为0 如果结构体中有其它结构体,也要当心,如果所包含的结构体中有指针,而指针已经分配了地址(如new过),此时置0,会导致内存泄漏 如:
阅读全文
摘要:根据源图RECT、目标Rect计算缩放后(不放大),新的显示Rect 序列化CImage CImage复制 //根据源图RECT、目标Rect计算缩放后(不放大),新的显示Rect static void GetStretchRect(CRect*rcResult, const CRect rcDs
阅读全文
摘要:不希望新开的窗口中出现 “-untitled”这个东西 办法如下: 1、重载DOC类的方法void CDocument::SetTitle(lpszTitle): void CLeesReaderDoc::SetTitle(LPCTSTR lpszTitle){ //判断是否有内容(不同应用判断方法
阅读全文
摘要:一、兼容位图应当依据真实DC创建,不能依据刚建的内存DC来 CDC* pDC( 可以是传入的DC,也可以是屏幕DC,可以是CClientDC....) CDC dcMemory; dcMemory.CreateCompatibleDC(pDC); CBitmap bmp; bmp.CreateCom
阅读全文
摘要:一、字符计算 (richedit).LineIndex(nLine)取得的字符索引,是该行起始位置距文首的索引(字符数) 需要注意的是:分段(\r\n)符号,只算一个字符;在字符串变量(或文件)中这是两个字符!
阅读全文
摘要:BOOL CLeesProcessManager::EnableShutdownPrivilege(){ HANDLE hProcess = NULL; HANDLE hToken = NULL; LUID uID = {0}; TOKEN_PRIVILEGES stToken_Privileges = {0}; hProcess = ::GetCurrentProcess(); //获取当前应用程序进程句柄 if(!::OpenProcessToken(hProcess,TOKEN_ADJUST_PRIVILEGES,&hToken)) //打开当前进程的...
阅读全文
摘要:网上收集整理,并实际应用。关键代码:unsigned int CLeesProcessManager::DirverCheckThread(LPVOID lParam){ CLeesProcessManager* pThis=reinterpret_cast(lParam); //pThis->m_Loger.WriteLog(0,_T("DirverCheckThread Enter.")); while(pThis->m_bRunning) { if(pThis->m_bAutoEjectUsbDrv) { //pT...
阅读全文
摘要:设置参考:http://blog.csdn.net/douyangyang/article/details/4088841其中JS脚本需要注意:1、分64与32位版本,两版本注册表位置不一样64.js 1 // OOoCpp.js 2 // 3 // OpenOffice.org 3.0 SDK C++ code generation 4 // 5 // Note: This script MUST be run from the OpenOffice.org 3.0 SDK folder: <OpenOffice.org_3.0_SDK>\sdk 6 // 7 //...
阅读全文
摘要:第一步:#import "XXXXX.dll" //ActivexDLL编译一下 VS会 生成XXXXX.tlh和XXXXX.tli(使用时主要参考tlh文件)第二步: A 、参考tlh文件,using namespace ???B、定义变量 _XXXXX* m_????第三步:A. 记得在线程中 CoInitialize(NULL);CoUnitialize();B. 如果DLL没有注册(需要管理员权限),则注册:LPCTSTRpszDllName=_T("XXXXX.dll");//装载ActiveX控件HINSTANCEhLib=LoadLibra
阅读全文
摘要:CStringMyBrowseFolder(){TCHARchPath[MAX_PATH];//用来存储路径的字符串CStringstrPath;BROWSEINFObInfo;GetModuleFileName(NULL,chPath,MAX_PATH);strPath=chPath;ZeroMemory(&bInfo,sizeof(bInfo));bInfo.hwndOwner=::AfxGetMainWnd()->m_hWnd;bInfo.lpszTitle=_T("请选择路径:");bInfo.ulFlags=BIF_RETURNONLYFSDIRS|
阅读全文
摘要:VC 为 UNICODE编码,没有考虑非UNICODE编码!char hexs[]={'0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F'};CString URLEncode(CString sIn){ CString sOut; int nLen = sIn.Get
阅读全文
摘要:研究了好长一段时间,还是没有研究透:FlashPrinter.Exe的退出代码3表示成功,但返回3时文件保存不一定成功,至于为什么不能成功保存还不知道,然而重试说不定又好了。反正退出代码为3的文档肯定能转换1表示文件无法转换(如PPS ppsx) ,2是什么呢,忘记了259:文档打印时有对话框,或打开时有对话框之类(如有密码、页面尺寸、边距等问题),但259不能转换的文档手工是可以转换的。由于服务器上文件为压缩文件,还要解决权限问题和不登录运行问题,所以我使用Windows服务 的办法来解决。思路为: 根据压缩类型(RAR、ZIP)进行解压到临时目录从临时目录中选择合适格式 、合适大小的文件进
阅读全文
摘要:VC编程时最怕和最容易出现的就是memory leak最近发现两个地方不容易检查出来1、线程中——需要注意的是线程非正常退出,导致后面的内存释放代码没有执行2、继承的异常——throw 变量或常量 没有问题 ,throw new 异常类 在debug时会发现内存泄漏,原因还不清楚
阅读全文
摘要:从别处下了个“ListCtrl-Button”Demo发现总体不错,但有一些小问题,如:1、Button列不在可视区域时2、改变列宽时(拖动或双击)3、滚动时4、删除时改后代码如下:ListCtrlEx.h代码Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHigh...
阅读全文
摘要:typedef struct __Enum_Window_Para__{HWNDhwnd;CString sTitle;}ENUMWINDOWPARA,*PENUMWINDOWPARA;BOOL CALLBACK EnumWindowProc(HWND hwnd, LPARAM lParam){ENUMWINDOWPARA* mPara = (ENUMWINDOWPARA*)lParam;char...
阅读全文