- 博客(41)
- 资源 (6)
- 收藏
- 关注
转载 VC下利用多线程实现文件的快速检索
操作系统一般都提供了文件搜索的功能,但采用的是顺序搜索,搜索效率很低。而且按此法编程十分烦琐,在目录层次很多时,往往不好处理。本文采用多线程技术实现文件的快速搜索,代码量很少,执行效率极高。 本文提出的多线程文件搜索的基本思想很简单,就是找到一个目录就开辟一个线程,而找到一个文件当然在线程内就处理了,这样实现了同步搜索。 操作系统一般都提供了文件搜索的功能,但采用的是顺序搜索,搜索
2012-12-15 22:02:04
1044
原创 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
691
转载 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
1602
转载 VC2008中编写Windows服务(Windows Service)程序
前几天面试,被问到这个问题,当时我说“没用vc做过,可能在.Net下面做比较简单吧,因为记得库里面好像封装了一下了”因为我记得以前的一个网站测试的一个项目好像也有这么一个工具的。今天又看到有人在百度知道问这个问题,于是就看了一下。在网上搜索一下,资料还是比较多的。回来用vc2008试了一下,如下:新建一个 ATL 项目-》 选择创建一个“服务”类型的ATL 项目,将生成如下
2012-08-05 08:47:59
4891
1
转载 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
1035
转载 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
790
转载 VC API常用函数简单例子大全十二(上)
第一百一十一个SizeofResource获取一个资源的大小函数定义:DWORD SizeofResource(HMODULE hModule,//模块句柄,同FindResource,LoadResource的模块句柄一样HRSRC hResInfo//资源位置句柄,是FindResource函数返回的句柄);例子:自定义资源,EXE文件包含DLL,双击该
2012-07-19 22:10:53
955
转载 VC API常用函数简单例子大全十一
第一百零一个OpenFileMapping获取CreateFileMapping函数创建的文件映射对象句柄函数定义:HANDLEOpenFileMappingW( DWORD dwDesiredAccess,//取值参考MapViewOfFile函数的dwDesiredAccess参数 BOOL bInheritHandle,//依据CreateFileMappin
2012-07-19 22:10:00
1746
转载 VC API常用函数简单例子大全十
第九十一个CreateFont创建一种字体,函数返回字体句柄HFONTHFONT CreateFont(int nHeight,//字符高度int nWidth,//字符宽度,nHeight 和nWidth参数指明字体大小int nEscapement,//文本显示时的倾斜角度,以字符框左上角为原点,负数表示顺时针旋转,正数逆时针(如2700,旋转270度)int nOri
2012-07-19 22:09:09
1345
转载 VC API常用函数简单例子大全九
第八十一个WriteFile根据文件句柄,写入一段数据到文件中函数定义:BOOLWriteFile( HANDLE hFile,//文件句柄 LPCVOID lpBuffer,//该缓存区的数据将要写入到文件里 DWORD nNumberOfBytesToWrite,//指明写入多少数据 LPDWORD lpNumberOfBytesWritte
2012-07-19 22:07:44
756
转载 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
718
转载 VC API常用函数简单例子大全七
第六十一个GetWindowThreadProcessId根据窗口句柄获得对应进程ID号,和线程ID号函数只有两个参数,第一个参数是窗口句柄,第二个参数是一个DOWRD类型的指针(进程ID),函数返回线程ID如:DWORD ThreadId,ProcessId;ThreadId=GetWindowThreadProcessId(wnd,&ProcessId);
2012-07-19 22:05:02
901
转载 VC API常用函数简单例子大全六
第五十一个SetWindowsHookEx安装一个钩子WINDOWS是基于消息的系统,鼠标移动,单击,键盘按键,窗口关闭等都会产生相应的消息,那么钩子是什么意思呢,它可以监控一个消息,比如在一个窗口里单击了一下,首先获得这个消息的,不是应用程序,而是系统,系统获取这个消息后,就去查看这个消息是在哪个窗口产生的,找到窗口后,再把消息投递到相应程序里的消息队列里,这之间有一个传递过程,那么钩子
2012-07-19 22:03:38
1338
转载 VC API常用函数简单例子大全五
第四十一个CreateCompatibleDC创建一个兼容的内存设备上下文(DC)根据DC创造一个兼容的内存DC,此时创造出来的内存DC仅仅是一些属性跟源DC一样,如DC的大小,以及对应窗口的宽高等。内存DC里的数据没有具体取值,需用其它函数给里面的数据赋值。第四十二个GetObject获取一个对象信息(如位图,图标,光标)函数定义:int GetObject(HG
2012-07-19 22:02:52
804
转载 VC API常用函数简单例子大全四
第三十个CreateToolhelp32Snapshot给当前进程拍一个照HANDLE hProcessSnap=::CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS,0);//记住这种格式就行了,返回的句柄,存储有进程信息,可以用Process32Firs函数找出来。第三十一个Process32First根据CreateToolhel
2012-07-19 22:01:51
1393
转载 VC API常用函数简单例子大全三
第二十一个CreateWindow创建一个窗口//补习懂的人直接跳过之前API函数的例子,都是针对DOS编程的,严格来说是在windows下的仿DOS(cmd)进行编程,编写控制台应用程序大家都知道,主函数是main,那针对windows编程的主函数也是main吗?不是的,windows下的主函数(入口函数)是WinMain。在定义main主函数的时候,可以给它带两个参数,也可以不
2012-07-19 22:00:30
1647
转载 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
774
转载 VC API常用函数简单例子大全一
第一个:FindWindow根据窗口类名或窗口标题名来获得窗口的句柄,该函数返回窗口的句柄,这个函数的定义是这样的 HWND WINAPI FindWindow(LPCSTR lpClassName ,LPCSTR lpWindowName);第一个参数填窗口的类名,第二个填窗口的标题名,其实是不需要同时填两个参数的,也就是说,你只要知道窗口的类名或窗口的标题就可以了,没有的那个就用NUL
2012-07-19 21:58:20
947
转载 VC API常用函数简单例子大全十三(下)
第一百二十五个SQLDriverConnect连接数据库函数定义: SQLRETURN SQLDriverConnect( SQLHDBC ConnectionHandle,//hdbc句柄 SQLHWND WindowHandle,//窗口句柄,不显示窗口为NULL SQLCHAR * InConnecti
2012-07-19 21:55:19
1220
转载 VC API常用函数简单例子大全十三(上)
第一百二十个SQLConnect连接数据源(ODBC API)创建数据源有两种方法,一种用数据源ODBC管理器创建,一种用函数SQLConfigDataSource创建,先来说一下ODBC管理器创建,了解一些概念,首先用Access创建一个数据库(mdb文件),然后打开ODBC管理器,选择开始->设置->控制面板->管理工具->数据源(ODBC)。程序窗口如下:
2012-07-19 21:52:32
5033
转载 OpenCV的cvMatchTemplate用法
首先,参看上图。假设褐色的大图为待测图片,红色小图为模板图片。 1.result中数据的含义。 模板匹配函数cvMatchTemplate依次计算模板与待测图片的重叠区域的相似度,并将结果存入映射图像result当中,也就是说result图像中的每一个点的值代表了一次相似度比较结果。 2.result的尺寸大小。 如图可
2012-07-15 18:06:16
25882
3
转载 AutoITx3.DLL全部函数及说明
AutoItSetOption 调整各种函数/参数的运作方式。BlockInput 屏蔽/启用鼠标与键盘(输入)。CDTray 弹出或关闭光驱。ClipGet 获取剪贴板保存的数据(文本)。ClipPut 向剪贴板写入数据(文本)。ControlClick 向指定控件发送鼠标点击命令。ControlCommand 向指定控件发送命令
2012-05-19 10:30:30
3333
转载 背完这444句英语,你的口语绝对不成问题
1. I see. 我明白了。 2. I quit! 我不干了! 3. Let go! 放手! 4. Me too. 我也是。 5. My god! 天哪! 6. No way! 不行! 7. Come on. 来吧(赶快) 8. Hold on. 等一等。 9. I agree。 我同意。 10. Not bad. 还不错。 11. Not yet. 还没
2012-03-03 23:15:14
917
转载 利用OpenCV计算图像的垂直和水平积分投影
#include #include #pragma comment( lib, "cv.lib" )#pragma comment( lib, "cxcore.lib" )#pragma comment( lib, "highgui.lib" )int main(){ IplImage * src=cvLoadImage("lena.jpg",0);// cvSmooth(src
2012-02-18 22:35:43
6806
1
转载 深入研究 C++中的 STL Deque 容器
本文档深入分析了std::deque,并提供了一个指导思想:当考虑到内存分配和执行性能的时候,使用std::deque要比std::vector好。 介绍 本文深入地研究了std::deque 容器。本文将讨论在一些情况下使用deque> 比vector更好。读完这篇文章后读者应该能够理解在容量增长的过程中deque 与vector在内存分配和性能的不同表现。由于deque>
2012-02-18 18:16:12
610
原创 OpenCv矩阵操作
有很多函数有mask,代表掩码,如果某位mask是0,那么对应的src的那一位就不计算,mask要和矩阵/ROI/的大小相等大多数函数支持ROI,如果图像ROI被设置,那么只处理ROI部分少部分函数支持COI,如果COI设置,只处理感兴趣的通道矩阵逻辑运算void cvAnd(const CvArr* src1,const CvArr* src2, CvArr* d
2012-02-15 22:31:36
1511
转载 OpenCV直方图均衡化(cvEqualizeHist)
我们可以对图像做点事情尝试扩大其动态范围,对这个操作最常用的技术是直方图均衡化,可以将比较淡的图像变换为比较深的图像(即增强图像的亮度及对比度)。直方图均衡化后面潜在的数学原理是一个分布(输入的亮度直方图)被映射到另一个分布(一个更宽,理想统一的亮度值分布),映射函数是一个累积分布函数。对于连续分布,结果将是准确的均衡化。在cvEqualizeHist中,原始图像及目标图像必须是单通道,大小相同的
2012-02-14 22:51:46
27411
转载 VC++多线程编程
VC中多线程使用比较广泛而且实用,在网上看到的教程.感觉写的挺好.一、问题的提出编写一个耗时的单线程程序: 新建一个基于对话框的应用程序SingleThread,在主对话框IDD_SINGLETHREAD_DIALOG添加一个按钮,ID为IDC_SLEEP_SIX_SECOND,标题为“延时6秒”,添加按钮的响应函数,代码如下:vo
2012-02-06 22:03:28
2271
转载 OpenCV_轮廓的查找、表达、绘制、特性及匹配
虽然Canny之类的边缘检测算法可以根据像素间的差异检测出轮廓边界的像素,但是它并没有将轮廓作为一个整体。下一步是要将这些边缘像素组装成轮廓。轮廓是构成任何一个形状的边界或外形线。直方图对比和模板匹配根据色彩及色彩的分布来进行匹配,以下包括:轮廓的查找、表达方式、组织方式、绘制、特性、匹配。首先回忆下几个结构体:首先是图像本身的结构体:typedef struct
2012-02-05 15:39:05
4253
转载 opencv使用cvFindContours提取联通域
// m_imgFeature为黑白目标图像,白色为前景,黑色为背景// 注意此函数会修改m_imgFeature内容。若其不可更改,应另建立副本// 1. count contourCvMemStorage* storage = 0;storage = cvCreateMemStorage(0); //开辟默认大小的空间CvSeq* contour = 0;
2012-02-03 23:11:58
1302
转载 MFC使用Opencv常用函数
================================1 显示IplImage到指定窗口==================================public:BITMAPINFO *m_pBITMAPINFO_24;// 24位真彩图BITMAPINFO格式固定,提前创建1次并保存指针BITMAPINFO *m_pBITMAPINFO_08;// 8位灰度图BIT
2012-02-03 21:53:00
807
原创 图像连通域的标定
[图片] 图像连通域的标定(OpenCv版)[图片] 图像连通域的标定(OpenCv版)[代码] [C/C++]代码view sourceprint?01#include "cv.h"02#include "cxcore.h
2012-02-02 23:07:13
1356
转载 OpenCV像素点处理
获得像素点的值便可以更加灵活的进行图像处理,在OpenCV里可以通过cvGet2D()和cvSet2D()两个函数加上一个CvScalar结构体做到。OpenCV中,CvScalar结构为:typedef struct CvScalar{ double val[4];}CvScalar; 4个double型变量,算法处理时不至于被强制类型转换而降低精度了。
2012-02-01 22:02:52
1064
原创 OpenCV合并图像
如果要合并两张或者多张图片,我们可以采用这样的思路,设置ROI。以合并两张大小320x240的图像为例:A 需要创建一张640x240的图像dstImage。B 把dstImage的ROI设置为Rect(0,0,320,240),刚好可以放一张小图像。C 然后把小图像image1 COPY到dstImage中。D 重新设置ROI,针对第二张小图像image2重复B和C的操作。I
2012-02-01 20:05:37
5346
转载 VC GDI编程
正文 所谓GDI(Graphics Device Interface,图形设备接口)其实就是API函数中专门针对于图形开发的函数集合这些函数都是Microsoft公司编写好的,为了能让开发人员快速地开发图形程序,开发人员只需要调用就行在谈GDI函数之前,一定要先讲一下数据,因为图形开发,肯定离不开数据以简单的二维图形为例,你想在窗口中显示一个正弦曲线,就必须有这个正弦曲线的数据,然后用
2012-01-07 23:33:28
1040
转载 屏幕截图(带光标)
// 屏幕截图程序,可运行PC,WinCE,Windows Mobile平台上 void SaveScreenToFile(LPCTSTR szFileName) { HDC hScrDC = ::GetDC(NULL); HDC hMemDC = NULL; BYTE *lpBitmapBits = NULL;
2012-01-07 22:32:55
853
转载 窗口截图(二)
窗口截图,可以获取遮挡窗口完整的图像,并保存到bmp文件中去。主要用到的函数中PrintWindow,VC6不支持该函数,请使用VS2008来编译。其它需求如平台要求请参考MSDN文档。view plainvoid SaveHwndToBmpFile(HWND hWnd, LPCTSTR lpszPath) { HDC hDC = :
2012-01-07 22:31:29
780
转载 窗口截图(可指定HWND窗口句柄)
view plainBOOL SaveHwndToBmpFile(HWND hWnd, LPCTSTR lpszPath) { HWND hDesktop = ::GetDesktopWindow(); ASSERT(hDesktop); if(NULL == hWnd) { hWnd = hD
2012-01-07 22:30:29
3489
转载 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
2023
转载 VC++中bmp图象的显示
前段时间想用VC的对话框来动态地显示一副BMP位图,查了很多篇文章发现都写的很复杂(而且貌似许多都是复制粘贴而来),真正有价值的不多.其实VC显示BMP文件是很方便的,所有的代码加在一起也不过五六行而已.因而特此将自己的经验写上blog,希望能对需要的人有所帮助. 要想在VC中动态显示位图,有两种比较简单的方法:1.显示已添加为为工程资源的位图准备工作:把图片加为工程的资源,设其句
2012-01-07 14:57:53
783
Visual Assist X 10.6.1830完美破解版(带VS2010破解)
2010-09-05
WindowsAPI参考大全
2010-06-13
Visual Assist X 10.6.1825完美破解版(带VS2010破解)
2010-06-08
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人