C++/MFC/STL
漂泊者011
Windows 驱动开发。
展开
-
C++知识点
一、#include “filename.h”和#include 的区别#include “filename.h”是指编译器将从当前工作目录上开始查找此文件#include 是指编译器将从标准库目录中开始查找此文件 二、头文件的作用 加强安全检测 通过头文件可能方便地调用库功能,而不必关心其实现方式 三、* , &修饰符的位置对于*和&修饰符,为了避免误解,转载 2006-03-30 14:08:00 · 1923 阅读 · 0 评论 -
Simulate mouse click on windows security,Computer lock,UAC windows
windows security window,UAC, vista, mouse input原创 2010-06-02 15:28:00 · 696 阅读 · 0 评论 -
命名管道 跨进程通信实例
CLIENT: DWORD WINAPI PipeThreadProc(LPVOID lpParameter){ HANDLE hPipe; //Connect to the server pipe using CreateFile() hPipe = CreateFile( g_szPipeName, // pipe name GENERIC_READ | // read a原创 2009-11-12 16:42:00 · 926 阅读 · 0 评论 -
KdPrint输出格式控制
符号格式说明符类型%c, %lcANSI字符char%C, %wc宽字符wchar_t%d, %i十进制有符号整数int%D十进制__int64__int64%L十六进制的LARGE_INTEGERLARGE_INTEGER%s, %lsNULL终止的ANSI字符串cha转载 2014-11-05 16:37:00 · 1387 阅读 · 0 评论 -
c++代码调用WMI 得到机器Model name.
以下samle code 是使用WMI的一个例子,可以得到Model.如果要得到BIOS的其它内容,可以改换参数。#include #include #include #include #include #include #pragma comment(lib, "comsuppw.lib") int main( int argc, TCHAR** argv )原创 2012-03-22 14:11:02 · 1232 阅读 · 2 评论 -
Accelerator加到对话框中
1.建立一个功能ID,为这个功能映射功能函数。2.把ID加到加到Accelerator表。3.加入代码HACCEL m_hAccelTable;m_hAccelTable = LoadAccelerators(AfxGetInstanceHandle(), M原创 2011-09-19 16:47:30 · 596 阅读 · 0 评论 -
C++, C#引用的区别和C#的类为什么没有拷贝构造函数
不可否认, C++ 在过去十年乃至现在一直都是 windows 平台上的主流开发语言,而来势凶猛的 .NET 势必开辟一个崭新的局面,从目前的种种迹象来看, .NET 是大势所趋,而 C# 作为 .NET 平台上的第一开发语言自然备受关注,于是有很多程序员纷纷转向 C# ,这其中当然不乏 C++ 程序员。情况往往是这样,从一种语言过渡到另一种语言,哪怕是比较相似的语言,程序员也经常无意识地陷入原开转载 2013-08-15 11:52:15 · 803 阅读 · 0 评论 -
String字符串的比较和转换
String类里有提供了字符串的比较函数,但是它是精准比较,如果我们想做模糊比较就不好做了。msdn描述如下:basic_string::comparePerforms a case sensitive comparison with a specified string to determine if the two strings are equal or if one is lexi原创 2014-12-05 09:20:52 · 999 阅读 · 0 评论 -
自动删除VS工程垃圾文件
我们在压缩源代码的时候,会发现工程目录几百M,里面有很多的垃圾文件,用这个工具可以方便的删除这些垃圾文件。0分下载工具地址: http://download.csdn.net/detail/nanjian011/8228175也可以自己写bat.del *.ncb /f /sdel *.plg /f /sdel *.pch /f /sdel *.idb /f /sd原创 2014-12-05 15:23:56 · 4638 阅读 · 0 评论 -
在控制台使用mfc
现在控制台程序用得很少了,但是做练习的时候,可能还是会选择用console程序,因为它结构简单。如果要在console程序中使用mfc类要怎么做呢,其它只要做以下两步就行了。1.加入头文件#include#include2.在工程设置中选择MFC库。Building MFC application with /MD[d] (CRT dll version) requires M原创 2014-12-08 08:56:42 · 1550 阅读 · 0 评论 -
extern "C"的惯用法
extern "C"的惯用法 (1)在C++中引用C语言中的函数和变量,在包含C语言头文件(假设为cExample.h)时,需进行下列处理:extern "C"{#include "cExample.h"}而在C语言的头文件中,对其外部函数只能指定为extern类型,C语言中不支持extern "C"声明,在.c文件中包含了extern "C"时会出现编译语法错原创 2014-12-10 09:08:12 · 591 阅读 · 0 评论 -
MFC设置透明窗口
得到屏幕大小,把窗口设置为全屛 int m_xScreen = GetSystemMetrics(SM_CXSCREEN);int m_yScreen = GetSystemMetrics(SM_CYSCREEN);SetWindowLong(GetSafeHwnd(),GWL_EXSTYLE,WS_EX_TOOLWINDOW);SetLayeredWind原创 2014-12-10 09:40:57 · 1368 阅读 · 0 评论 -
用哪个函数创建线程(AfxBeginThread)
创建线程的函数有CreateThread()、AfxBeginThread()和 _beginthreadex,我们平时使用的时候应该如何选择呢?当然我们要听微软的,微软建议我们不要直接使CreateThread。下面是MSDN的原文:"A thread in an executable that calls the C run-time library (CRT) should use原创 2015-02-03 10:34:10 · 3087 阅读 · 0 评论 -
控制台IO操作函数
如果喜欢用控制台做输出,可以了解一下std提供的io控制函数。setw指定显示的宽度.setprecision 设置输出floating-point精度setfill 设置对其字符setbase 设置整数进制setprecision原创 2015-01-15 15:31:11 · 910 阅读 · 0 评论 -
error LNK2026: module unsafe for SAFESEH image.
error LNK2026: module unsafe for SAFESEH image.解决方法:Linker->Advanced->Image has safe exception handlers:改为No(/SAFESEH:NO)原创 2015-01-16 15:03:49 · 2816 阅读 · 0 评论 -
error LNK2001 vc6 工程转到vs2012
vc6工程转到vs2012工程是出现以下错误:error LNK2001: unresolved external symbol _xGetSystemMetrics@4error LNK2001: unresolved external symbol _xMonitorFromRect@8解决方法:在stdafx.cpp中加入#define C原创 2015-01-15 15:35:41 · 1475 阅读 · 0 评论 -
error LNK2005: __CrtSetCheckCount already defined in msvcrtd.lib
编译的时候出现如下错误:LIBCMTD.lib(dbgheap.obj) : error LNK2005: __CrtSetCheckCount already defined in msvcrtd.lib(MSVCR110D.dll)1>LIBCMTD.lib(dbgheap.obj) : error LNK2005: __calloc_dbg already defined in ms原创 2015-01-16 15:04:33 · 2010 阅读 · 0 评论 -
在进程中找指定的程序
把APP完整路径传进去,枚举进程,通过简单的比较,就可以得到结果了。附上完整代码:bool CheckApp(wstring _strGamePath){ HANDLE hProcessSnap; HANDLE hProcess; PROCESSENTRY32 pe32; DWORD dwPriorityClass; //原创 2015-01-19 12:00:59 · 849 阅读 · 0 评论 -
ostream_iterator和istream_iterator使用杂谈
我们在写Console程序时cout/cin,STL中提供了对应的iterator,可以更加灵活的使用。 ostream_iteratorstring> oo(cout); *oo="China\n"; ++oo; *oo="English\n";增加了类型的检查,*oo赋值为整形vs会报错。// *oo=1; error ostream_iterator可以原创 2014-12-02 14:17:42 · 1051 阅读 · 0 评论 -
C++ 实用泛型编程之 虚拟函数(C++ virtual function)杂谈
一 C++虚拟函数(C++ virtual function)杂谈 我们在编程的时候,经常会遇到这样的情况,假设有两个对象,你要在函数中分别调用它们的OnDraw方法,我们以前的做法一般是这样的。void f(int iType){ switch(iType) { case 1: //CCircle OnDraw break; case 2: //原创 2014-12-01 09:12:52 · 2564 阅读 · 0 评论 -
C++ 实用泛型编程之设计通用型程序(模板)杂谈
如果我们要设计一个堆栈,不管传入的数据类型,例如整形或字符型,都可以正确的处理,我们要怎么做呢?当然传统的方法我们也可以实现,但是不太好做,比较麻烦。现在我们来介绍一下更通用的一个方法。C++ STL提供了容器(Container),现在我们来看下容器stack怎么实现的。原创 2014-12-03 12:35:24 · 1140 阅读 · 0 评论 -
Elevate through ShellExecute or Elevate through manifest
Elevate through ShellExecute (information from Microsoft)We often get the question how to elevate a process through ShellExecute. From the docs it is not immediately clear. The trick is passing i原创 2009-10-29 14:37:00 · 562 阅读 · 0 评论 -
多个程序dll共享数据
导出数据#pragma data_seg(".shdata")__declspec(dllexport) HANDLE g_hHandle;#pragma data_seg()导入数据#pragma data_seg(".shdata")__declspec(dllimport) HANDLE g_hHandle;#pragma data_seg()原创 2009-11-12 17:49:00 · 622 阅读 · 0 评论 -
链接错误"unresolved external symbol _main"
现象当你编译一个ATL工程的Release版时,你得到了下面这个链接错误: LIBCMT.LIB(crt0.obj) : error LNK2001: unresolved external symbol _main 而Debug版本的编连却顺利通过。解决方法: 下面方法中的任何一个都可以纠正这个错误: 去除_ATL_MIN_CRT这个预处理符号;原创 2010-01-28 15:57:00 · 776 阅读 · 0 评论 -
修改mfc对话框程序窗口类名
修改mfc对话框程序窗口类名转载 2010-06-02 16:10:00 · 1084 阅读 · 0 评论 -
string to integer & integer to string
转换整形到字符串,转换字符串到整形原创 2010-08-25 15:45:00 · 915 阅读 · 0 评论 -
在VC使用GDI+的配置方法
<br />vc6配置:<br />1.运行GDI+需要GdiPlus.dll,GdiPlus.lib和GdiPlus*.h.这些文件在SDK中,VS2003已经自带了库文件。<br />2.在stdafx.h中包含#include "GdiPlus.h" <br />3. 在"工程"->"选项"里,添加一个链接库 GdiPlus.lib <br />4.在#include <gdiplus.h>语句之前加:#define ULONG_PTR void* ,否则报错。<br />5.添加一个成员变量原创 2010-08-25 14:02:00 · 487 阅读 · 0 评论 -
进程共享同一个DLL数据
1.首先声明共享数据段,数据要初始化。#pragma data_seg(".shdata")int g_data=0;#pragma data_seg()2.def中为数据段设定共享属性LIBRARY DLLDATA READ WRITESECTIONS.shdata READ WRITE SHARED 这样在A进程中改变了g_data的值原创 2011-06-03 17:49:00 · 634 阅读 · 0 评论 -
GetUserDefaultLangID,GetSystemDefaultLangID,GetUserDefaultUILanguage比较
这三个函数都是得到语言ID,但是使用的场合上却是有所不同,下面先给出三个函数的原型和解释:GetUserDefaultLangIDReturns the language identifier for the current user locale. LANGID GetUserDefaultLangID(void);ParametersThis function has原创 2009-10-23 10:49:00 · 6927 阅读 · 3 评论 -
avoid pop-up Program Compatibility Assistant (PCA) dialog
On Window 7 operating system, the Program Compatibility Assistant (PCA) dialog may pop up at the end of installation. This warning dialog will be displayed if the installation unsuccessfully to fini原创 2011-06-27 17:11:00 · 981 阅读 · 0 评论 -
查看程序权限和用户类型
BOOL IsElevatedAdministrator (HANDLE hInputToken); BOOL IsMemberOfAdministratorsGroup (HANDLE hInputToken); int wmain (int argc, wchar_t *argv[]) {转载 2012-04-06 17:27:29 · 641 阅读 · 0 评论 -
如何让无模式对话框(modeless)不拦着主窗口
如何让无模式对话框(modeless)不拦着主窗口在MFC的工程里,我们用.Create(IDD_XXX, NULL)创建modeless对话框,这个对话框会拦着主窗口,也就是说没办法把主窗口拖到无模式对话框前面,这样是没什么问题,但是有时我们的需求是需要能够把主窗口拖到modeless对话框上,这里只要改变无模式对话框的Z位置,不改主窗口的就行了。SetWindowPos(&CWnd::wn原创 2011-08-26 18:11:04 · 572 阅读 · 0 评论 -
设置 OSD可以在 Windows start 上显示
设置 OSD可以在 Windows start 上显示(Set OSD which can be displayed on Windows start UI)原创 2013-04-26 12:03:57 · 1797 阅读 · 0 评论 -
向服务调起的应用程序发消息ChangeWindowMessageFilter
在vista以上的系统,有些程序需要管理员的权限,所以需要服务,这个函数可以解决低权和高权程序之间的沟通。notice:This API only can receive msg from lower privilege app, If a service A run APP B and B use ChangeWindowMessageFilter,B cant receive msg原创 2009-11-12 17:51:00 · 2155 阅读 · 0 评论 -
Win8下建立shortcut到开始界面
在win8前建立开始菜单都很容易,但到win8就有点不一样了,它的开始菜单是metro风格的。下面我们来看下具体的实现代码,有兴趣的朋友可以自己测试下。wchar_t szPath[MAX_PATH];SHGetSpecialFolderPath(nullptr, szPath, CSIDL_PROGRAMS, FALSE);PathAppend(szPath, L"testapp.l原创 2014-12-15 13:16:29 · 1874 阅读 · 0 评论 -
SDK中使用mfc
1.在stdafx.h中所有的头文件之前加入如下头文件: #include // MFC core and standard components #include // MFC extensions #include //原创 2015-06-29 18:00:10 · 1080 阅读 · 0 评论