文章分类 - VC++ API
VC++ 函数
摘要:_T("Hello")是一个宏,他的作用是让你的程序支持Unicode编码,因为Windows使用两种字符集ANSI和UNICODE,前者就是通常使用的单字节方式,但这种方式处理象中文这样的双字节字符不方便,容易出现半个汉字的情况。而后者是双字节方式,方便处理双字节字符。Windows NT的所有与字符有关的函数都提供两种方式的版本,而Windows 9x只支持ANSI方式。 如果你编译一个程序为ANSI方式,_T实际不起任何作用。而如果编译一个程序为UNICODE方式,则编译器会把"Hello"字符串以UNICODE方式保存。_T和_L的区别在于,_L
阅读全文
摘要:二 字符串指针类型(1) LPCSTR:32位静态字符串指针,可以直接赋值使用,如LPCSTR str=”mingrisofg”;(2) LPSTR:32位字符串指针,如LPSTR str; str=new char[256];(3) LPCTSTR:32位UNICODE型静态字符串指针,如 LPCTSTR str=_T(“mingrisoft”);(4) LPTSTR: 32位UNICODE型字符串指针,如LPTSTR str=new TCHAR[256];三 BSTR(进行COM编程时使用的字符串类型)与CString之间的转化:1. 对BSTR变量赋值时:BSTR bstr=NULL;b
阅读全文
摘要:本文转自http://www.cnblogs.com/JCSU/articles/1299051.htmlhttp://blog.csdn.net/sundongsdu/article/details/7205936注:以下全部代码的执行环境为VC++ 6.0在程序中,可能需要为某些整数定义一个别名,我们可以利用预处理指令#define来完成这项工作,您的代码可能是:#defineMON1#defineTUE 2#defineWED3#defineTHU 4#defineFRI 5#defineSAT 6#defineSUN 7在此,我们定义一种新的数据类型,希望它能完成同样的工作。这种新的数
阅读全文
摘要:JavaScript函数代码:function A(){ return 5;}VC代码: CScriptControl Test;CRect rect;Test.Create("TestScript",0,rect,this,100);Test.SetLanguage("JavaScript");CString strStat="function A(){"return 5;"} ret=A();"Test.AddCode(strStat);VARIANT A=Test.Eval("ret");
阅读全文
摘要:自身窗口句柄可用AfxGetMainWnd获取。系统中其他APP的窗口句柄可用FindWindow获取(用SPY帮一下忙).AfxGetMainWnd获取自身窗口句柄。可用FindWindow获取系统中其他窗口句柄.?12HWND hWnd = AfxGetMainWnd()->m_hWnd; HWND hWnd =::FindWindow(NULL,"XXXXXX");如:?12345678HWND hBtnClose; HWND hWnd=::FindWindow(NULL,"腾讯QQ系统广播"); if(hWnd) { hBtnClose=G
阅读全文
摘要:virtual 关键词可以将一个类的函数说明为虚函数虚函数的主要用处是对派生类实现动态联编.举例说明一下:class a{ virtual int func(){return 1;}}class b:public a{ int func(){return 2;}}void main(){ a *p; p=new b; p->func();//得到的结果是2.}由上面简单的例子可知,一个基类的指针可以指向他的子类,使用该指针调用函数时,如果调用的函数在基类中被说明为虚函数,那么子类中该函数也自动成为虚函数,调用时会根据指针所指向的对象调用相应类的虚函数.实现动态联编.更详细的说明你可以看一
阅读全文
摘要:详细:http://wenku.baidu.com/view/a18fe554f01dc281e53af059.html摘要:1.简单的函数指针的应用2.使用Typedef更直观更方便
阅读全文
摘要:void CCFileDialogDlg::OnButton() {CWnd* hwnd = (CWnd*)GetDlgItem(IDCANCEL); //获取控件的指针;HWND H = hwnd->m_hWnd; //再获取控件的句柄;hwnd->SendMessage(BM_CLICK,0,0);::SendMessage(H,BM_CLICK,0,0);}SDK的SendMessage参数个数是四个 MFC的SendMessage参数个数是三个
阅读全文
摘要:在 OnInitDialog 中 DWORD dwStyle = GetWindowLong(m_hWnd, GWL_STYLE); dwStyle &= ~WS_MAXIMIZEBOX; dwStyle &= ~WS_MINIMIZEBOX; dwStyle &= ~WS_MINIMIZEBOX; dwStyle &= ~WS_SYSMENU; SetWindowLong(m_hWnd,GWL_STYLE,dwStyle);
阅读全文
摘要:void CheckString( CString str ){BOOL bIsDigit = TRUE;int nCount = str.GetLength(); // 获得字符个数for ( int i = 0; i < nCount; i ++ ){ if ( 0 == isdigit( str.GetAt(i) ) ) // 不是数字就置标志位 { bIsDigit = FALSE; break;// 退出 }}if ( bIsDigit ) //如果始终是,那么表示全是数字,给予提示{ ::MessageBox( NULL, TEXT("Is Digit")
阅读全文
摘要:一、前言 在VC环境中除了我们所常用的Dialog、Menu和Bitmap等标准资源类型之外,它还支持自定义资源类型(Custom Resource),我们自定义的资源类型能做些什么呢?呵呵,用处多多。1. 默认的皮肤压缩包或语言包。一些支持换肤的软件特别是一些媒体播放器常常有自定义的皮肤文件(你可以尝试将Media Player或千千静听等软件的Skins目录下的文件的扩展名改为.zip,然后使用WinZip打开看一下),但为了防止Skin文件丢失导致软件无 法显示,他们常常会在EXE文件中内置一套Skin作为默认的皮肤文件。同样,一些支持多语言的EXE文件中存在默认语言包也是这个道理(当.
阅读全文
摘要:声明函数指针 回调函数是一个程序员不能显式调用的函数;通过将回调函数的地址传给调用者从而实现调用。要实现回调,必须首先定义函数指针。尽管定义的语法有点不可思议,但如果你熟悉函数声明的一般方法,便会发现函数指针的声明与函数声明非常类似。请看下面的例子:void f();// 函数原型上面的语句声明了一个函数,没有输入参数并返回void。那么函数指针的声明方法如下:void (*) ();转自:http://www.vckbase.com/document/viewdoc/?id=195/*总结:void (*Abc) (); 在*星号后面的Abc就是指针变量、函数指针,又或者叫指向函数的指针,只
阅读全文
摘要:装载DLL HMODULE LoadLibrary( LPCTSTR lpFileName ); 获得所需函数 FARPROC GetProcAddress( HMODULE hModule, LPCSTR lpProcName ); 释放DLL BOOL FreeLibrary( HMODULE hModule ); 具体见MSDN转自:http://topic.csdn.net/t/20040720/16/3192962.html
阅读全文
摘要:srand((unsigned)time(NULL)); int Num = rand(); //请求的地址 CString getData; getData.Format("http://ptlogin2.qq.com/getimage?aid=8000201&%d",Num); //请求验证码地址 获取图片数据 CInternetSession Session; CHttpFile *HttpFile = (CHttpFile*)Session.OpenURL(getData); //图片大小 DWORD m_len; //获取图片大小 HttpFile->
阅读全文
摘要:CString sFileName = "abc.exe"; CString strFilePath; CFileDialog fileDlg(FALSE, "exe", sFileName,OFN_OVERWRITEPROMPT|OFN_HIDEREADONLY); fileDlg.m_ofn.lpstrTitle = "保存文件"; fileDlg.m_ofn.lpstrFilter = "All Files(*.*)\0*.*\0\0"; if(IDOK == fileDlg.DoModal()) { str
阅读全文
摘要:转自:http://www.cnblogs.com/kaixuan/archive/2008/01/31/1060233.html一、GET 数据,下载网页,文件等,用于可下载的文件,不能用于服务端运行的程序,比如.aspx文件等,否则会返回500错误。1CString strSentence, strWriteName="1.htm";2 CString strFileName="http://localhost/InDesign/" + strWriteName;34 CInternetSession sess;5 CHttpFile* fileGe
阅读全文
摘要:通用头域 通用头 域包含请求和响应消息都支持的头域,通用头域包含Cache-Control、 Connection、Date、Pragma、Transfer-Encoding、Upgrade、Via。对通用头域的扩展要求通讯双方都支持此扩 展,如果存在不支持的通用头域,一般将会作为实体头域处理。下面简单介绍几个在UPnP消息中使用的通用头域。 Cache-Control头域 Cache -Control指定请求和响应遵循的缓存机制。在请求消息或响应消息中设置 Cache-Control并不会修改另一个消息处理过程中的缓存处理过程。请求时的缓存指令包括no-cache、no-stor...
阅读全文
摘要:运行环境:VS2005, ANSI字符集void CHelloView::OnBnClickedButton1(){ // TODO: 在此添加控件通知处理程序代码 CInternetSession Sess; CHttpFile *Http = NULL; CString HtmlSource = ""; char Buf[1024]; USES_CONVERSION; Http = ( CHttpFile* ) Sess.OpenURL( "http://www.baidu.com" ); //Http->ReadString( HtmlSou
阅读全文
摘要:下面详细分析C++类的问题,C++类是对某一类对象的抽象;而对象是某一种类的实例,因此,类和对象是密切相关的,正因为类和对象有很强的关联性,所以进行对C++类操作时需要十分注意。什么是C++类C++类是一种复杂的数据类型,它是将不同类型的数据和与这些数据相关的操作封装在一起的集合体。这有点像C语言中的结构,唯一不同的就是结构没有定义所说的“数据相关的操作”,“数据相关的操作”就是我们平常经常看到的“方法”,因此,类具有更高的抽象性,类中的数据具有隐藏性,类还具有封装性。类的结构(也即类的组成)是用来确定一类对象的行为的,而这些行为是通过类的内部数据结构和相关的操作来确定的。这些行为是通过一种操
阅读全文
摘要:/*初学阶段,下面的代码仅公学习 ~_~ */class CArray {public:int i;char str[25];CArray(int i = 10, char str[25] = "aaa");}; //声明类,最后要加分号“;”结束,否则出错。/*上以声明的类可以放在.h头文件中,也可以与下面的代码一起放在.cpp实现文件中*/CArray::CArray(int i, char str[25]) //定义构造函数,也就是实体部分;{str = "yy";AfxMessageBox(str);}void CClassNDlg::OnBut
阅读全文