自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(31)
  • 资源 (2)
  • 问答 (2)
  • 收藏
  • 关注

原创 SignalR 设置Json序列化参数

在一个项目中用到了SignalR,发现在DateTime的Json序列化和反序列化的时候,它的格式中的时区是未指定的,DateTimeKind.Unspecified如果不做任何处理,SignalR所序列化一个日期2018-11-27T14:04:00+08:00(北京时间)的结果是这样的:"2018-11-27T14:04:00"我们想要在客户端浏览器中自动转换为浏览器端的本地时间...

2018-11-27 14:29:20 1729

原创 使用CryptoAPI计算HASH和HMAC

记录一下hash和hmac的算法.

2014-04-14 13:24:08 1032

转载 WPF 动画特效--翻牌

<Page xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:s="clr-namespace:System;assembly=mscorlib" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">

2014-02-21 16:48:04 3158

原创 Dojo 压缩CSS

是的风格

2014-01-04 22:35:12 762

原创 Dojo 1.9.2 js压缩

1.首先下载dojo 1.9.2的 source , 解压后一共四个文件夹: dojo,dijit,dojox,util2.在util\buildscripts\profiles文件夹中新建文件 mydojo.profile.js dependencies = { basePath: "../../../", // releaseDir: "erms"

2014-01-04 22:31:31 1000

原创 WCF 动态实现数据契约 ServiceKnownType

1.在WCF服务添加:[ServiceKnownType("GetKnownTypes", typeof(KnownTypesProvider))]2.添加类,  静态方法获取已知类型: internal static class KnownTypesProvider { public static IEnumerable GetKn

2013-12-12 09:56:04 1283

原创 CHtmlView iFrame 绘制

今天遇到了一个奇怪的问题。问题重现:在xp系统上,浏览器版本是IE7,使用CHtmlView控件,也就是WebBrowser2控件 。加载一个html文件,这个html中有一个iframe,这个iframe的内容根据页面的响应加载不同的框架html。  在加载之前会在这个CHtmlView控件之上绘制一个窗口, 通知用户等待。   每次切换iframe的src都会有这个等待窗口。   但是

2013-08-16 17:48:45 1129

原创 捕获OutputDebugString

捕获OutputDebugString 其实这个函数只是在一段共享内存中放入了输出的文本,通过一些同步的内核对象通,调试器根据这些对象就可以得到相应的输出。   下面就是一个简单的程序,它能够获取所有的调试信息输出,如果要获取某个进程的文本输出,需要做一些筛选。 #include #include #pragma pack(push)#pragma pack

2013-07-25 11:26:25 880

原创 创建进程间共享内存映射

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 564

原创 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 333

转载 继承CHtmlView类的h 和cpp

改写了一些代码,防止内存泄漏。Sink了MessageBox等一些方法。.h#pragma once#include //////////////////////////////////////////////////////////////////////////class CHtmlSite;class CHtmlCtrl;class CHtmlMa

2012-10-18 19:26:00 1536

原创 CHtmlView截图

在使用PrintWindow函数为CHtmlView窗口截图时候发现,如果窗口没有Show或者窗口的位置超出了屏幕范围,超出的部分将会是黑色的。另一种截图方法是使用IHtmlElementRender的DrawToDC方法将document的body绘制到dc。直接给出代码: CComPtr window2=GetIHTMLWindow2(); CCom

2012-10-18 19:23:06 848 1

原创 C++实现类属性映射

简化属性映射的代码,记录一下class CMapBase{protected: CMapBase() {};public: virtual ~CMapBase() {};public: static std::map> stmapParam; //类型名称对应的参数名vector; static std::map stmapMaper; //类型名称+参数名称对应

2012-10-18 13:08:08 943

原创 创建windows服务

是用一个类封装静态函数实现的.头文件:class CService{public: CService(tstring _ServiceName); virtual ~CService(void); static void WINAPI Process(); //逻辑实现 static void WINAPI Service_Main(); //主函数入口

2012-09-19 14:07:59 391

原创 Windows 服务程序启动当前窗口用户交互程序

有一个项目要求守护进程是用SYSTEM账户启动,监测主要运行的主程序,在当前登录的用户桌面上。 主程序是有窗口界面,如果直接CreateProcess在win7下不能看到界面或者会出现交互提示框,影响使用。直接上代码吧!#include #pragma comment(lib ,"Wtsapi32.lib")#include #pragma comment(

2012-09-19 13:58:28 1151

原创 VS2008,C++,镜子反射 光线反射游戏

这些时间有些空闲,就打算写个有些难度的小游戏玩玩。记得之前玩过一个镜面反射的小游戏,游戏性还不错,难度也不错。但是觉得它的游戏关卡有点少,设计的难度刚开始觉得挺大,多玩两次就容易了。 就敲定它了。游戏的思想算是抄袭,因为这个游戏并不是自己想出来的,而是根据这款游戏设计的。我只是在原有游戏基础上增加了设计模式,可以由玩家自己设计关卡,关卡包是单独的,可以分发给其他

2012-06-25 17:01:41 1568 1

转载 DLL 中的共享数据

全局共享数据的实现   在主文件中,用#pragma data_seg建立一个新的数据段并定义共享数据,其具体格式为:   #pragma data_seg ( "shareddata" )   HWND sharedwnd=NULL;//共享数据   #pragma data_seg ( )   仅定义一个数据段还不能达到共享数据的目的,还要告诉编译器该段

2011-06-17 15:35:00 407

转载 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 1150

原创 VC URLDownloadToFile 不能下载中文路径文件的解决办法

URLDownloadToFile 下载中文路径文件时候,会出现http 404错误,原因是默认的编码格式与服务器不一致所致.因此需要修改url的编码. 由于服务器使用的是Tomcat 服务器,设置链接地址使用编码为UTF-8 ,修改方法为红色部分:               connectionTimeout="20000"                redirectP

2011-06-09 10:46:00 4115

原创 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 1818

转载 从设备环境获取位图

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 494

原创 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 508

转载 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 445

原创 VC异常处理

SEH定义  SEH("Structured Exception Handling"),即结构化异常处理.是(windows)操作系统提供给程序设计者的强有力的处理程序错误或异常的武器。   在VISUAL C++中你或许已经熟悉了_try{} _finally{} 和_try{} _except {} 结构,这些并不是编译程序本身所固有的,本质上只不嵌詗indows内在提供的结构化异常处理

2011-05-11 23:31:00 922

转载 创建系统服务 代码示例

<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 506

转载 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 672

原创 使用OPENSSL创建证书

<br />一:生成CA证书 <br /><br />目前不使用第三方权威机构的CA来认证,自己充当CA的角色。  <br /><br />网上下载一个openssl软件 <br /><br />1.       创建私钥 : <br /><br />C:/OpenSSL/bin>openssl genrsa -out ca/ca-key.pem 1024  <br /><br />2.创建证书请求 : <br /><br />C:/OpenSSL/bin>openssl req -

2011-05-11 23:27:00 1022

原创 记录下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 372

转载 为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 1973 1

原创 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 1007

原创 为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 1410

STM32 Led Toggle

STM32 Led Toggle STM32 Led Toggle STM32 Led Toggle STM32 Led Toggle

2017-12-26

镜子反光小游戏。

这些时间有些空闲,就打算写个有些难度的小游戏玩玩。 记得之前玩过一个镜面反射的小游戏,游戏性还不错,难度也不错。但是觉得它的游戏关卡有点少,设计的难度刚开始觉得挺大,多玩两次就容易了。 游戏的思想算是抄袭,因为这个游戏并不是自己想出来的,而是根据这款游戏设计的。 我只是在原有游戏基础上增加了设计模式,可以由玩家自己设计关卡,关卡包是单独的,可以分发给其他的玩家。 代码使用C++书写,里面包含一些我自己写的常用公共代码,感兴趣的同学可以试试,代码相对简单。 有C++基础,对于继承和多态性了解的同学很容易明白。 里面有fastdelegate库,我都不记得用没有用到它。 就当给初学者一些学习参考吧。 有什么问题可以联系我。

2012-06-25

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除