C Plus
文章平均质量分 67
vivianking68
今日事今日毕,生命经不起等待!!
展开
-
窗口背景刷新太慢问题的解决方案
用gdi plus在窗口的onpaint()中刷新背景图时,会出现刷新太慢的问题。解决方案一:将gdi plus画图换成是gdi画图void CStartPageDlg::OnPaint(){if (IsIconic()){ //............. }else{ CPaintDC dc(this); // Get main dlg bk s原创 2015-04-13 15:19:10 · 1133 阅读 · 0 评论 -
字体的大小不跟随系统DPI的更改而改变的解决方案
字体的大小会随着系统DPI的更改而变化。在此以MFC中窗口中有rich edit控件为例来说明如何来解决这个问题。已知要设定的字体大小为12pt,DPI -> 100%状态下(1inch = 96pixel)要实现DPI更改为其他时字体的现实效果不变。实现原理:1)先求出DPI 100%状态下对应的pixel值2)动态的求出当前的DPI,然后根据之前求出的p原创 2015-04-14 11:06:56 · 2827 阅读 · 0 评论 -
如何获得和修改文件的时间
自己写了一些函数来获得和修改文件的时间。1. 获得文件的时间:函数 GetFileTimeInfoTCHAR tszDebug_FInf[MAX_PATH] = {0};BOOL GetFileTimeInfo(WIN32_FIND_DATA* pFileData, const TCHAR *ptszFileName){BOOL brtnInf = TRUE;HAN原创 2015-04-14 11:04:05 · 631 阅读 · 0 评论 -
如何屏蔽控制台程序的黑色屏幕
屏蔽控制台程序的黑色屏幕有很多中方法,这里介绍两种简单的方法:方案一. 在有main函数的.cpp中加入#pragma comment(linker, "/subsystem:\"windows\" /entry:\"wmainCRTStartup\"")例如:#include “stdafx”#pragma comment(li原创 2015-04-14 10:58:59 · 835 阅读 · 0 评论 -
Visual C++程序设计中的API和SDK
我们在编写标准C程序的时候,经常会调用各种库函数来辅助完成某些功能;初学者使用得最多的C库函数就是printf了,这些库函数是由你所使用的编译器厂商提供的。在Windows平台下,也有类似的函数可供调用;不同的是,这些函数是由Windows操作系统本身提供的。 Windows操作系统提供了各种各样的函数,以方便我们开发Windows应用程序。这些函数是Windows操作系统提供给应用程序转载 2015-04-13 15:14:49 · 734 阅读 · 0 评论 -
创建系统托盘图标
下面以MFC程序为例列出的创建系统托盘图标步骤 1-31. 创建变量NOTIFYICONDATA m_notifyCONData;ZeroMemory(&m_notifyCONData, 0, sizeof(NOTIFYICONDATA)); 2. 设置变量值并创建2.1 一些宏定义#define WM_USER_SYSTEMT原创 2015-04-13 15:10:49 · 600 阅读 · 0 评论 -
获得屏幕大小小结
屏幕的大小有两种情形:(1)整个屏幕的大小,包括工具栏的大小。方法是用函数int WINAPI GetSystemMetrics( __in int nIndex);用法:int xScreen = GetSystemMetrics(SM_CXFULLSCREEN); // screen widthint yScreen = GetSystemMetri原创 2015-04-13 15:09:32 · 334 阅读 · 0 评论 -
网络状态检测方法测试结果
一、测试函数列表1 IsInternetConnected2 InetIsOffline3 InternetAttemptConnect4 InternetCheckConnection5 InternetQueryOption6原创 2015-04-13 15:05:20 · 587 阅读 · 0 评论 -
HOOK API
下面是Hook函数HOOK_OutputDebugStringW,源代码如下:1. hookdll:(1)HkAPIDll.cpp// HkAPIDll.cpp : Defines the exported functions for the DLL application.//#define HOOK_API_DLL_VIVIANSTEST_20091229_1144原创 2015-04-13 14:48:08 · 651 阅读 · 0 评论 -
DirectUI 揭秘
DirectUI并不是什么私有的技术,只不过很少人用它,所以很少有人熟悉这种技术。这种技术的核心是IAccessible接口,每个窗口元素(不管有没有句柄)都可以实现这个接口,使用的事件机制和导航机制跟普通窗口完全不同,事实上操作系统提供的绝大多数窗口类型都支持这个接口,IE中的DOM元素也支持这个接口。在VS开发环境中能看到MFC的CWnd提供了类似accNavigate/acc原创 2015-04-13 14:46:55 · 1066 阅读 · 0 评论 -
MFC 获取命令行参数方法
MFC 获取命令行参数方法MFC或窃取命令行参数方法有很多,下面列举了三种如果执行了命令行:C:\test\app.exe 11.GetCommandLine()将获取到 "C:\test\app.exe" 1可以配合CommandLineToArgvW()函数使用2. __argv[i] (__targv[i]) (i= 0, 1,..原创 2015-04-13 16:14:24 · 632 阅读 · 0 评论 -
任务计划实现开机自启动实现
开机自启动有很多种方式 : 注册表实现, 任务计划等等;这里只介绍用com接口实现对任务计划(win32的API :NetScheduleJobAdd在Win7 上没有效果)我们用到的是ITaskService interface [Task Scheduler] 接口的一些相关函数,因此对系统有一定的要求:RequirementsClient : Requir原创 2015-04-13 15:19:51 · 1702 阅读 · 0 评论 -
SYSTEMTIME 转化为 tm struct 并根据本地的设置输出
BOOL GetTimeInf(TCHAR *ptszTimeFormatCtrl, TCHAR *ptszTimeBuf, DWORD dwBufLen){// 0. variable definitionSYSTEMTIME Reg_systime; // System time from regist_locale_t loca原创 2015-04-13 15:17:02 · 688 阅读 · 0 评论 -
获得系统路径的方法
1. 通过Windows的环境变量获得具体请参考:http://blog.csdn.net/mjw2607/archive/2009/04/15/4075625.aspx2. 使用Windows API函数BOOL SHGetSpecialFolderPath( HWND hwndOwner, LPTSTR lpszPath,原创 2015-04-13 15:13:17 · 353 阅读 · 0 评论 -
网络状态检测方法分析
现在网上有很多种针对网络状态检测的方法,在此做一个简单的分析和总结。总体来说一共有七种。一、 InternetAttemptConnect函数 这个函数可以说非常简单,只是尝试计算机连接到网络。并不考虑是用什么方式连接。当成功连接到网络的时候,函数返回ERROR_SUCCESS,也就是0。函数的参数永远都是0。 有一点需要注意的是,当计算机是用&ldq原创 2015-04-13 15:01:50 · 750 阅读 · 0 评论 -
GDI+ Color 类 和 COLORREF 间如何相互转换?
1. Color To COLORREFCOLORREF dwClrref; Color clr;dwClrref = RGB(clr.GetR(), clr.GetG(), clr.GetB());2. COLORREF To ColorCOLORREF dwClrref; Color clr(GetRValue(dwClrref), GetGValue(原创 2015-04-14 11:06:45 · 1023 阅读 · 0 评论