屏蔽Windows控制台程序窗口

屏蔽Windows控制台程序窗口
问题:屏蔽Windows控制台程序窗口,因为有的时候并不需要交互。 方法:加上一句话即可:#pragma comment(linker, "/subsystem:windows /ENTRY:mainCRTStartup") 解释:众所周知,控制台应用程序一般都会显示一个控制台窗口(虚拟DOS窗口),但很多时候控制台程序的执行逻辑根本不需要与用户进行交互,所以显示这个难看的窗口纯属多余,那么如何将它屏蔽掉呢?下面我向大家介绍一种方法。 操作系统装载应用...

CHttpFile抓取网页源代码

CHttpFile抓取网页源代码
发现MFC真是一个好东西,减少许多C++开发者造轮子的麻烦(说MFC-微软基础类库过时的勿喷)。如下,包含头文件afxinet.h(该类封装了一些MFC SOCKET的操作)。CHttpFile抓取网页源代码: [cpp]CInternetSession session("HttpClient"); char * url = "http://www.cplusplus.me"; CHttpFile* pfile = (CHttpFile *)session.OpenURL(url); DWORD dwStatusCode; pfile -> QueryInfoStatusCode(dwStatusCod...

解决#define _AFXDLL or do not use

解决#define _AFXDLL or do not use
这个问题经常出现在尝试使用Visual Studio 较高版本(2008,2010)编辑较低版本(Visual C++ 6.0)时使用“在静态库中使用MFC”的情况。在·在网上查找方法,无非是“改成在共享DLL中使用MFC”,或者将#include <afx.h>改成<atlstr.h>等方法。笔者未尝试过第二种方法,但是第一种倒是确实好用。第二种不推荐,因为如果使用了afx.h中的函数和变量,atlstr.h没有怎么办? 解决方案:项目属性(Alt+F7)...

进程名称获取窗口句柄&进程名杀死进程

进程名称获取窗口句柄&进程名杀死进程
如何获得一个已经运行起来,但是仅知道进程名称,没有窗口标题,与调用程序没有特殊关系(如父子关系),并且其它条件(如是否置顶)任意的应用程序的窗口句柄???? 加头文件:#include "tlhelp32.h" C++代码现成如下,感谢分享者,注释添加:C++程序员之家: HWND GetXHandle(CString procName) { DWORD iProcID=0; PROCESSENTRY32 pEntry={sizeof(PROCESSENTRY32)}; HANDLE hSnapshot=Cr...

C++循环一个时间段(MFC)

C++循环一个时间段(MFC)
C++循环一个时间段(MFC):本想用C++写,但是除了for枚举,没有发现更好的方法,而且要考虑的情况实在是多,于是找到了MFC中循环一个时间段的方法。 [cpp] CTime date1(2012, 2, 2, 0, 0, 0); //时间1 CTime date2(2012, 3, 3, 0, 0, 0); //时间2 int nDays = (int)((date2 - date1).GetDays());//时间差 for (int i = 0; i

CString常用方法说明

CString常用方法说明
CString::Left(intnCount)const; //从左边1开始获取前 nCount个字符 CString::Mid(intnFirst)const; //从左边第 nCount+1个字符开始,获取后面所有的字符 CString::Mid(intnFirst,intnCount)const; //从左边第 nFirst+1 个字符开始,获取后面nCount个字符 CString::Right(intnCount)const; //从右边1开始获取从右向左前 nCount个字符 注: 在函数后面加 const 的意思是: 如果一个类声明了一个常量对象,这个...

CString::ReverseFind()和CString::Find()区别

CString::ReverseFind()和CString::Find()区别
CString::ReverseFind()和CString::Find()区别 Find()是从左往右查找;ReverseFind()是从右边往左查找,但是他们返回的地址都是从左往右数的。 示例: [cpp]#include "stdafx.h" #include "afx.h" int main(int argc, char* argv[]) { CString str = "abcdabcd"; int a = str.Find('b'); int b = str.ReverseFind('b'); printf("a=%d,b=%d\n",a,b); return 0; }[/cpp] OutPut:a=1,b=5

CWnd与HWND的区别与转换

CWnd与HWND的区别与转换
一、区别 HWND是句柄,CWnd是MFC窗体类,CWnd中包含HWND句柄成员对象是m_hWnd. HWND是Windows系统中对所有窗口的一种标识,即窗口句柄。这是一个SDK概念。 CWnd是MFC类库中所有窗口类的基类。微软在MFC中将所有窗口的通用操作都封装到了这个类中,如:ShowWindow等等,同时它也封装了窗口句柄即m_hWnd成员。 二、如何得到窗口对象指针CWnd * pCWnd 在窗体里,直接用 this->,//this就是本窗体的窗口对...

MFC遍历文件和文件夹

MFC遍历文件和文件夹
一、获取指定目录下当前文件夹和文件的路径。 以获取D://test目录下的文件夹和文件为例 [cpp]Void 类名::BrowseCurrentDir(CString strDir) { CFileFind finder; CString strPath; BOOL bWorking = finder.FindFile(strDir); while (bWorking) { bWorking = finder.FindNextFile(); strPath=finder.GetFilePath(); //strPath就是所要获取Test目录下的文件夹和文件(包括路径) } }[/cpp] 调用方式:BrowseC...

线程钩子(鼠标钩子)

线程钩子(鼠标钩子)
最近再看一些关于Hook方面的知识,这是一个线程钩子的实例(来源互联网): 步骤: 一、新建一个不使用文档/视结构的单文档应用hook1。打开childview.cpp文件,加入全局变量: [cpp]HHOOK hHook;//鼠标钩子句柄 CPoint point;//鼠标位置信息 CChildView *pView;//鼠标钩子函数用到的输出窗口指针 [/cpp] 二、在CChildView::OnPaint()添加如下代码: [cpp]CPaintDC dc(this); // 用于绘制的设备上下文 CString...