摘要:
昨天收到百度软件中心发来的邮件,告知我,我的小蔡电脑助手被百度软件中心收录,欢迎大家下载使用:http://rj.baidu.com/soft/detail/23722.html,在此特发表一篇作为祝贺纪念。下载地址:http://www.zhentiyuan.com/windows/index.a... 阅读全文
摘要:
在开发中,需要判断是否有网络连接,于是写了个函数,实现代码如下://判断是否有网络连接static BOOL DoHaveInternetConnection(){ BOOL bRet = FALSE; // 如果函数返回FALSE,则肯定没有连接 DWORD dwFlag; __try { if (InternetGetConnectedState(&dwFlag, 0)) { // 必须有下列任意一种连接,才认为是有连接 // 因为INTERNET_CONNECTION_CONFIGURE... 阅读全文
摘要:
1.STDMETHOD_(ULONG, AddRef)() PURE;STDMETHOD_:定义一个返回指定类型的虚方法,STDMETHOD:定义一个返回HRESULT类型的虚方法, PURE : = 0;即 纯虚函数。STDMETHODIMP:定义了一个返回HRESULT的接口函数。 #define STDMETHODIMP HRESULTSTDMETHODCALLTYSTDMETHODIMP_:定义了一个返回指定类型的接口函数。 #define STDMETHODIMP_(type) type STDMETHODCALLTYPE2.__declspec(novtable) :就是让类不.. 阅读全文
摘要:
__stdcall 与 __cdecl:__cdecl,__stdcall是声明的函数调用协议.主要是传参和弹栈方面的不同.一般c++用的是__cdecl,windows里大都用的是__stdcall(API)__cdecl是C/C++和MFC程序默认使用的调用约定,也可以在函数声明时加上__cdecl关键字来手工指定。采用__cdecl约定 时,函数参数按照从右到左的顺序入栈,并且由调用函数者把参数弹出栈以清理堆栈。因此,实现可变参数的函数只能使用该调用约定。由于每一个使用 __cdecl约定的函数都要包含清理堆栈的代码,所以产生的可执行文件大小会比较大。__cdecl可以写成_cdecl。 阅读全文
摘要:
发送端:新建一个基本对话框工程,添加6个文本框控件,并且关联控件变量(CString类型):m_strCopyData, m_strFileMap, m_strMem,m_strRegMsg, m_strUserMsg, m_strClipBoard然后在 CPP 文件里面,做如下定义:#define BUFFER_SIZE0x100 // 用内存地址通信时分配的最大内存.#define WM_COMMWM_USER+100const UINTwm_nRegMsg=RegisterWindowMessage("reg_data");const UINTwm_nMemMsg= 阅读全文
摘要:
(1) 线程的创建:(主要以下2种)CWinThread* AfxBeginThread(AFX_THREADPROC pfnThreadProc, LPVOID lParam, int nPriority =THREAD_PRIORITY_NORMAL, UINT nStackSize= 0, DWORDdwCreateFlags = 0, LPSECURITY_ATTRIBUTESlpSecurityAttrs = NULL );HANDLECreateThread( LPSECURITY_ATTRIBUTESlpThreadAttributes, // SD SIZE_T... 阅读全文
摘要:
1. 工具:1.1设备环境类:Windows下的绘图操作说到底就是DC操作。DC(Device Context设备环境)对象是一个抽象的作图环境,可能是对应屏幕,也可能是对应打印机或其它。这个环境是设备无关的,所以你在对不同的设备输出时只需 要使用不同的设备环境就行了,而作图方式可以完全不变。这也就是Windows的设备无关性。MFC的CDC类封装了Windows API 中大部分的画图函数。CDC的常见操作函数包括:Drawing-Attribute Functions:绘图属性操作,如:设置透明模式Mapping Functions:映射操作Coordinate Functions:坐标操 阅读全文
摘要:
在VC++开发中,经常会用到string和wstring,这就需要二者之间的转换,项目中封装了wstring和string相互转换的2个函数,实现如下://将wstring转换成stringstd::string ConvertWStringToAnsi(std::wstring wstr){ std::string result; int len = WideCharToMultiByte(CP_ACP, 0, wstr.c_str(), wstr.size(), NULL, 0, NULL, NULL); if( len <= 0 ) return result; char* buf 阅读全文
摘要:
第一步:打开VS2010项目的SLN文件有如下代码:Microsoft Visual Studio Solution File, Format Version 11.00# Visual Studio 2010将之改为:Microsoft Visual Studio Solution File, Format Version 10.00# Visual Studio 2008第二步:打开VS2010项目的 .csproj和.csproj.user文件的开头会有如下代码:ToolsVersion="4.0"将之改为:ToolsVersion="3.5"完成 阅读全文
摘要:
众所周知,VC++响应回车键经常用的方法是利用BOOL PreTranslateMessage(MSG* pMsg) 截取回车键消息,如:if (pMsg->message == WM_KEYDOWN && (pMsg->wParam == VK_RETURN ){//处理回车键消息}但是 对于模态对话框,这种方法可能无效,这个时候,对于模态对话框有一种灵巧的方法,因为对话框程序的回车键都会响应OnButtonOk()这个函数,所以,可以添加ON_BN_CLICKED(IDC_BUTTON_OK,OnButtonOk) 来处理。 阅读全文