vc
N3verL4nd
中年老男人~
展开
-
《windows程序设计》第一章学习心得
#include int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow){ MessageBox(NULL, TEXT("Hello World"), TEXT("Hello"), 0);}windows.h囊括了很多其他windows头文件,下面原创 2013-03-13 23:29:37 · 2100 阅读 · 0 评论 -
gdiplus exception
#include #include #include using namespace Gdiplus;#pragma comment(lib, "gdiplus.lib")int main(){ GdiplusStartupInput gdiplusStartupInput; ULONG_PTR gdiplusToken; GdiplusStartup(&gdiplusToke原创 2016-09-26 15:56:26 · 498 阅读 · 0 评论 -
GDI+ Hello World
GDI+和GDI区别以及一些新特征http://www.cnblogs.com/kekec/archive/2010/09/28/1837427.html详细使用说明见MSDN:https://msdn.microsoft.com/en-us/library/vs/alm/ms533802(v=vs.85).aspx/*** @file tutorial.cpp* @C原创 2016-09-26 12:55:37 · 455 阅读 · 0 评论 -
使用CStatic显示图片(bmp、ico、png)
一、显示bmp及ico //h文件 CStatic m_static; //cpp文件 CBitmap bitmap; bitmap.LoadBitmapW(IDB_BITMAP); //加载位图 BITMAP bmp; bitmap.GetBitmap(&bmp); //获取位图参数 CRect rect(10,10,10+bmp.bmWidth,10+bmp.bmHeight); //转载 2016-09-25 20:00:30 · 5609 阅读 · 0 评论 -
毛玻璃
//贝神杰作,仅作记录,以后学习#define GDIPVER 0x0110 //定义高版本的GDI+(1.1)#include #include #include #include #include #pragma comment(lib,"GdiPlus.lib")using namespace Gdiplus;#include #pragma comment(lib,原创 2012-11-14 20:11:20 · 1884 阅读 · 1 评论 -
Win32实现迷宫
跟着杨立祥老师的课程,为了完成扫雷的作业,打算先用DFS/BFS实现路径搜索的简单Demo。生成迷宫:/*扫雷程序生成方砖*/#include #include #include #include #include #include "resource.h"LRESULT CALLBACK WndProc(HWND, UINT, WPARAM, LPARAM);in原创 2016-04-26 21:28:39 · 866 阅读 · 0 评论 -
c++实现查询天气预报
用到的函数、API等1、中央气象台API返回的JSON数据(http://m.weather.com.cn/data/101010100.html)2、外网获取IP(http://ip.dnsexit.com/index.php)3、Sqlite(1中的城市代号利用sqlite3实现查询)4、C++中GB2312字符串和UTF-8之间的转换(见这篇文章http://blog.csd原创 2013-02-16 15:51:16 · 7042 阅读 · 1 评论 -
Unicode字符集和多字节字符集关系
http://blog.csdn.net/stephen1315/article/details/7476236Unicode字符集和多字节字符集关系在计算机中字符通常并不是保存为图像,每个字符都是使用一个编码来表示的,而每个字符究竟使用哪个编码代表,要取决于使用哪个字符集(charset)。 在最初的时候,Internet上只有一种字符集——ANSI的ASCII字转载 2016-04-09 21:37:00 · 564 阅读 · 0 评论 -
InvalidateRect只是增加重绘区域,在下次WM_PAINT的时候才生效
InvalidateRect函数中的参数TRUE表示系统会在你画之前用背景色将所选区域覆盖一次,默认背景色为白色,可以通过设置BRUSH来改变背景色。Invalidate()之后:...OnPaint()->OnPrepareDC()->OnDraw()所以只是刷新在OnPaint()和OnDraw()函数中的绘图语句。其它地方没有影响。Invalidate标记一个需要重绘转载 2016-04-09 21:40:46 · 1489 阅读 · 0 评论 -
c/c++实现获取NOD32升级账号密码
功能有待完善和添加#include #include #include #include #include #include #include using namespace std;//通过Wget来获取网页string GetHtmlByWget(string url){ //获取待下载网页文件名 string fileName = url.subst原创 2013-01-25 15:30:45 · 1015 阅读 · 0 评论 -
wget 编译方法
解压缩wget源代码到一个目录将openssl解压缩以后的 inc32\openssl 目录里面全部文件复制到 wget src\openssl 目录里;在 wget 目录里面执行 configure --msvc进入VC安装路径,执行 VCVARS32.BAT(vc6一般在 Microsoft Visual Studio\VC98\Bin目录),这一步是设置临时的环境变量;还是使原创 2013-01-28 19:06:18 · 3485 阅读 · 0 评论 -
wget中文乱码解决方案
wget 是一个命令行的下载工具。对于很多Linux 用户来说,几乎每天都在使用它.用处大大的,不仅可以平常 的下载,而且可以镜像整个网站.最关键的一点是,它不会像windows中的webZIP一样,因为你不交钱,就在下载回来的网页中嵌入广告.呵呵wget非常高效,但是国际化程度显然还不够.在下载过程中,如果遇到文件名中有中文的话,十有八九下载回来的文件会是一堆乱码.当时在镜像code转载 2013-02-07 15:50:29 · 2650 阅读 · 1 评论 -
ATL的GUI程序设计(4)
第四章 对话框和控件对于Win32 GUI的程序设计来说,其实大部分的情况下我们都不需要自己进行窗口类的设计,而是可以使用Win32中与用户交互的标准方式——对话框(Dialog Box)。我们可以在VC IDE的资源设计器中设计对话框资源,并在其上放置各种控件资源——的确是非常方便。在本章里,李马将要向诸位介绍如何利用ATL来操作对话框,以及如何操作对话框上的各种控件。题外话先转载 2016-09-29 08:21:05 · 647 阅读 · 0 评论 -
MFC对话框和控件
对话框和控件对话框是Windows应用程序中一种常用的资源,其主要功能是输出信息和接收用户的输入数据。控件是嵌入在对话框中或其它父窗口中的一个特殊的小窗口,它用于完成不同的输入、输出功能。对话框与控件关系密切,在每个对话框上一般都有一些控件,对话框依靠这些控件与用户进行信息的交互。 在MFC中,对话框的功能被封装在CDialog类中,而CDialog类是CWnd类的派生类。作转载 2016-09-27 09:53:07 · 816 阅读 · 0 评论 -
《windows程序设计》第二章学习心得
Unicode简介Unicode是ASCII字符编码的一个扩展。Unicode用的是16位字符编码,而不是像ASCII那样的7位编码。-------------------------------------------------------------------------------------------------------------------------------原创 2013-03-20 19:29:27 · 1522 阅读 · 0 评论 -
《windows程序设计》第三章学习心得
第三章是基于对一个windows窗口的学习,来达到对windows程序运行机制的理解。原创 2013-09-11 16:10:50 · 1099 阅读 · 0 评论 -
windows消息机制
一 Windows中有一个系统消息队列,对于每一个正在执行的Windows应用程序,系统为其建立一个“消息队列”,即应用程序队列,用来存放该程序可能创建的各种窗口的消息。应用程序中含有一段称作“消息循环”的代码,用来从消息队列中检索这些消息并把它们分发到相应的窗口函数中。 二 Windows为当前执行的每个Windows程序维护一个「消息队列」。在发生输入事件之后,Windows将转载 2013-09-12 21:02:46 · 797 阅读 · 0 评论 -
WTL使用双缓冲避免重绘闪烁
1、继承自CDoubleBufferImpltemplate class CDoubleBufferImpl{public:// Overrideables void DoPaint(CDCHandle /*dc*/) { // must be implemented in a derived class ATLASSERT(FALSE); }// Message m原创 2016-10-17 19:55:45 · 960 阅读 · 0 评论 -
gdi+学习笔记
RECT rect; //获得客户区坐标 GetClientRect(&rect); //Graphics作图对象 Graphics g(m_hWnd);画线:Pen pen(Color(255, 0, 0, 0)); g.DrawLine(&pen, rect.left, rect.top, rect.right, rect.bottom); g.DrawLi原创 2016-10-17 16:04:19 · 465 阅读 · 0 评论 -
C语言实现查询whois
#define _CRT_SECURE_NO_WARNINGS#include #include #include #include int main(){ HANDLE handle; FILE *fp; FILE *foutput; int i, j, k, l; char szDomain[1024 * 4]; char szBuf[1024 * 4]; hand原创 2013-09-16 19:09:53 · 1473 阅读 · 0 评论 -
ATL窗口
标准的Windows应用程序框架:/*------------------------------------------------------------ HELLOWIN.C -- Displays "Hello, Windows 98!" in client area (c) Charles Petzold, 1998 -----------原创 2016-10-01 13:47:15 · 455 阅读 · 0 评论 -
ATL的GUI程序设计(3)
第三章 ATL的窗口类CWindowImpl、CWindow、CWinTraits,ATL窗口类的奥秘尽在此三者之中。在本章里,李马将为你详细解说它们的使用方法。另外,本章的内容也可以算是本书的核心部分——如果你要进行ATL的GUI程序设计的话,就必须将ATL的窗口类设计理念了然于心。窗口的组成把ATL的窗口类撇开不谈先。我在上一章中提到:窗口类并非任何一种OOP语言中的类转载 2016-09-29 07:59:53 · 566 阅读 · 0 评论 -
ATL的GUI程序设计(2)
from:http://blog.titilima.com/atlgui-2.html第二章 一个最简单窗口程序的转型我知道,可能会有很多朋友对上一章的“Hello, World!”ATL版不以为然,因为它并不能算是什么ATL程序——毕竟它只不过是有了个CComModule而已。不过不管怎样我还是要说,它几乎仍然拥有了一个ATL GUI程序的所有组成部分:入口、初始化、转载 2016-09-28 22:07:57 · 445 阅读 · 0 评论 -
ATL的GUI程序设计(1)
from:http://blog.titilima.com/atlgui-1.html第一章 不能免俗的“Hello, World!”在这一章里,就像所有的入门级教程一样,我也将不能免俗地以一个“Hello, World!”程序开始我的教程。然后,我将逐步深入,向你介绍这个ATL版本程序中所有必要的信息。此外,我还将介绍一些Win32中你可能不知道的东西,包括WinMain的_转载 2016-09-28 20:49:21 · 544 阅读 · 0 评论 -
ATL的GUI程序设计(前言)
前言也许,你是一个顽固的SDK簇拥者;也许,你对MFC抱着无比排斥的态度,甚至像我一样对它几乎一无所知;也许,你符合上面两条,而且正在寻求着一种出路;也许,你找到了一条出路——WTL,但是仍然为它的技术支持、它的上下兼容性感到担忧;也许,你还有着更多的也许;也许,这时候你看到了李马的这篇文章。世界上的故事,往往就是由各种“也许”交织而成的。我的转型历史告诉我,在转载 2016-09-28 20:50:07 · 486 阅读 · 0 评论 -
静态链接库LIB和动态链接库DLL的区别
静态链接库LIB和动态链接库DLL的区别 创建和示例 1.什么是静态连接库,什么是动态链接库 静态链接库与动态链接库都是共享代码的方式,如果采用静态链接库,则无论你愿不愿意,lib 中的指令都全部被直接包含在最终生成的 EXE 文件中了。但是若使用 DLL,该 DLL 不必被包含在最终 EXE 文件中,EXE 文件执行时可以“动态”地引用和卸载这个与 EXE 独立的 DLL 文件。静态转载 2013-02-16 12:50:30 · 843 阅读 · 0 评论 -
PlaySound详解
PlaySound函数的声明为:BOOL PlaySound(LPCSTR pszSound, HMODULE hmod,DWORD fdwSound);PlaySound(NULL,NULL,NULL);停止播放。 参数pszSound是指定了要播放声音的字符串(一般是绝对路径,如果把声音文件拷到可执行文件所在路径就可以直接用声音文件名),该参数可以是WAVE文件的名字,或是WA转载 2013-06-03 19:04:11 · 1311 阅读 · 0 评论 -
在共享DLL中使用MFC 和在静态库中使用MFC区别
使用VS2008,在项目属性中有一项MFC的使用,有三种设置: 1.使用标准Windows库 2.在共享DLL中使用MFC 3.在静态库中使用MFC 第一种顾名思义。第二种指的是打包时一些MFC的DLL的内容没有被包含在EXE文件中,所以EXE文件较小,但是运行时要求系统中要有相关的DLL文件。第三种是将DLL中的相关代码写进EXE文件中,文件较大,但是可以在没有相关DLL的转载 2013-02-16 12:45:59 · 852 阅读 · 0 评论 -
SetConsoleTextAttribute设置颜色后的恢复
1、#define _CRT_SECURE_NO_WARNINGS#include #include #include #include int main(){ HANDLE handle; //WORD wOldColorAttrs; //CONSOLE_SCREEN_BUFFER_INFO csbiInfo; handle = GetStdHandle(STD_O原创 2013-09-16 18:51:28 · 3113 阅读 · 0 评论 -
illegal use of this type as an expression
学习MCI时看别人样例手敲代码出现的一个很经典的错误。在C语言中定义的变量没有放在函数的开头。#include #include #include #include #pragma comment(lib, "winmm.lib")int main(){ char buf[128]; MCI_OPEN_PARMS mciOpen; MCIERROR mciErr原创 2013-09-11 20:25:15 · 1488 阅读 · 0 评论 -
VC简单实现播放音乐
#define _CRT_SECURE_NO_WARNINGS#include #include #include #include #include #pragma comment(lib, "winmm.lib")void getMusic();void getLyric();int main(){ getLyric(); getMusic(); return 0原创 2013-09-12 00:14:25 · 1497 阅读 · 0 评论 -
Visual Studio 2012 出现关于ActivityLog.xml错误的解决方案
由sp1升级sp2后出现的错误。devenv.exe /safemode启动下,就可以了命令列參數描述/Command (devenv.exe)啟動 IDE 並執行指定的命令。/DebugExe (devenv.exe)在偵錯工具的控制下載入 Visual C++ 可執行原创 2013-06-19 22:10:35 · 4068 阅读 · 0 评论 -
利用SetConsoleTextAttribute函数设置控制台颜色
控制台单调的颜色只有黑白两种,看起来多少难免有些单调。在没学图形化编程之前,每天看着控制台程序难免会枯燥无味。不过,利用SetConsoleTextAttribute函数可以设置控制台的前景色和背景色。闲言少叙,书归正传。①效果图:(颜色可以混合,遵循配色原理)#include #include using namespace std;int main()转载 2013-04-17 14:56:49 · 1677 阅读 · 0 评论 -
VS2010如何为所有工程配置环境
Property Manager->Debug|Win32->Microsoft.Cpp.Win32.user属性管理器Microsoft.cpp.win32.user这里可以像以前一样设置全局include和lib原创 2013-04-16 23:19:06 · 1348 阅读 · 0 评论 -
Windows环境下Unicode编程总结
UNICODE环境设置在安装Visual Studio时,在选择VC++时需要加入unicode选项,保证相关的库文件可以拷贝到system32下。 UNICODE编译设置:C/C++, Preprocessor difinitions 去除_MBCS,加_UNICODE,UNICODE在ProjectSetting/link/output 中设置Entry为wWinMai转载 2013-03-21 22:40:45 · 1264 阅读 · 0 评论 -
error LNK2019: unresolved external symbol _WinMain@16 referenced in function ___tmainCRTStartup
一、问题描述:error LNK2019: unresolved external symbol _WinMain@16 referenced in function ___tmainCRTStartup二、产生原因:1. 你用vc建了一个控制台程序,它的入口函数应该是main, 而你使用了WinMain.2. 你用vc打开了一个.c/.cpp 文件,然后原创 2013-03-21 15:03:07 · 10652 阅读 · 2 评论 -
VC获取外网IP
#include #include using namespace std;int main(){ CInternetSession session(_T("cctry.com")); CHttpFile *pFile = NULL; CStdioFile *ptFile = NULL; CString strT原创 2013-02-10 17:55:13 · 1362 阅读 · 0 评论 -
MFC实现播放SWF
shockwaveflash4.cpp// 计算机生成了由 Microsoft Visual C++ 创建的 IDispatch 包装类// 注意: 不要修改此文件的内容。如果此类由// Microsoft Visual C++ 重新生成,您的修改将被覆盖。#include "stdafx.h"#include "shockwaveflash4.h"//////////原创 2013-01-04 20:57:47 · 1731 阅读 · 0 评论 -
GetWindowRect与GetClientRect 的区别
GetWindowRect 函数功能:该函数返回指定窗口的边框矩形的尺寸。该尺寸以相对于屏幕坐标左上角的屏幕坐标给出。 函数原型:BOOL GetWindowRect(HWND hWnd,LPRECTlpRect); 在Visual Studio 2005中,函数原型为void GetWindowRect(LPRECT lpRect) const; 是属于CWnd类的函数.转载 2013-09-18 15:36:41 · 1729 阅读 · 0 评论 -
如何播放 WAV 文件?
from http://www.vckbase.com/index.php/wv/434平时,你在多媒体软件的设计中是怎样处理声音文件的呢?使用Windows 提供的API函数 sndPlaySound来实现WAV文件的播放?但是,你有没有遇到过这种情况呢:当WAV文件大于可用内存时,sndPlaySound 函数就不能进行播放!!!那么,如何利用MCI播放大型音频文件呢?本文将介转载 2013-09-19 00:40:47 · 3454 阅读 · 0 评论