摘要: 一 MFC程序执行过程剖析1)我们知道在WIN32API程序当中,程序的入口为WinMain函数,在这个函数当中我们完成注册窗口类,创建窗口,进入消息循环,最后由操作系统根据发送到程序窗口的消息调用程序的窗口函数。而在MFC程序当中我们不在能找到类似WinMain这样的程序入口,取而代之的是一系列派生类的声明和定义以及一个冲CWinApp类派生而来的类的全局对象。CWinApp类被称之为应用程序对象,在一个MFC程序当中只允许有一个应用程序对象。由于CWinApp的派生对象是全局的,因此这个对象的构造函数会在所有的其他代码运行之前被调用,而由于CWinApp类当中包含了HWND、HINSTAN 阅读全文
posted @ 2012-03-29 11:41 m苗子 阅读(436) 评论(0) 推荐(0) 编辑
摘要: 1、转换VS6.0学习 ATL,看到 http://www.codeproject.com/shell/shellextguide1.asp,测试了一下,发现 VC6 编译通过,VC8 在 COM_INTERFACE_ENTRY(IContextMenu) 处提示错误:no GUID has been associated with this object其实上面 URL 的文章,已经给出解决方案了,就是升级 Platform SDK,并把 $(VCInstallDir)PlatformSDK\include 放在 Include 目录第一位,或者不放第一也至少要在 ($VCInstallDi 阅读全文
posted @ 2012-03-28 12:00 m苗子 阅读(1355) 评论(0) 推荐(1) 编辑
摘要: 有时会碰到这样的需求,需要将IP地址转换为整数存放,在读取时再转换为IP地址格式1、将IP字符串转换为整型保存代码如下: string address; int intAddress; string ipAddress; while ((address = Console.ReadLine()) != "\\0") { //将IP地址转换为字节数组 byte[] IPArr = IPAddress.Parse(address)... 阅读全文
posted @ 2012-03-22 15:00 m苗子 阅读(38919) 评论(0) 推荐(3) 编辑
摘要: Windows2003系统下,上传较大的文件时,出现“Request 对象 错误 'ASP 0104 : 80004005'”错误。更改win2003的IIS 6.0对asp的上传文件大小为200k限制,aspx的上传程序没有影响。在IIS6.0中,默认设置是特别严格和安全的,最大只能传送 204,800 个字节,这样可以最大限度地减少因以前太宽松的超时和限制而造成的攻击。IIS 6 出于安全考虑, 默认最大请求是200K(也即最大提交数据限额为200KByte,204800Byte)。(在 IIS 6.0 之前的版本中无此限制)解决方案办法一:第一步:修改IIS设置,允许直接 阅读全文
posted @ 2012-02-27 12:22 m苗子 阅读(25597) 评论(3) 推荐(0) 编辑
摘要: 前几天帮人做了个小软件,发给用户后,过了天便收到软件运行出错消息.当时真纳闷,在本机测试运行正常的.错误信息如下 :找不到方法 ”System.StringSystem.Windows.Forms.OpenFileDialog.get_SafeFileName()"。。具体信息打开源代码...找到到了OpenFileDialog.SafeFileName这句测试,发现正常然后查看MSDN,发现 --------------------------------版本信息.NET Framework受以下版本支持:3.5、3.0 SP1、2.0 SP1------------------- 阅读全文
posted @ 2012-02-22 17:22 m苗子 阅读(2404) 评论(2) 推荐(1) 编辑
摘要: select getdate()--获取完整日期 具体到毫秒 2012-02-15 11:41:24.903select convert(varchar,getdate(),120) --具体到秒 2012-02-15 11:46:04select convert(varchar,getdate(),121) 2012-02-15 11:46:43.810select convert(nvarchar,getdate(),20) 2012-02-15 11:45:42select convert(nvarchar,getdate(),21) 2012-02-15 11:47:37.340sel 阅读全文
posted @ 2012-02-15 12:17 m苗子 阅读(18764) 评论(0) 推荐(0) 编辑
摘要: //C++中的DLL函数原型为 //extern "C" __declspec(dllexport) bool 方法名一(const char* 变量名1, unsigned char* 变量名2) //extern "C" __declspec(dllexport) bool 方法名二(const unsigned char* 变量名1, char* 变量名2) //C#调用C++的DLL搜集整理的所有数据类型转换方式,可能会有重复或者多种方案,自己多测试 //c++:HANDLE(void *) ---- c#:System.IntPtr //c++ 阅读全文
posted @ 2012-02-15 12:13 m苗子 阅读(580) 评论(0) 推荐(0) 编辑
摘要: 没事整理下,方便以后查阅一、 Mysql 获得当前日期时间 Now() : 获得当前的 日期+ 时间(date + time )函数:mysql> select now();+---------------------+| now() |+---------------------+| 2011-03-01 10:26:23 |+---------------------+1 row in set (0.00 sec)同等的函数还包括current_timestamp(),localtime() ,但是now() 最容易记忆,所以推荐使用。Sysdate() : 日期时间函数跟 now( 阅读全文
posted @ 2012-02-15 12:07 m苗子 阅读(1642) 评论(0) 推荐(0) 编辑
摘要: 补充上一篇文章对于运行时常量,只能在初始化时赋值,或者是构造函数中复制。而不能在其他地方赋值,否则会提示错误。还是用上篇的例子,在Limitations中我定义了两个常量,但是对运行时常量没有赋值,[代码]该类库编译通过,没有问题。在主程序中调用时,我企图对运行时变量进行赋值,如下[代码]编译时,提示错误如下:提示我们,对于运行时变量,只能在构造函数和初始化时对其赋值。因为我用的运行时变量时静态的,所以错误提示我在静态构造函数中赋值,这没有冲突。 阅读全文
posted @ 2010-12-23 11:22 m苗子 阅读(290) 评论(0) 推荐(0) 编辑
摘要: C#常量主要分为两种:编译时和运行时常量编译时常量用关键字const来定义,运行时常量用关键字readonly来定义两者区别: 编译时常量,在编译时便用该常量的值代替常量变量。 运行时常量,在运行时返回一个运行时常量的变量引用这两种变量引用方式会导致什么不同呢,且看下面代码: 引用Effective C#中的例子:定义一个类库Limitation,其中呢定义了一个类Limitations,代码如下:[代码]该类中包含两个量,一个是编译时常量,一个是运行时常量我在主程序中,引用该类库,并调用该类的相关值,代码如下:[代码]运行结果:56789现在我更新一下程序集Limitation,代码如下:[ 阅读全文
posted @ 2010-12-23 11:14 m苗子 阅读(5787) 评论(0) 推荐(0) 编辑