![](https://img-blog.csdnimg.cn/20201014180756919.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C/C++
文章平均质量分 75
dyf7970268
这个作者很懒,什么都没留下…
展开
-
为EDIT控件设置闪烁光标
//加载光标图片,这个图片实际显示的时候和图片本身颜色是相反的hEditFlush=(HBITMAP)LoadImage(NULL,_T("SysImage//caret.bmp"),IMAGE_BITMAP, 0,0,LR_CREATEDIBSECTION|LR_DEFAULTSIZE|LR_LOADFROMFILE);// 系统为每个队列提供一个插入标记。窗口只有在它有键盘焦点(focus)或者它是活动窗口时才创建插入标记。该窗口应//在键盘焦点消失或窗口变为不活动之前,清除插原创 2011-05-11 22:06:00 · 1414 阅读 · 0 评论 -
VC异常处理
SEH定义 SEH("Structured Exception Handling"),即结构化异常处理.是(windows)操作系统提供给程序设计者的强有力的处理程序错误或异常的武器。 在VISUAL C++中你或许已经熟悉了_try{} _finally{} 和_try{} _except {} 结构,这些并不是编译程序本身所固有的,本质上只不嵌詗indows内在提供的结构化异常处理原创 2011-05-11 23:31:00 · 925 阅读 · 0 评论 -
继承CHtmlView类的h 和cpp
改写了一些代码,防止内存泄漏。Sink了MessageBox等一些方法。.h#pragma once#include //////////////////////////////////////////////////////////////////////////class CHtmlSite;class CHtmlCtrl;class CHtmlMa转载 2012-10-18 19:26:00 · 1541 阅读 · 0 评论 -
CHtmlView截图
在使用PrintWindow函数为CHtmlView窗口截图时候发现,如果窗口没有Show或者窗口的位置超出了屏幕范围,超出的部分将会是黑色的。另一种截图方法是使用IHtmlElementRender的DrawToDC方法将document的body绘制到dc。直接给出代码: CComPtr window2=GetIHTMLWindow2(); CCom原创 2012-10-18 19:23:06 · 853 阅读 · 1 评论 -
C++ 实现反射
不多说了,直接上代码吧!定义:typedef CReflexBase* (*Fun_Create)() ;class CReflexBase{ static std::map stmapReflex;public: CReflexBase(){}; virtual ~CReflexBase(){}; static bool RegisterCreator(st原创 2012-11-07 21:29:44 · 337 阅读 · 0 评论 -
C++实现类属性映射
简化属性映射的代码,记录一下class CMapBase{protected: CMapBase() {};public: virtual ~CMapBase() {};public: static std::map> stmapParam; //类型名称对应的参数名vector; static std::map stmapMaper; //类型名称+参数名称对应原创 2012-10-18 13:08:08 · 951 阅读 · 0 评论 -
创建进程间共享内存映射
1、首先创建一个互斥体对象。 #define SHARE_MUTEX _T("Your Mutex Name") HANDLE hShareMuex = OpenMutex(MUTEX_ALL_ACCESS,FALSE,SHARE_MUTEX); if(hShareMuex==NULL) { hShareMuex=CreateMutex(NULL, FALSE, SHARE_原创 2013-07-18 10:07:36 · 567 阅读 · 0 评论 -
捕获OutputDebugString
捕获OutputDebugString 其实这个函数只是在一段共享内存中放入了输出的文本,通过一些同步的内核对象通,调试器根据这些对象就可以得到相应的输出。 下面就是一个简单的程序,它能够获取所有的调试信息输出,如果要获取某个进程的文本输出,需要做一些筛选。 #include #include #pragma pack(push)#pragma pack原创 2013-07-25 11:26:25 · 887 阅读 · 0 评论 -
CHtmlView iFrame 绘制
今天遇到了一个奇怪的问题。问题重现:在xp系统上,浏览器版本是IE7,使用CHtmlView控件,也就是WebBrowser2控件 。加载一个html文件,这个html中有一个iframe,这个iframe的内容根据页面的响应加载不同的框架html。 在加载之前会在这个CHtmlView控件之上绘制一个窗口, 通知用户等待。 每次切换iframe的src都会有这个等待窗口。 但是原创 2013-08-16 17:48:45 · 1132 阅读 · 0 评论 -
Dojo 压缩CSS
是的风格原创 2014-01-04 22:35:12 · 764 阅读 · 0 评论 -
DLL 中的共享数据
全局共享数据的实现 在主文件中,用#pragma data_seg建立一个新的数据段并定义共享数据,其具体格式为: #pragma data_seg ( "shareddata" ) HWND sharedwnd=NULL;//共享数据 #pragma data_seg ( ) 仅定义一个数据段还不能达到共享数据的目的,还要告诉编译器该段转载 2011-06-17 15:35:00 · 411 阅读 · 0 评论 -
VC URLDownloadToFile 不能下载中文路径文件的解决办法
URLDownloadToFile 下载中文路径文件时候,会出现http 404错误,原因是默认的编码格式与服务器不一致所致.因此需要修改url的编码. 由于服务器使用的是Tomcat 服务器,设置链接地址使用编码为UTF-8 ,修改方法为红色部分: connectionTimeout="20000" redirectP原创 2011-06-09 10:46:00 · 4132 阅读 · 0 评论 -
Windows位图特点
本文所位图是与设备无关、不压缩的位图DIB.这种类型的位图一般是文件后缀.bmp这些图片的数据区域的字节数必须是4的倍数。它每一行颜色数据字节数必须是4的倍数,不足的字节数需要用0补齐24位位图每个颜色点用3个字节表示,用w表示位图的宽度,h表示位图高度,那么它每一行都有一个偏移字节量offset=w*3%4==0?0:(4-w&3%4) (还有另一种与或非的算法,不太容易理解).因此,它的位图数据的大小是size=(w*3+offset)*w;32位位图不论宽度是多少,每行的字节数都是4的倍数,所以偏移量原创 2011-05-11 22:27:00 · 1011 阅读 · 0 评论 -
为CListCtrl每一行设置不同的颜色
<br />首先是添加以下消息<br /><br />ON_NOTIFY( NM_CUSTOMDRAW, IDC_LIST1, OnDrawColorForMyList ) //为改变颜色添加的消息<br /><br />再添加类成员函数,就OK了:<br /><br />//改变 m_List 控件单行的颜色<br />void CSSDTDlg::OnDrawColorForMyList( NMHDR *pNmHdr, LRESULT *pResult )<br />{<br />转载 2011-05-11 22:32:00 · 1979 阅读 · 1 评论 -
记录下CTime::Format的参数
<br />英语的,不过应该能理解...呵呵<br />%a Abbreviated weekday name<br /><br />%A Full weekday name<br /><br />%b Abbreviated month name<br /><br />%B Full month name<br /><br />%c Date and time representation appropriate for locale<br /><br />原创 2011-05-11 22:33:00 · 374 阅读 · 0 评论 -
VC操作Excel文件
<br />Excel 简单操作其实就是读和写,包括新增,删除,修改<br />其实和对数据库进行操作是一样的,微软提供了方法!<br /><br />1.首先获得计算机内已经安装的驱动名称<br />SQLGetInstalledDrivers(szBuf, cbBufMax, &cbBufOut);<br />参数1 是字符串,它将获得所有驱动名称,中间以NULL分隔,第二个参数是最大缓冲区大小,第三个是读入的数量<br /><br />2.检查驱动名称内是否有 Excel 驱动<b转载 2011-05-11 23:29:00 · 676 阅读 · 0 评论 -
创建系统服务 代码示例
<br />// AAA.cpp : 定义控制台应用程序的入口点。<br />//<br /><br />#include "stdafx.h"<br />#include "AAA.h"<br />#include "winsvc.h"<br /><br />#ifdef _DEBUG<br />#define new DEBUG_NEW<br />#endif<br /><br /><br />// 唯一的应用程序对象<br /><br />CWinApp theAp转载 2011-05-11 23:30:00 · 507 阅读 · 0 评论 -
C++调用托管C#代码设置(vs2008)
<br />1.公共语言运行库支持(/clr)<br /><br />2.C/C++->常规->运行时库->多线程调试DLL (/MDd)<br /><br />3.stdafx.h头部添加 #define _AFXDLL<br /><br />4.复制dll到项目内或者资源内,添加:#using "netpay.dll" <br /><br />5.使用方法:<br />char* MerId = "232552"; char* OrdId="201022332222"; cha原创 2011-05-11 23:33:00 · 510 阅读 · 0 评论 -
VC窗口透明
<br />SetLayeredWindowAttributes<br /> Public Declare Function SetLayeredWindowAttributes Lib "user32" (ByVal hwnd As Long, ByVal crKey As Long, ByVal bAlpha As Byte, ByVal dwFlags As Long) As Long<br /> hWnd是透明窗体的句柄,<br /> crKey为掩码的颜色,可以用RGB(r,g,转载 2011-05-11 23:33:00 · 449 阅读 · 0 评论 -
从设备环境获取位图
1:::GetDIBits(pDC->GetSafeHdc(),bm,0,nHeight,gray,m_pBitmapInfo,DIB_RGB_COLORS); bm是 pDC中所选择的位图的m_hObject,gray是保存数据的缓冲区,m_pBitmapInfo是已经填充好必要数据,infoheader中的前六个重要参数 bitmapInfo.biBitCount=24; bitmapInfo.biHeight=h; bitmapInfo.biWidth=w;转载 2011-05-11 23:38:00 · 498 阅读 · 0 评论 -
C++不定参数函数
类似这样的函数定义:printf(char *fmt, ...)示例:自定义一个可变函数:Func(char *s,char *fmt, ...)特点是函数必须有一个char*fmt作为变量,它一般用在可变参数的前一个参数,根据这个变量计算出后续参数的地址或值它们其实是将传入的参数作为相连的内存空间,传递进入函数。fmt则规定了后续变量。int,float,char类型则是传值char*则是传地址在内存的排列方式: s,fmt,第一个参数,第二个参数 ......_tprintf(_T("%s %d"),_原创 2011-05-24 11:28:00 · 1823 阅读 · 0 评论 -
VC 创建拨号连接A
首先是用ICMP检查网络是否连通:bool Util::CheckInternet(){ char *SendData = "Data Buffer"; LPVOID ReplyBuffer; DWORD dwRetVal; HANDLE hIcmpFile; bool b=fal转载 2011-06-09 21:02:00 · 1153 阅读 · 0 评论 -
使用CryptoAPI计算HASH和HMAC
记录一下hash和hmac的算法.原创 2014-04-14 13:24:08 · 1036 阅读 · 0 评论