摘要:(1)、引入ADO类#import "c:\program files\common files\system\ado\msado15.dll" \ no_namespace \ rename ("EOF", "adoEOF") (2)、初始化COM 在MFC中可以用AfxOleInit...
阅读全文
随笔分类 - VC++
摘要:When you compile project, visual studio 2010 prompts “…link.exe … Access is denied”This below is I met.Error 5 error TRK0002: Failed to execute command: ""C:\Program Files\Microsoft Visual Studio 10.0\VC\bin\link.exe" /ERRORREPORT:PROMPT @C:\Users\oliverliu\AppData\Local\Temp\25f8bec7
阅读全文
摘要:我以前用Spy++能轻易捕捉360软件界面,除了一些应用DHTML制作的窗体.昨天我再用Spy++捕捉的时候捕捉不到了,甚至连最外围的对话框都捕捉不到,显然是做了类似拦截API的处理.下面我也模拟一下这种效果,让自己的程序窗口不能被捕捉.Spy++之类的程序一般通过API函数WindowFromPoint和ChildWindowFromPoint来获取指定位置的窗口句柄。拦截一下WindowFromPoint函数,如果捕捉到的是自己程序的窗口,而且实施捕捉的进程不是自己程序的进程,那就直接返回NULL(这样自己的程序捕捉自己的窗口就不会受影响).拦截API我直接用微软的Detour库,使用起来
阅读全文
摘要:app.h#define RES_PNG _T("PNG")#define RES_JPEG _T("JPEG")#define RES_JIF _T("JIF")extern BOOL LoadImageFromResource(IN CImage* pImage, IN UINT nResID, IN LPCTSTR lpTyp);app.cppBOOL LoadImageFromResource( IN CImage* pImage, IN UINT nResID, ...
阅读全文
摘要:MouseHook.dllMouseHook.h#pragma once/*global*/ extern DWORD g_dwThreadId; extern HINSTANCE g_Hinstance; extern HHOOK g_MouseHook; extern POINT g_ptOld;/*define*/#define WM_MOUSEMOVE_ALL WM_USER+1000/*export*/ extern "C" __declspec(dllexport) BOOL SetHook(DWORD dwThreadId); LRESULT CALLBACK
阅读全文
摘要:DllTest工程QMath.h#pragma once#ifdef API_EXPORT#define DLL_CLASS __declspec(dllexport)#define DLL_API extern "C" __declspec(dllexport)#else#define DLL_CLASS __declspec(dllimport)#define DLL_API extern "C" __declspec(dllimport)#endifDLL_API int Add(int a, int b);DLL_API int Sub(int
阅读全文
该文被密码保护。
摘要:线程优先级由线程所属进程的优先级类、线程自身的相对优先级别共同确定,二者组合值作为线程的基优先级。(base priority level) Win32系统中,线程基优先级的范围从最低优先级0到最高优先级31。系統優先順序程序優先順序類別執行緒優先順序等級1IDLE_PRIORITY_CLASSTHREAD_PRIORITY_IDLE1BELOW_NORMAL_PRIORITY_CLASSTHREAD_PRIORITY_IDLE1NORMAL_PRIORITY_CLASSTHREAD_PRIORITY_IDLE1ABOVE_NORMAL_PRIORITY_CLASSTHREAD_PRIORIT
阅读全文
摘要:首先,先从简单的说起,本地时间(LocalTime),也就是系统设置时区的当前时间!比如说当前系统设置的时区为“(UTC+08:00)北京,重庆,香港特别行政区,乌鲁木齐”(东八区),系统的右下角通知区域显示的时间为“2012/5/18 16:57”,那么这个时间就是当前系统的本地时间! 要说清楚什么是系统时间(SystemTime)之前先来了解一下格林威治时间。本初子午线被定义为通过格林威治经线的位置,相对这条经线的时区向东递增,向西递减,每隔一个时区,相差一个小时。那么,上面例子中的东八区的时间就是相对于格林威治时间加上了八个小时!而Windows的系统时间是就是格林威治时间!知道了这一.
阅读全文
摘要:从Win32过渡到MFC一、开发自己的Win32类库MFC是微软对Win32代码进行封装的一套庞大的类库,如果直接讲解,由于不了解其内部结构和开发思想,学习起来将是非常难于理解的。为了了解MFC是如何封装的,今天我们先来开发一个我们自己的Win32类库。所谓类库,是指一套可以重用的代码,是为了方便以后的开发,将大量固定的、重复的、有规律的代码包装起来,供以后开发时直接调用,而不用再次重写这部分代码;这样就可以将我们的主要精力投入到真正需要花费时间的业务及其逻辑上面,而不再去关心和编写那些千篇一律的程序结构的代码了。在前面的课程中,我们发现WinMain工程中就有许多固定模式的代码,我们现在就来
阅读全文
摘要:步骤/方法 (一) 原理 1、最小化的原理:首先要将窗口隐藏,然后在右下角绘制图标。 2、恢复的原理:将窗口显示,再将托盘中的图片删除。 (二)程序实现 1、自定义消息WM_SHOWTASK: #define WM_SHOWTASK (WM_USER +1) 2、在MFC的 ::OnSysCommand(UINT nID, LPARAM lParam) 函数体中增加一个命令响应 if(nID==SC_MINIMIZE) ToTray(); //最小化到托盘的函数 3、在消息映射中添加 ON_MESSAGE(WM_SHOWTASK,OnShowTask); //其中WM_...
阅读全文
摘要:很多监控软件要求软件能够在系统重新启动后不用用户去点击图标启动项目,而是直接能够启动运行,方法是写注册表Software\\Microsoft\\Windows\\CurrentVersion\\Run。参考程序可以见下:(查找程序目录的执行文件,存在则进行添加注册表操作)//实用代码一int C***Dlg::CreateRun(void) {//添加以下代码 HKEY RegKey; CString sPath; GetModuleFileName(NULL,sPath.GetBufferSetLength(MAX_PATH+1),MAX_PATH); sPath.Re...
阅读全文
摘要:CreateToolhelp32Snapshot函数通过获取进程信息为指定的进程、进程使用的堆[HEAP]、模块[MODULE]、线程[THREAD]建立一个快照[snapshot]。HANDLE WINAPI CreateToolhelp32Snapshot(DWORD dwFlags, //用来指定“快照”中需要返回的对象,可以是TH32CS_SNAPPROCESS等DWORD th32ProcessID //一个进程ID号,用来指定要获取哪一个进程的快照,当获取系统进程列表或获取当前进程快照时可以设为0);参数:dwFlags[输入]指定快照中包含的系统内容,这个参数能够使用下列数值(常
阅读全文
摘要:1.区别wchar_t,char,WCHAR ANSI:即 char,可用字符串处理函数:strcat( ),strcpy( ), strlen( )等以str打头的函数。 UNICODE:wchar_t是Unicode字符的数据类型,它实际定义在里: typedef unsigned short wchar_t; 另外,在头文件中有这样的定义:typedef wchar_t WCHAR; 所以WCHAR实际就是wchar_t wchar_t 可用字符串处理函数:wcscat(),wcscpy(),wcslen()等以wcs打头的函数。为了让编译器识别Unicode字符串,...
阅读全文