
C++
文章平均质量分 66
patdz
这个作者很懒,什么都没留下…
展开
-
窗口显示在屏幕顶端,自动隐藏
窗口必须时刻停靠在屏幕上端位置鼠标离开窗口后窗口隐藏API接口 BOOL SSWinAutoHideWorkB(HWND hWnd, UINT_PTR uTimerID = 0); BOOL SSWinAutoHideWorkE(HWND hWnd); 实现技术1.在函数SSWinAutoHideWorkB中,调用G/SetWindowLongPtr原创 2012-05-06 07:40:42 · 4143 阅读 · 0 评论 -
调试Release发布版程序的Crash错误
下面有更使用的文章REF : http://blog.sina.com.cn/s/blog_48f93b530100g282.htmlREF : http://vicchina.51.net/research/other/seh/minidumps/intro.htm 当我们把自己的release版本程序发布出去以后,一般都是在用户的机器转载 2012-08-17 14:44:38 · 1767 阅读 · 0 评论 -
Win7 不同进程使用WM_COPYDATA消息通信
在高优先级程序中调用 typedef BOOL (WINAPI FAR *ChangeWindowMessageFilterEx_PROC)(HWND,UINT,DWORD,PCHANGEFILTERSTRUCT); ChangeWindowMessageFilterEx_PROC m_pfnChangeWindowMessageFilterEx; m_pfnChange原创 2013-01-30 09:22:14 · 3044 阅读 · 0 评论 -
解决系统服务运行应用程序的权限问题]使用WTSGetActiveConsoleSessionId()的VISTA服务与桌面交互
来自:http://blog.163.com/chmail@yeah/blog/static/63739109201011177484668/http://rohna.w.blog.163.com/blog/static/1457416520115195531957/Windows Vista 对快速用户切换,用户账户权限,以及服务程序所运行的会话空间都作了很大的改转载 2013-01-06 15:13:37 · 2874 阅读 · 0 评论 -
printf "%.*s"
ref : http://www.cnblogs.com/yuaqua/archive/2011/10/21/2219856.html 小数点.后“*”表示输出位数,具体的数据来自参数表printf格式字符串中,与宽度控制和精度控制有关的常量都可以换成变量,方法就是使用一个“*”代替那个常量,然后在后面提供变量给“*”。同样,小数点.前也可以添加*,也要用户输入一个位宽值来代替转载 2012-12-04 17:35:42 · 20558 阅读 · 1 评论 -
vc自画窗体 黑边去除
貌似无论怎么设置,窗体总有一条黑边暂时没找到办法能去除这条黑边通过WM_NC_CALCSIZE可以看到客户区比窗口区域缩了1个像素这样就会导致自画窗口边缘1个像素的内容很随机凌乱可以做几件事儿:1,在WM_NCPAINT中 case WM_NCPAINT: { HDC hDC = ::GetWindowDC(m_hWnd);原创 2012-10-25 09:00:35 · 2219 阅读 · 0 评论 -
Vs2010 vs2008 vs2005 链接libcurl静态库
ref : http://blog.youkuaiyun.com/jwybobo2007/article/details/69754391.首先下载libcurl库,用vs打开工程文件2.编译时选择lib Bebug和lib relase,得到它的静态库3.在你的工程中包含libcurl库,在预编译指令中添加:BUILDING_LIBCURL4.在依赖库中加入:li转载 2012-10-27 09:42:34 · 1757 阅读 · 0 评论 -
EDIT控件设置字体,背景色
截获WM_CTLCOLORSTATIC消息 Gdiplus::Bitmap *pBitmap = (Gdiplus::Bitmap*)CMiUIUtils::LoadImage(IDB_PNG_LICENSE_BG); if(pBitmap != NULL) { HBITMAP hBitmap = NULL;原创 2012-10-25 09:12:13 · 1908 阅读 · 0 评论 -
安装USB驱动,采用让系统枚举的办法
#include #include #include #pragma comment(lib, "Setupapi.lib")#include #include BOOL RemoveUnknownDevices(){ HDEVINFO hInstDevInfoSet = INVALID_HANDLE_VALUE; LPGUID lpGuid = (LPGUID)原创 2012-08-21 11:38:57 · 3001 阅读 · 1 评论 -
VC在安装了中文包的英文操作系统中显示中文
1.设置线程语言为“中文”的代码如下:SetThreadLocale(MAKELCID(MAKELANGID(LANG_CHINESE, SUBLANG_CHINESE_SIMPLIFIED), SORT_DEFAULT)); 设置线程语言为“英语(美国)”的代码如下:SetThreadLocale(MAKELCID(MAKELANGID(LANG_ENGLISH, SUB原创 2012-08-28 19:45:05 · 1790 阅读 · 0 评论 -
Walking the callstack
REF : http://www.codeproject.com/Articles/11132/Walking-the-callstack使用:class MiStatckWaler : public StackWalker{public: MiStatckWaler() { TCHAR szFile[MAX_PATH] = {0};转载 2012-08-17 14:40:53 · 530 阅读 · 0 评论 -
警惕利用类的构造和析构函数来做资源分配释放时候,对临时变量的使用
有一个类class CMiRegularPath{public: CMiRegularPath(LPCTSTR lpPath); ~CMiRegularPath(); operator LPCTSTR (); operator LPTSTR();protected: LPTSTR m_lpPathBuffer; LPCTSTR m_lp原创 2012-08-10 10:18:12 · 1669 阅读 · 0 评论 -
dynamic_cast的好处
本例用的代码见 《多重继承,虚拟继承》分析下面代码 { CTest oTest; CInterfaceA *pA = &oTest; pA->MethondA1(); pA->MethondA2(); CInterfaceB *pB = &oTest; pB->Methon原创 2012-05-26 10:49:02 · 847 阅读 · 0 评论 -
多重继承,虚拟继承
有一个需求:接口A有两个纯虚函数MethodA1和MethodA2;接口B继承自接口A,并且有它自己的虚函数MethodB1;一个类CAImpl实现了接口A,现在要做一个类CTest,它要继承自接口A和接口B,并且接口A中的实现希望用CAImpl中的。第一个版本应该是这个样子的 class CInterfaceA{public: virtualvoid Methond原创 2012-05-26 10:42:24 · 774 阅读 · 0 评论 -
类的构造函数调用其他构造函数
首先,对于类不推荐在构造函数中调用其他构造函数。各个构造函数应该都是平行的,即都要做类的成员变量等的初始化操作。如果有时候由于各种目的不得不调用,可以有几种办法。 class CTestCon{public: CTestCon(int n) {} CTestCon() { // 错误调用方式1 //CTe原创 2012-05-19 21:17:19 · 859 阅读 · 0 评论 -
Windows上USB设备检测
枚举总线主机控制器的驱动程序(HCD(Host Control Driver))。它位于USB主机控制器与USB系统软件之间。 可以用CreateFile打开名字为"\\\\.\\HCD1",\\\\.\\HCD2的文件来检测HCD总线。打开句柄之后可以通过DeviceIoControl 传递IOCTL_GET_HCD_DRIVERKEY_NAME 参数来得到DriveName。原创 2012-05-12 10:56:44 · 14983 阅读 · 1 评论 -
函数体中打印日志信息自动附加函数名字的一种实现办法
一段代码,在Windows下的VC环境下编译没问题,在Linux的GCC下会报一个错误:error: ‘L__FUNCTION__’ was not declared inthis scope 对此的解释:In GCC 3.3 and earlier, in C only, __FUNCTION__ and __PRETTY_FUNCTION__ were trea原创 2012-05-05 21:54:29 · 2357 阅读 · 0 评论 -
Windows平台下利用CSP来实现加密保护
CSP是Cryptographic Service Provider的简写,是微软专为Windows系列操作系统制定的底层加密接口,用于管理硬件或软件形式的加密设备,实现数据加密、解密,数字签名、验证和数据摘要(即HASH)等。 本例实现了几方面的操作 1.对容器的操作包括创建,打开,关闭,销毁容器.Provider可以对应于一个硬件UKey或者软件虚拟容器,微软提供了几个原创 2012-05-06 15:47:08 · 3172 阅读 · 0 评论 -
C++汉字转拼音
来自:http://blog.youkuaiyun.com/thenile/article/details/6318521#include #include using namespace std;string findLetter(int nCode);string getLetter(string strText){ bool m_blnSimaple转载 2013-02-19 12:44:23 · 3514 阅读 · 0 评论