VC编程手札
文章平均质量分 91
晨山往事
业精于勤,荒于嬉;行成于思,毁于随。
展开
-
Office Spy DIY
Office Spy DIY作者: 阿珊境界针对不同应用程序进行内容监视和文本获取,网上介绍了不少,如针对聊天工具、Web页面等。今天,笔者和大家一起来DIY一个Office Spy,针对MS Office,利用其COM接口获取文本,保存其文档内容。 下载源代码这里我们以MS Word为例进行叙述,其它Office组件可以触类旁通。Office的COM接口提供了_Appli原创 2008-02-23 00:44:00 · 1747 阅读 · 0 评论 -
VC和Matlab混编第二课
明年写出来。原创 2013-12-30 22:34:21 · 813 阅读 · 2 评论 -
软件升级程序深入浅出
为了做软件升级程序,分析了一堆软件的升级做法。包括国外的Skype、Line,国内的暴风影音、PPS、WPS、360、迅雷等。总的分为启动时检查更新、退出时检查更新和后台下载更新,安装时提示和后台下载并安装更新以及纯手工升级5种。 开发此类程序,第一次应该从“手工升级”做起。原创 2013-12-30 22:32:36 · 803 阅读 · 0 评论 -
2013快过去了,有好多东西要写
明年写出来。原创 2013-12-31 10:01:31 · 671 阅读 · 0 评论 -
VC和Matlab混编第一课
VC和Matlab混编,最常用的就是用前者编写界面EXE,后者编写算法DLL。特别是在后者擅长的领域,如数学、仿真等显得特别有意义。 先说DLL生成。有下面一个m文件,实现加法功能,c=a+b,代码如下: function [c]=abc(a,b) c=a+b 设文件名为abc.m。在Matlab中加载此文件后,执行,选择“Cha原创 2013-12-27 15:11:16 · 2344 阅读 · 0 评论 -
获取当前目录用GetCurrentDirectory()与从GetModuleFileName()分离之异同
一直使用GetCurrentDirectory()这个函数,今天发现了一个问题。 我的程序要读入当前目录下的配置文件,用下面代码获得其位置: char szIni[200]={0}; ::GetModuleFileName(NULL,szIni,200); strcat(szIni,"\\opt.ini"); 执行正常。发布时,原创 2013-04-30 18:08:22 · 1630 阅读 · 0 评论 -
DirectUI皮肤之旅
上海的勇进的DirectUI,dulib,炫彩GUI。我打算用最后一个,因为一般使用上是免费的。后来又发现了一个界面神器:Qt。金山等软件就采用它。原创 2013-12-31 10:08:04 · 1075 阅读 · 0 评论 -
让用VS2012/VS2013编写的程序在XP中顺利运行
微软为了推销自家平台,VS2012和VS2013编写的应用程序只能在Vista/Win7/Win8上运行。但幸好还保留了生成XP程序的设置项。原创 2014-08-22 11:15:18 · 78763 阅读 · 9 评论 -
C++中时间处理
C++中时间处理并不复杂,特别是MFC里,封装了一堆好用的类。只是平时用得比较少,所以一些常用的操作却也不知如何做起。下面做个总结。原创 2011-07-05 16:11:32 · 3479 阅读 · 1 评论 -
如何自定义窗口类名
Windows的标准应用程序都有约定的类名,如对话框的类名是#32770,文本框/编辑框类名是Edit,按钮类名为Button等。这也有于我们查找窗口,使用FindWindows/FindWindowEx/GetWindow等函数。但,如何把这些类名设为我们自定义的类名呢? 第一种方法:在需要更改类名的对话框资源上右击,选择“属性”,打开属性对话框,可以看到有一个名为“Class Nam原创 2016-11-11 21:37:31 · 4898 阅读 · 1 评论 -
利用manifest文件或资源文件让程序以管理员身份运行
进入Vista时代特别是Win10以后,管理员机制显得很严格,以前能正常运行的程序也出了问题。Win7的盗版系统较多,义务为我们提升到了管理员权限。而Win10原生宣称免费,所以默认就是分清权限的,最明显的,是具有管理员权限的程序图标右下角都会出现一个盾牌。 那么,我们能不能让我们的程序也天生具有这样的盾牌呢?以下为转载内容:最近弄vs2005 可执行文件在win7上运行原创 2017-05-05 19:15:13 · 5748 阅读 · 4 评论 -
VC的监视窗口等调试窗口的使用
一、监视窗口1、配置应用程序,使应用程序处于调试状态。2、点击“调试”----“窗口”----“监视”----“监视1”,打开监视窗口。3、在监视窗口中“名称”栏中输入变量名称或html元素id,可查看变量的当前值和数据类型或html元素的属性、方法、事件等。如下图:4、亦可选中变量,将其拖到“名称”栏,即可查看变量的当前值和数据类型。如下图:二、即时窗口1、配置应用程序,使应用程序处于调试状态。...转载 2018-02-12 10:52:07 · 10218 阅读 · 0 评论 -
进程间传递数据
1. 通过消息传递 向另外一个进程发送数据经常用到WM_SETTEXT,但缺点是对方必须有接收对象,如果接收程序是控制台程序就比较麻烦了。这里讨论通过WM_COPYDATA。 自定义消息也是进程间通信的一种方法,其携带的参数如果是数字则没有问题,如果是指针则因为进程间的‘壁垒’而导致对方接收的指针无效。WM_COPYDATA可以避免这个问题。注意它只能用SendMessage()而不能原创 2013-01-09 14:58:36 · 1079 阅读 · 0 评论 -
数组、指针 与 vector、迭代器
很多原因导致C++提供的新特性不受‘待见’,比如人们还是喜欢用scanf、printf而不是cin、cout,喜欢用字符数组而不是string,喜欢用fopen而不是iostream。数组和指针概念也深入人心,vector和迭代器体现了C++的优越性,然而并不多见于普通程序中。此文深入讨论这4种数据结构的概念和使用。 定义数组的长度必须用常量,如int n[10]; 或:int原创 2012-12-30 22:09:24 · 1412 阅读 · 0 评论 -
ListCtrl使用详述及进程列表示例
ListCtrl使用详述及进程列表示例作者:阿珊境界近日同事问起ListCtrl的使用示例,我竟有一种无从下手的感觉。查了查资料,觉得有必要把常用的东西都整理出来,以备后用,也方便大家。创建ListCtrl我们可以通过在界面上直接绘制和动态生成两种方式,得到其指针后就可以进行操作了。ListCtrl有三种显示模式,即图标,小图标和报表形式。下面以报表为例阐述。同时,还设置了其整行选原创 2008-12-30 23:25:00 · 2585 阅读 · 2 评论 -
socket编程手札
过两天贴出来原创 2008-12-21 21:26:00 · 662 阅读 · 0 评论 -
TAB各页面的编写及窗口自动缩放
明天再写。呵。2009年12月31日原创 2009-12-31 19:40:00 · 757 阅读 · 0 评论 -
ADO在C++中的使用
最近程序中用到读写数据库,看了些例子,查了番MSDN,下面把详细步骤写出来,以备忘,或与同行共勉。原创 2010-12-18 22:37:00 · 16531 阅读 · 2 评论 -
WindowsAPI学习手札
得了一本好书,《Windows API 开发详解》(人邮),准备从头到尾学习一遍。阅读此书过程中,留下此手札,把重点东西记下来,如果有自己的理解,顺便扩展一下。Ch1.应用程序开发入门本章讲了一个例子,代码很简单,如下:#include #pragma comment(lib, "user32.lib") //此行通常被省略,因为编译参数int WinMain(HIN原创 2011-12-03 14:09:09 · 1085 阅读 · 2 评论 -
两岸网民习惯管窥
近日整理CNZZ数据,发现一些规律,共享如下。 1. 访客区域分布简体网站访客区域分布 繁体网站访客区域分布2. 操作系统大陆用户XP系统仍占绝对主流原创 2011-12-08 15:15:52 · 929 阅读 · 0 评论 -
Spy++原理初探
Spy++原理初探作者:南京 阿珊境界源代码下载用Visual Studio搞开发的朋友对Spy++这个工具一定不陌生,它可以分析窗体结构、进程和窗口消息,对开发工作有很大辅助作用。我们最常使用它的窗口查找功能,按Ctrl + F调出其查找窗口,拖动探测器的指针到指定窗口/控件上释放即可。下面,笔者就和大家一起,用VC打造一个属于自己的Spy++。 打开VC集成开发原创 2008-03-02 22:16:00 · 9135 阅读 · 9 评论 -
利用WinInet和多线程实现实时显示的下载进度条
利用WinInet和多线程实现下载进度实时显示 作者:阿珊境界 源代码下载大家对Internet文件下载一定不陌生,如果不讲究下载细节,一个API函数URLDownloadToFile就能搞定。但如果你要下载的数据量较大,或你的软件需要在线升级,那么,还是给个进度条让用户看看,免得让人以为你的软件已经挂掉。要实现这些,首先用到的就是多线程技术,把下载线程和界面线原创 2007-08-26 16:26:00 · 5528 阅读 · 2 评论 -
读写文件备忘
读写文件是经常遇到的差事,太久不用会忘掉。在此做个备忘。下面程序是把A复制到B。今日遇到的蛋疼问题是,需要文件复制,但“修改时间”需变成当前时间。所以用Copy是不行的。此法可以奏效。(也可以用SetFileTime修改文件属性)BOOL NewCopy(CString sIn,CString sOut){ FILE *in,*out; if((in=fopen(sIn.GetBu原创 2012-08-01 10:52:59 · 681 阅读 · 0 评论 -
自定义消息实现线程间通信
多线程最常见的是UI主线程(下称U线程)和Worker工作者线程(下称W线程)协同工作。UI把工作传递给Worker去做,可以在启动工作线程时就传递给它(通过lParam)。字符串最好处理,直接强转成LPARAM型传过去,数据较多时,可以构造成一个结构体然后传指针过去。W工作完成后,将结果返回U,可以在获取U的句柄后直接读写其变量,但要注意线程同步问题不要引起访问冲突;也可以以向U发送自定义消息,原创 2012-03-04 17:24:57 · 4946 阅读 · 0 评论 -
用DLL来分派你的工作
DLL的好处很多,最突出的是其‘模块化’的编程方式,更利于工作分配。没写过DLL的人可能一直不会去写,流水式代码写惯了,不知道如何去封装。一旦你写了,你便上了一个台阶。你是小领导?那么恭喜你,找到路了。 DLL主要分为WIN32 DLL和MFC DLL。可以和EXE的这两种类型类比。如果你的函数、类只涉及标准API和C/C++,那么WIN32即可;如果要使用CString等MFC类型,更便捷原创 2012-12-26 21:43:57 · 671 阅读 · 0 评论