- 博客(208)
- 资源 (6)
- 收藏
- 关注
转载 用VC++60 查看二进制文件
在计算机应用中,经常需要查看二进制文件的内容。目前,在各种VC ++书籍中介绍查看文本文件的文章很多,但鲜有介绍查看二进制文件的文章。本文从功能设计、方案设计、编程实现以及技术要点等方面来简单介绍如何用VC ++60 查看二进制文件。 一、功能设计 显示界面将窗口客户区划分为
2011-07-07 16:03:44 986
转载 DBF文件结构
A DBF file consists of a header record and data records. The header record defines the structure of the table and contains any other informa
2011-07-07 11:58:56 3114
转载 VC++的链接错误LNK2005
编程中经常能遇到LNK2005错误——重复定义错误,其实LNK2005错误并不是一个很难解决的错误。弄清楚它形成的原因,就可以轻松解决它了。 造成LNK2005错误主要有以下几种情况: 1. 重复定义全局变量。可能存在两种情况: A、 对于一些初学编程的程序员,有时候会以为需要使
2011-07-07 10:57:32 355
转载 SmartBox自动补全用户输入
用户在输入搜索关键词时,根据已经输入的部分,自动提示出后面可能需要输入的词,既减少了用户输入的劳动量,也可以提示用户当前有哪些备选,有效的降低输错的几率,提升搜索的体验。 在第一期中,我们做了一个汉字提示的功能,从User Log中提取出每天搜索频率最高的词,
2011-07-05 22:16:57 1140
转载 vc++中,ado执行sql server存储过程
_variant_t RecordsAffected; string szSql = (string)"P_KS_ADDUSER " + m_szName+ "," + m_szPasswd +";"; try { _CommandPtr ptrCmd; ptrCmd.CreateInstance(__uuidof(Command)); ptrCmd->ActiveConnection =
2011-06-22 16:49:00 2195
转载 用Application Updater Block生成一个自我更新的WinForms 应用
在过去的两个星期里, 我一直在做我的第一个真正的.net WinForm应用的开发. 这是一个很有趣的过程,我一直在疯了似的学习东西. 其中之一就是我要允许应用程序能够用微软的Application Updater Block进行自我更新。 当它正常工作的那一刻,让我有一种很大的成就感,同时我也意识到微软没有提供那种按步骤顺序的例子。 Duncan Mackenzie 有一个 很好的blo
2011-06-10 17:00:00 598
转载 钩子1(线程级的钩子)
钩子分两种: 系统级的全局钩子 线程级的钩子.钩子使用到的函数有三个:设置钩子: SetWindowsHookEx释放钩子: UnhookWindowsHookEx继续钩子: CallNextHookEx下面是一个例子:(按字母A就会发出'咚,咚'的声音,测试请打开音箱)在窗体上加上两个button组件unit Unit1;interf
2011-06-08 15:28:00 721
转载 截取程序的网络封包
有时候我们需要对其它应用程序发送和接收的网络数据进行拦截,比如要对IE发送的**头进行分析,得到请求的地址等.这次我们可以用一些例如WPE, Sniffer之类的工具来达到目的.但是工具功能有限,要想实现更强大的功能,还是我们自己动手来DIY吧. 拦截网络数据封包的方法有三种,一是将网卡设为混杂模式,这次就可以监视到局域网上所有的数据包,二是HOOK目标进程的发送和接收的API函数,第三种方法
2011-06-07 13:42:00 1075
转载 Delphi - 关于钩子函数HOOK
基本概念钩子(Hook),是Windows消息处理机制的一个平台,应用程序可以在上面设置子程以监视指定窗口的某种消息,而且所监视的窗口可以是其他进程所创建的。当消息到达后,在目标窗口处理函数之前处理它。钩子机制允许应用程序截获处理window消息或特定事件。钩子实际上是一个处理消息的程序段,通过系统调用,把它挂入系统。每当特定的消息发出,在没有到达目的窗口前,钩子程序就先捕获该消息,亦即钩子函数先
2011-06-07 09:54:00 874
转载 Delphi编程使用HOOK监视Windows
每个程序都有自己的生存空间,在Windows系统中你可以在任何时候让你的程序执行一些操作,还可以触发消息,触发的消息分为三种,一是操作你程序的界面,onClick,onMouseMove等等,另外一个可以使用Windows的消息机制来捕获一些系统消息,但是如果你想在任何时候监控任何程序的情况那可能你就会选择HOOK来实现了,虽然还有其他方法,但不得不承认,HOOK是一个比较简单解决问题的途径。
2011-06-07 09:49:00 1143
转载 DELPHI-HOOK钩子
用HOOK可以截获进程消息,下面是相关函数:Windows系统是建立在事件驱动的机制上的,说穿了就是整个系统都是通过消息的传递来实现的。而钩子是Windows系统中非常重要的系统接口,用它可以截获并处理送给其他应用程序的消息,来完成普通应用程序难以实现的功能。钩子可以监视系统或进程中的各种事件消息,截获发往目标窗口的消息并进行处理。这样,我们就可以在系统中安装自定义的钩子,监视系统中特定事件的发生
2011-06-06 09:36:00 1160
转载 基于MFC对话框的摄像头跟踪
1.选取操作背景该例子中用picture控件实现操作,代码如下:CRect rect;CDC *pDC;HDC hDC;CWnd *pwnd;CvRect selection;CvRect track_window;bool b_flagTracking=0; char chEdit[10];int m_fameCount=0;CvVideoWriter* m_Movie;bo
2011-06-05 16:50:00 1419
转载 同步通信和异步通信
同步通信 同步通信是一种连续串行传送数据的通信方式,一次通信只传送一帧信息。这里的信息帧与异步通信中的字符帧不同,通常含有若干个数据字符。如图:单同步字符帧结构+-----+------+-------+------+-----+--------+-------+-------+|同步|数据 |数据 |数据 | ... |数据 |CRC1|CRC2||字符|字符1|字符2|字符
2011-06-05 13:50:00 1034
转载 在delphi根据TshiftState值来判断用户按下Ctrl,shift,alt等键的方法
procedure TForm1.FormMouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);beginif ssCtrl in shift then ShowMessage(ssCtrl);shift 是一个集合变量。type TShiftState = set
2011-06-04 17:34:00 10935
转载 ATL与MFC消息分发机制的对比
上面说完了ATL的消息分发方式,下面继续MFC的实现机制。二、MFC消息分发的实现方式: 首先来看注册窗口时: 还是以对话框为例子,调用DoModal 后,进入:view plaincopy to clipboardprint?INT_PTR CDialog::DoModal() { //···进行资源的准备 // disable parent (before creating dialog) HWND hWndPare
2011-06-01 15:52:00 1778
转载 source Insight常用自定义命令和一些小技巧
<br />在Source Insight中添加自定义功能的步骤如下:<br />1.Source Insight中,Options->Custom Commands...->Add...,New Command name 随便写,我的是"Edit with Vim" <br />2.Run中写入: "C:/Program Files/Vim/vim63/gvim.exe" --remote-silent +%l %f <br />意思是在当前已经打开的gvim窗口里面打开当前的文件,并且跳转到指定行 <b
2011-05-25 14:24:00 2015
转载 Source Insight中快速添加注释
使用说明:可以实现在sourceinsight中快速添加修改注释。 1. Project->Open Project... 打开Base工程(该工程一般在我的文档//Source Insight//Projects//Base中); 2. 搜索utils.em 里的字串"chenjsa" 改成自己的姓名 3. Project->Add and Remove Project Files... 加入宏文件(即utils.em); 4. Options->Menu As
2011-05-25 14:12:00 2860 1
转载 有效使用VC监视(Watch)工具
<br />在使用VC调试程序时,经常需要使用Watch工具查看或修改变量的值,通常我们只是在变量右键菜单里选择Quick Search或手动加入变量到Watch窗口。<br />这已经有有效了,但实际上Mircosoft在Watch工具中给我们提供了更多的功能,有效使用它们可以减轻程序员的劳动,提高调试效率。<br />在watch窗口中输入下面的内容:<br />1) @err,hr 显示API函数调用GetLastError的返回值,和解释<br />2) @eax,hr 显示eax寄存器的值,由
2011-05-21 14:48:00 1805
转载 单片机驱动DM9000网卡芯片详细调试过程
<br />和其它网卡芯片不同,DM9000系列网卡芯片在嵌入式开发板上很常见,尤其是有关ARM-Linux的开发板上的网络连接部分几乎都是采用该芯片完成的。当然,其它网卡芯片,如RTL8019的应用也很常见,在很多开发板上得到应用然而RTL8019的介绍在网上可以找到非常详细的介绍,尤其是用单片机对其做底层驱动的介绍非常丰富。下面的网站就介绍了用AVR驱动RTL8019网卡芯片的非常详细的过程,有兴趣的朋友可以参考一下。<br />http://members.home.nl/bzijlstra/soft
2011-05-17 21:51:00 1204
转载 #ifndef#define#endif的用法
<br />http://www.eetop.cn/blog/?56085/action_viewspace_itemid_1145.html<br />(前段时间要到这个,感觉shichenghua整理得不错,所以收藏到此处,若不同意,随时可以撤下<br />谢谢shichenghua)shichenghuaEETOP专业博客---电子工程师自己的家园^.| |zeOf<br />文件中的#ifndef 头件的中的#ifndef,这是一个很关键的东西。比如你有两个C文件,这两个C文件都inclu
2011-05-10 13:26:00 440
转载 NAT的完全分析及其UDP穿透的完全解决方案
<br />一:基本术语 <br />防火墙 <br />防火墙限制了私网与公网的通信,它主要是将(防火墙)认为未经授权的的包丢弃,防火墙只是检验包的数据,并不修改数据包中的IP地址和TCP/UDP端口信息。 <br />网络地址转换(NAT) <br />当有数据包通过时,网络地址转换器不仅检查包的信息,还要将包头中的IP地址和端口信息进行修改。以使得处于NAT之后的机器共享几个仅有的公网IP地址(通常是一个)。网络地址转换器主要有两种类型. <br />P2P应用程序 <br />P2P应用程序是指,在
2011-05-10 09:50:00 351
转载 使用飞信SDK开发短信收发程序
<br />利用飞信的协议可以在线收发消息,或是向手机发送消息。由此,可以自己来完成一个IM工具。<br />本文即是对飞信SDK的使用方法,及如何开发作一个说明。<br /><br />一、引用FetionSDK<br />飞信是采用C#开发的,所有的程序集均是.NET,因此我们也需要使用Delphi.NET/Chrome来进行相关的开发。在Chrome中,新建一个工程,并引入FetionSDK.dll,当然您也可以使用Delphi2007 for .NET,开发出来结果一样。<br />其实我曾尝试过把
2011-05-08 12:27:00 647
转载 使Delphi ListView列项可编辑
1.添加CommCtrl;2.ListView点击事件procedure TForm1.ListView1Click(Sender: TObject);var W, X, nCount: Integer; Rect: TRect; Pos: TPoi
2011-05-06 11:43:00 7314
转载 Delphi中ListView类的用法
<br />//增加<br /> i := ListView1.Items.Count; //这里得到的是ListView中的行数,也叫项数(Items)<br /> with ListView1 do<br /> begin<br /> ListItem:=Items.Add; //这里相当于增加一行<br /> ListItem.Caption:= IntToStr(i); //ListView的第一列是Caption,这是固定的<br /> ListIt
2011-05-06 10:00:00 6577
转载 Hash 表算法
<br />第一部分:Top K 算法详解<br />问题描述<br />百度面试题:<br /> 搜索引擎会通过日志文件把用户每次检索使用的所有检索串都记录下来,每个查询串的长度为1-255字节。<br /> 假设目前有一千万个记录(这些查询串的重复度比较高,虽然总数是1千万,但如果除去重复后,不超过3百万个。一个查询串的重复度越高,说明查询它的用户越多,也就是越热门。),请你统计最热门的10个查询串,要求使用的内存不能超过1G。<br /><br />必备知识:<br /> 什么是哈希
2011-05-06 09:17:00 906
转载 十道面试题与十个海量数据处理方法总结
<br />第一部分、十道海量数据处理面试题<br />1、海量日志数据,提取出某日访问百度次数最多的那个IP。<br /> 首先是这一天,并且是访问百度的日志中的IP取出来,逐个写入到一个大文件中。注意到IP是32位的,最多有个2^32个IP。同样可以采用映射的方法,比如模1000,把整个大文件映射为1000个小文件,再找出每个小文中出现频率最大的IP(可以采用hash_map进行频率统计,然后再找出频率最大的几个)及相应的频率。然后再在这1000个最大的IP中,找出那个频率最大的IP,即为所求
2011-05-06 09:12:00 487
转载 让用户在ListView里面编辑完数据再存到数据库里面去
<br />TListItem *s=ListView1->Selected; <br /> s->EditCaption();<br />1. 根据X,Y,可以用函数TListView::GetItemAt(int X, int Y);得到选中的ListItem。下面再说说怎样得到列。已知X坐标。 <br /> int nCol, Count, xPos; <br /> Count = ListView->Columns->
2011-05-05 14:57:00 2080
转载 SysTick 基本操作,中断控制方法
<br />第1章 系统节拍定时(SysTick) <br />函 数 原 型 页码<br />void SysTickPeriodSet(unsigned long ulPeriod) 1 <br />unsigned long SysTickPeriodGet(void) 1 <br />void SysTickEnable(void) 2 <br />void SysTickDisable(void) 2 <br />unsigned long SysTickValueGet(void)
2011-04-22 15:27:00 12004
转载 C++开源跨平台类库集
<br />经典的C++库<br /> STLport-------SGI STL库的跨平台可移植版本,在以前有些编译器离符合<br /> 标准比较远的情况下 那时还是有用的,当然目前vc71已经比较接近标准了,<br /> 故目前不怎么用它了。<br /> Boost---------准标准库, 功能强大 涉及能想的到的大部分非特别领域的算法,<br /> 有一个大的C++社区支持<br /> WxWindows-----功能强大的跨平台GUI库 ,它的功
2011-04-21 17:08:00 467
转载 libxml
<br />摘要<br />Libxml是一个有免费许可的用于处理XML、可以轻松跨越多个平台的C语言库。这个指南提供它的基本函数的例子。<br />绪论<br />Libxml是一个实现读、创建及操纵XML数据功能的C语言库。这个指南提供例子代码并给出它基本功能的解释。. <br />在这个项目的主页上有Libxml及更多关于它可用的资料。包含有完整的API文档。这个指南并不能替代这些完整的文档,但是阐明功能需要使用库来完成基本操作。<br />这个指南基于一个简单的XML应用,它使用我写的一篇文章生成,
2011-04-21 17:06:00 505
转载 数据库设计中的14个技巧
<br />1. 原始单据与实体之间的关系<br /> 可以是一对一、一对多、多对多的关系。在一般情况下,它们是一对一的关系:即一张原始单据对<br />应且只对应一个实体。在特殊情况下,它们可能是一对多或多对一的关系,即一张原始单证对应多个实<br />体,或多张原始单证对应一个实体。这里的实体可以理解为基本表。明确这种对应关系后,对我们设计<br />录入界面大有好处。<br /> 〖例1〗:一份员工履历资料,在人力资源信息系统中,就对应三个基本表:员工基本情况表、社会<br />关系表、工作简历表
2011-04-20 11:46:00 327
转载 使用MFC的数组类
<br /> MFC的数组类支持的数组类似于C++中的常规数组,可以存放任何数据类型。C++的常规数组在使用前必须将其定义成能够容纳所有可能需要的元素,而MFC数组类创建的对象可以根据需要动态地增大或减小,数组的起始下标是0,而上限可以是固定的,也可以随着元素的增加而增加,数组在内存中的地址仍然是连续分配的。<br /> MFC定义了数组模板类CArray,并针对各种常用变量类型定义了CByteArray,CWordArray,CUIntArray,CDWordArray,CStringArray,CO
2011-04-15 15:14:00 448
转载 在VC中使用TabCtrl
<br />在VC中使用TabCtrl无疑是一件相当令人头疼的事情,而偏偏网上的相关资料又比较稀少,一些现成解决方案也多少存在一些问题,于是参考一些现成的TabCtrl类经过糅合修改成以下的一个类:CTabSheet<br />该类以vckbase的一篇文章《在对话框中加入属性页》中提到的“方案五”的CTabSheet类为模板,并参考CodeProject的CXTabCtrl、XPTabCtrl以及网上的一些其它资料修改而成。<br />该类具有以下特点:每个标签页都使用一个对话框以设计该页界面,可以随意设
2011-04-15 14:53:00 925
转载 扩大虚拟机硬盘空间详解
因为最近在虚拟机上装了QT,之前又升级过内核,所以开始分的10G虚拟硬盘明显已经不够用了,但是又不想重装,于是上网查扩虚拟硬盘的方法,可是发现找到的都不完整,或者太详细了不知道自己适合用哪种,后来慢慢研究终于成功啦,所以现在分享自己的所得。不多说了,直接将方法:<br />1、首先,找到你的虚拟机软件VMware安装目录下的这个工具vmware-vdiskmanager.exe 在运行窗口中打开它,就是先输入cmd打开命令行窗口,然后输入路径我的是D:/Program Files/VMware/VM
2011-04-14 14:05:00 484
转载 Mapx的VC开发实践
摘 要 阐述了在VC环境下引入MapX控件的方法,以及在文档视图架构下如何使用MapX控件的问题,介绍了MapX数据绑定的方法及其与MapX专题图创建的关系,阐明了创建MapX专题图的一般方法,并给出了具体实例。 关键词 MapX;VC程序设计;专题图制作 <br />1 引言 MapInfo MapX是一个用来做地图化工作的OCX控件,它可以很容易地在您的应用程序中加入强大的制图功能。它可以把您的数据用地图的形式显示出来,更易于理解。地图形式可以比简单的图表、图形提供更多的信息
2011-04-11 15:49:00 1174
原创 stringgrid内置控件
<br />unit Unit1;<br />interface<br />uses<br /> Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,<br /> Dialogs, Grids, StdCtrls;<br />type<br /> TForm1 = class(TForm)<br /> strngrd1: TStringGrid;<br /> ComboBox1: TComboB
2011-04-08 16:47:00 738
原创 使StringGrid中的一列具有Check功能
<br />procedure TTermSet.StringGrid1DrawCell(Sender: TObject; ACol,<br /> ARow: Integer; Rect: TRect; State: TGridDrawState);<br />begin<br /> if ACol=0 then<br /> begin<br /> if ARow=0 then<br /> begin<br /> with TStringGrid(Sender).Canvas d
2011-04-08 16:13:00 914
转载 在StringGrid中用右键菜单实现复制粘贴
<br /> 所实现的效果就是在StrinGrid上点右键,然后弹出一个菜单,可以复制当前单元格中的内容,然后粘贴到其他单元格中。<br /> 在Form上放置一个PopupMenu,添加两个MenuItem,分明为miCopy和miPaste,然后在StringGrid的OnMouseUp事件和miCopy,miPaste的OnClick事件中添加以下代码:<br /> #include <vcl/Clipbrd.hpp><br /> TPoint g_ptSelect; // 记
2011-04-08 15:16:00 2194
转载 StringGrid使用全书
<br />StringGrid行列的增加和删除<br />如何编写使StringGrid中的一列具有Check功能,和CheckBox效果一样<br />StringGrid组件Cells内容分行显示在Tstringgrid.ondrawcell事件中<br />在StringGrid怎样制作只读的列在 OnSelectCell事件处理程序中<br />stringgrid从文本读入的问题<br />StringGrid组件Cells内容对齐<br />StringGird的行列背景色设置<br />怎么
2011-04-08 09:15:00 849
转载 StringGrid控件
<br />组件名称:StringGrid <br /> <br />●固定行及固定列:<br />StringGrid.FixedCols:=固定行之数; <br />StringGrid.FixedRows:=固定列之数; <br />StringGrid. FixedColor:=固定行列之颜色; <br />StringGrid.Color:=资料区之颜色; <br /><br />●资料行列之宽高度:<br />StringGrid.DefaultColWidth:=内定全部之宽度; <
2011-04-08 09:12:00 850
VC文件添加工具filetool
2011-01-25
dclnmf60.bpl
2011-01-11
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人