2015年9月11日
摘要: 在MFC中以下两种方式的指针定义是没有区别的:int *a;int* a;但是int * a;有时会出错,特别实在发布版本中,导致读取位置发生冲突之类的错误 阅读全文
posted @ 2015-09-11 15:12 老能 阅读(151) 评论(0) 推荐(0) 编辑
  2015年9月9日
摘要: MFC添加鼠标移动到控件上时的提示信息首先在对话框的头文件中加入初始化语句:private:下,加入:CToolTipCtrl m_Mytip;然后在初始化对话框函数(OnInitDialog)中加入:m_Mytip.Create(this); m_Mytip.AddTool( GetDlgItem... 阅读全文
posted @ 2015-09-09 11:29 老能 阅读(367) 评论(0) 推荐(0) 编辑
  2014年5月20日
摘要: 1 限制软件部分功能做法一是在软件的功能菜单中将该菜单所对应的功能实现函数全部置空,这样在执行该功能时会弹出提示对话框或者什么动也没有。做法二是为了方便起见,直接将菜单的属性设置为变灰或者非激活状态,这样在运行系统时,该菜单项就会变灰或者没有激活。这种方法虽然简便,但是如果用Visual C++直接... 阅读全文
posted @ 2014-05-20 16:50 老能 阅读(315) 评论(0) 推荐(0) 编辑
摘要: 问题的提出:我使用MFC编写一个APP,要求About对话框中显示LOGO、公司名、地址和公司的URL链接。使用户点击URL链接以后,启动浏览器访问Web页面,这种对话框中的热链接使应用程序增色不少。我琢磨的方法是从系统注册表中通过查找.htm 或 .html文件的关联程序来获得缺省浏览器的名字,这... 阅读全文
posted @ 2014-05-20 16:44 老能 阅读(465) 评论(0) 推荐(0) 编辑
  2014年3月17日
摘要: 现在流行的进程线程同步互斥的控制机制,其实是由最原始最基本的4种方法实现的。由这4种方法组合优化就有了.Net和Java下灵活多变的,编程简便的线程进程控制手段。 这4种方法具体定义如下 在《操作系统教程》ISBN 7-5053-6193-7 一书中可以找到更加详细的解释 1、临界区:通过对多线程的串行化来访问公共资源或一段代码,速度快,适合控制数据访问。 2、互斥量:为协调共同对一个共享资源的单独访问而设计的。 3、信号量:为控制一个具有有限数量用户资源而设计。 4、事 件:用来通知线程有一些事件已发生,从而启动后继任务的开始。临界区(Critical Section) 保... 阅读全文
posted @ 2014-03-17 08:53 老能 阅读(5649) 评论(0) 推荐(1) 编辑
  2014年3月15日
摘要: int lImageWidth,lImageHeight,lImageBitCount;BYTE* pImageBuff=NULL;pImageBuff=。。。BuffAddr(); lImageWidth=。。。Width();lImageHeight= 。。。Height(); int outWidth=lImageHeight;int outHeight=lImageWidth;lImageBitCount=8;int nLineWidth=(outWidth+3)/4*4;//凑成大于等于nColumn的最小的4 的整数倍。int size=iImageHeight*nLineWidt 阅读全文
posted @ 2014-03-15 11:22 老能 阅读(256) 评论(0) 推荐(0) 编辑
摘要: 当用SetPixel函数时,for(int j=0;jSetPixel(i,j,RGB(r,g,b)); } }当使用StretchDIBits时要注意显示位图时经典的4字节对齐问题,要求显示每行数据的字节数是4的倍数。当每行的字节数不是4的倍数时,需要对其进行如下处理:有nHeight行,(nWidth+3)/4*4列,然后把imgBits中的像素值,正确的赋值给一个缓冲区imgBufferTemp,最后按imgBufferTemp显示就OK了。BYTE *imgBufferTemp;int nWidthTemp=(nWidth+3)/4*4;imgBufferTemp=new BYTE[n 阅读全文
posted @ 2014-03-15 11:18 老能 阅读(736) 评论(0) 推荐(0) 编辑
  2014年2月10日
摘要: CStringstrdWord="FFF9AA1D";DWORDdwWord=_tcstoul(strdWord,NULL,16);//16进制还可以是2、8、10进制CStringstrdWord="124572112121";DWORDdwWord=_tcstoul(strdWord,NULL,10);//10进制 阅读全文
posted @ 2014-02-10 15:03 老能 阅读(843) 评论(0) 推荐(0) 编辑
  2014年2月6日
摘要: cd /d c:\windows\system32ren kernel32.dll kernel32.dll.oldcopy H:\kernel32.dll "C:\Windows\System32\kernel32.dll" /y 阅读全文
posted @ 2014-02-06 16:30 老能 阅读(170) 评论(0) 推荐(0) 编辑
  2014年1月2日
摘要: 1、建立一个安装项目 1)所有人:everyone 2)需要修改的:作者、产品名称、公司名称、版本号、产品Code、卸载的属性2、生成安装项目前需要修改要打包的产品的版本号 阅读全文
posted @ 2014-01-02 20:43 老能 阅读(191) 评论(0) 推荐(0) 编辑