
VC++
sundy_2004
这个作者很懒,什么都没留下…
展开
-
VC++中bmp图象的显示
前段时间想用VC的对话框来动态地显示一副BMP位图,查了很多篇文章发现都写的很复杂(而且貌似许多都是复制粘贴而来),真正有价值的不多.其实VC显示BMP文件是很方便的,所有的代码加在一起也不过五六行而已.因而特此将自己的经验写上blog,希望能对需要的人有所帮助. 要想在VC中动态显示位图,有两种比较简单的方法:1.显示已添加为为工程资源的位图准备工作:把图片加为工程的资源,设其句转载 2012-01-07 14:57:53 · 785 阅读 · 0 评论 -
VC API常用函数简单例子大全一
第一个:FindWindow根据窗口类名或窗口标题名来获得窗口的句柄,该函数返回窗口的句柄,这个函数的定义是这样的 HWND WINAPI FindWindow(LPCSTR lpClassName ,LPCSTR lpWindowName);第一个参数填窗口的类名,第二个填窗口的标题名,其实是不需要同时填两个参数的,也就是说,你只要知道窗口的类名或窗口的标题就可以了,没有的那个就用NUL转载 2012-07-19 21:58:20 · 948 阅读 · 0 评论 -
VC API常用函数简单例子大全四
第三十个CreateToolhelp32Snapshot给当前进程拍一个照HANDLE hProcessSnap=::CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS,0);//记住这种格式就行了,返回的句柄,存储有进程信息,可以用Process32Firs函数找出来。第三十一个Process32First根据CreateToolhel转载 2012-07-19 22:01:51 · 1394 阅读 · 0 评论 -
VC API常用函数简单例子大全五
第四十一个CreateCompatibleDC创建一个兼容的内存设备上下文(DC)根据DC创造一个兼容的内存DC,此时创造出来的内存DC仅仅是一些属性跟源DC一样,如DC的大小,以及对应窗口的宽高等。内存DC里的数据没有具体取值,需用其它函数给里面的数据赋值。第四十二个GetObject获取一个对象信息(如位图,图标,光标)函数定义:int GetObject(HG转载 2012-07-19 22:02:52 · 805 阅读 · 0 评论 -
VC API常用函数简单例子大全十二(下)
第一百一十六个SetViewportOrgEx将窗口原点(0,0)映射到设备坐标点X,Y函数定义:BOOL SetWindowOrgEx(HDC hdc, int X, int Y, LPPOINT lpPoint);hdc是要映射的设备上下文,X,Y是要映射的坐标,lpPoint是窗口原点原来所映射的坐标,不需获取可为NULL。比如这样一个语句:(假设hdc的设备模式为M转载 2012-07-19 22:11:46 · 792 阅读 · 0 评论 -
VC2008中编写Windows服务(Windows Service)程序
前几天面试,被问到这个问题,当时我说“没用vc做过,可能在.Net下面做比较简单吧,因为记得库里面好像封装了一下了”因为我记得以前的一个网站测试的一个项目好像也有这么一个工具的。今天又看到有人在百度知道问这个问题,于是就看了一下。在网上搜索一下,资料还是比较多的。回来用vc2008试了一下,如下:新建一个 ATL 项目-》 选择创建一个“服务”类型的ATL 项目,将生成如下转载 2012-08-05 08:47:59 · 4896 阅读 · 1 评论 -
VC API常用函数简单例子大全二
第十一个:GetClientRect获得窗口大小(客户区)看例子:#include#includeint main(int argc, char* argv[]){ HWND wnd; while(1) { wnd=FindWindow(NULL,"无标题.txt - 记事本"); RECT rect;//专门用来存储窗口大小 GetClie转载 2012-07-19 21:59:29 · 776 阅读 · 0 评论 -
VC API常用函数简单例子大全三
第二十一个CreateWindow创建一个窗口//补习懂的人直接跳过之前API函数的例子,都是针对DOS编程的,严格来说是在windows下的仿DOS(cmd)进行编程,编写控制台应用程序大家都知道,主函数是main,那针对windows编程的主函数也是main吗?不是的,windows下的主函数(入口函数)是WinMain。在定义main主函数的时候,可以给它带两个参数,也可以不转载 2012-07-19 22:00:30 · 1648 阅读 · 0 评论 -
VC API常用函数简单例子大全九
第八十一个WriteFile根据文件句柄,写入一段数据到文件中函数定义:BOOLWriteFile( HANDLE hFile,//文件句柄 LPCVOID lpBuffer,//该缓存区的数据将要写入到文件里 DWORD nNumberOfBytesToWrite,//指明写入多少数据 LPDWORD lpNumberOfBytesWritte转载 2012-07-19 22:07:44 · 757 阅读 · 0 评论 -
VC API常用函数简单例子大全十二(上)
第一百一十一个SizeofResource获取一个资源的大小函数定义:DWORD SizeofResource(HMODULE hModule,//模块句柄,同FindResource,LoadResource的模块句柄一样HRSRC hResInfo//资源位置句柄,是FindResource函数返回的句柄);例子:自定义资源,EXE文件包含DLL,双击该转载 2012-07-19 22:10:53 · 956 阅读 · 0 评论 -
VS2008 用 ATL 写 Windows 服务
1. 新建 ATL 工程,比如 ClientItem2. 选择 服务程序,然后点“完成”3. 在 类 CClientItemModule (ClientItem.cpp)添加以下代码 //修改服务名称和描述 HRESULT RegisterAppId(bool bService = false) throw() { HRESULT hr = S_OK;转载 2012-08-06 22:46:30 · 1604 阅读 · 0 评论 -
vc中调用Com组件的方法详解
需求:1.创建myCom.dll,该COM只有一个组件,两个接口: IGetRes--方法Hello(), IGetResEx--方法HelloEx()2.在工程中导入组件或类型库 #import "组件所在目录myCom.dll" no_namespace或 #import "类型库所在目录myCom.tlb" using namesp转载 2012-07-29 17:43:20 · 1037 阅读 · 0 评论 -
VC-自定义消息
自定义消息 WM_THREADMSG先在头文件中定义 #define WM_THREADMSG WM_USER+1(或者更高)然后再头文件DECLARE_MESSAGE_MAP处 写afx_msg LRESULT OnMsgFunc(WPARAM wparam,LPARAM lparam);注意返回值是LRESULT!! 然后在实现文件中BEGIN_MESSAGE_MAP(原创 2012-11-02 22:01:58 · 697 阅读 · 1 评论 -
VC API常用函数简单例子大全十三(上)
第一百二十个SQLConnect连接数据源(ODBC API)创建数据源有两种方法,一种用数据源ODBC管理器创建,一种用函数SQLConfigDataSource创建,先来说一下ODBC管理器创建,了解一些概念,首先用Access创建一个数据库(mdb文件),然后打开ODBC管理器,选择开始->设置->控制面板->管理工具->数据源(ODBC)。程序窗口如下:转载 2012-07-19 21:52:32 · 5036 阅读 · 0 评论 -
VC API常用函数简单例子大全十一
第一百零一个OpenFileMapping获取CreateFileMapping函数创建的文件映射对象句柄函数定义:HANDLEOpenFileMappingW( DWORD dwDesiredAccess,//取值参考MapViewOfFile函数的dwDesiredAccess参数 BOOL bInheritHandle,//依据CreateFileMappin转载 2012-07-19 22:10:00 · 1748 阅读 · 0 评论 -
VC API常用函数简单例子大全六
第五十一个SetWindowsHookEx安装一个钩子WINDOWS是基于消息的系统,鼠标移动,单击,键盘按键,窗口关闭等都会产生相应的消息,那么钩子是什么意思呢,它可以监控一个消息,比如在一个窗口里单击了一下,首先获得这个消息的,不是应用程序,而是系统,系统获取这个消息后,就去查看这个消息是在哪个窗口产生的,找到窗口后,再把消息投递到相应程序里的消息队列里,这之间有一个传递过程,那么钩子转载 2012-07-19 22:03:38 · 1340 阅读 · 0 评论 -
VC 剪贴板操作
一、设置剪贴板文本/**************************************************************************** 设置剪贴板文本 ****************************************************************************/ bool转载 2012-01-05 23:20:26 · 1050 阅读 · 0 评论 -
屏幕截图(带光标)
// 屏幕截图程序,可运行PC,WinCE,Windows Mobile平台上 void SaveScreenToFile(LPCTSTR szFileName) { HDC hScrDC = ::GetDC(NULL); HDC hMemDC = NULL; BYTE *lpBitmapBits = NULL;转载 2012-01-07 22:32:55 · 856 阅读 · 0 评论 -
VC 在CStatic控件上绘图
方法一:使用CStatic的成员函数SetBitmap();void fnDrawOnStatic1(){ CStatic * pStatic = (CStatic *)GetDlgItem(IDC_STATIC_TEST); HBITMAP hBitmap; hBitmap = (HBITMAP)::LoadImage(AfxGetInstanceHandl转载 2012-01-07 17:01:45 · 2030 阅读 · 0 评论 -
窗口截图(可指定HWND窗口句柄)
view plainBOOL SaveHwndToBmpFile(HWND hWnd, LPCTSTR lpszPath) { HWND hDesktop = ::GetDesktopWindow(); ASSERT(hDesktop); if(NULL == hWnd) { hWnd = hD转载 2012-01-07 22:30:29 · 3493 阅读 · 1 评论 -
窗口截图(二)
窗口截图,可以获取遮挡窗口完整的图像,并保存到bmp文件中去。主要用到的函数中PrintWindow,VC6不支持该函数,请使用VS2008来编译。其它需求如平台要求请参考MSDN文档。view plainvoid SaveHwndToBmpFile(HWND hWnd, LPCTSTR lpszPath) { HDC hDC = :转载 2012-01-07 22:31:29 · 781 阅读 · 0 评论 -
VC GDI编程
正文 所谓GDI(Graphics Device Interface,图形设备接口)其实就是API函数中专门针对于图形开发的函数集合这些函数都是Microsoft公司编写好的,为了能让开发人员快速地开发图形程序,开发人员只需要调用就行在谈GDI函数之前,一定要先讲一下数据,因为图形开发,肯定离不开数据以简单的二维图形为例,你想在窗口中显示一个正弦曲线,就必须有这个正弦曲线的数据,然后用转载 2012-01-07 23:33:28 · 1040 阅读 · 0 评论 -
VC++多线程编程
VC中多线程使用比较广泛而且实用,在网上看到的教程.感觉写的挺好.一、问题的提出编写一个耗时的单线程程序: 新建一个基于对话框的应用程序SingleThread,在主对话框IDD_SINGLETHREAD_DIALOG添加一个按钮,ID为IDC_SLEEP_SIX_SECOND,标题为“延时6秒”,添加按钮的响应函数,代码如下:vo转载 2012-02-06 22:03:28 · 2274 阅读 · 1 评论 -
深入研究 C++中的 STL Deque 容器
本文档深入分析了std::deque,并提供了一个指导思想:当考虑到内存分配和执行性能的时候,使用std::deque要比std::vector好。 介绍 本文深入地研究了std::deque 容器。本文将讨论在一些情况下使用deque> 比vector更好。读完这篇文章后读者应该能够理解在容量增长的过程中deque 与vector在内存分配和性能的不同表现。由于deque>转载 2012-02-18 18:16:12 · 612 阅读 · 0 评论 -
VC API常用函数简单例子大全十三(下)
第一百二十五个SQLDriverConnect连接数据库函数定义: SQLRETURN SQLDriverConnect( SQLHDBC ConnectionHandle,//hdbc句柄 SQLHWND WindowHandle,//窗口句柄,不显示窗口为NULL SQLCHAR * InConnecti转载 2012-07-19 21:55:19 · 1227 阅读 · 0 评论 -
VC API常用函数简单例子大全七
第六十一个GetWindowThreadProcessId根据窗口句柄获得对应进程ID号,和线程ID号函数只有两个参数,第一个参数是窗口句柄,第二个参数是一个DOWRD类型的指针(进程ID),函数返回线程ID如:DWORD ThreadId,ProcessId;ThreadId=GetWindowThreadProcessId(wnd,&ProcessId);转载 2012-07-19 22:05:02 · 903 阅读 · 0 评论 -
VC API常用函数简单例子大全八
第七十一个TextOut根据设备DC在窗口输出文字函数定义:BOOL TextOut(HDC hdc,// 设备DCint nXStart,// 窗口x坐标int nYStart,// 窗口y坐标,字符串左上角是将是x,yLPCTSTR lpString,// 字符串int cbString// 字符串中字符的个数);例子:在窗口输出文字,为了方便,这里依旧在"转载 2012-07-19 22:06:20 · 720 阅读 · 0 评论 -
VC API常用函数简单例子大全十
第九十一个CreateFont创建一种字体,函数返回字体句柄HFONTHFONT CreateFont(int nHeight,//字符高度int nWidth,//字符宽度,nHeight 和nWidth参数指明字体大小int nEscapement,//文本显示时的倾斜角度,以字符框左上角为原点,负数表示顺时针旋转,正数逆时针(如2700,旋转270度)int nOri转载 2012-07-19 22:09:09 · 1346 阅读 · 0 评论 -
VC下利用多线程实现文件的快速检索
操作系统一般都提供了文件搜索的功能,但采用的是顺序搜索,搜索效率很低。而且按此法编程十分烦琐,在目录层次很多时,往往不好处理。本文采用多线程技术实现文件的快速搜索,代码量很少,执行效率极高。 本文提出的多线程文件搜索的基本思想很简单,就是找到一个目录就开辟一个线程,而找到一个文件当然在线程内就处理了,这样实现了同步搜索。 操作系统一般都提供了文件搜索的功能,但采用的是顺序搜索,搜索转载 2012-12-15 22:02:04 · 1049 阅读 · 0 评论