- 博客(29)
- 资源 (1)
- 收藏
- 关注
原创 分析路径参数函数_splitpath
以前也写过分析程序运行路径的博文http://blog.csdn.net/qiuyeting/article/details/7305077,但今天偶然发现有更好的函数可以帮助我们分析路径参数。这个函数就是_splitpath。函数原型:void _splitpath( const char *path, char *drive, char *dir, char
2012-03-29 10:03:14
2454
原创 任务管理器进程中多个chrome.exe的问题
偶然发现任务管理器进程中有多个chrome.exe进程,很奇怪自己只打开了一次浏览器,为什么会有多个?!上网一查才发现:原来使用Google浏览器Google Chrome每开一个新标签页面,都会在系统进程里加入一个Chrome.exe进程。Chrome开源计划的其中一个特点,就是“沙箱”模式,是这样的,一个拓展占用一个进程,一个标签占用一个进程,这就是防止一个其中一个页面
2012-03-23 13:04:40
34500
2
原创 SqLite3获取的错误信息的方法
获取错误信息函数:int sqlite3_errcode(sqlite3*);const char *sqlite3_errmsg(sqlite3*);const void *sqlite3_errmsg16(sqlite3*);sqlite3_errcode() 通常用来获取最近调用的API接口返回的错误代码.sqlite3_errmsg() 则用来得
2012-03-23 09:58:55
7852
原创 CString与LPCWSTR、LPSTR、char*、LPWSTR等类型的转换
一直没整明白VC中一些类型之间的转换,特将收集来的资料放在此处备忘,一.CString与LPCWSTR 两者的不同:LPCWSTR 是Unicode字符串指针,初始化时串有多大,申请空间就有多大,以后存贮若超过则出现无法预料的结果,这是它与CString的不同之处。而CString是一个串类,内存空间类会自动管理。 CString转换成LPCWSTR
2012-03-16 15:36:36
1035
原创 LVCOLUMN和LVITEM结构体解析
列表视图控件有两个重要的数据结构LVCOLUMN和LVITEM。LVCOLUMN用于定义报表方式下的“列”的结构;LVITEM用于定义“项”的结构。这两个结构的定义及说明如下:typedef struct _LVCOLUMN {UINT mask; //说明此结构中哪些成员是有效的int fmt; //列的对齐方式int c
2012-03-14 17:03:55
3233
翻译 List Control控件item的可编辑操作实现
简介几乎每一个使用vc++编程的人,都将会遇到的列表控件。我们会遇到很多需要代表数据在多个栏目的列表控件场合。默认情况下是不可能的修改列表数据。在这个很小的文章我把一个简单的方法来实现在报告风格的列表控件编辑任意项目的值。这是简单的逻辑,每当用户点击一个他所要修改的子项目,我就在那个地方显示一个编辑框,允许修改其内容。修改后,并按回车键,最新值设置在列表控件。在这里我假设用户熟悉vc++和使用
2012-03-14 15:50:23
8189
1
转载 SQLite 入门教程(四)增删改查操作详解
增删改查操作,其中增删改操作被称为数据操作语言 DML,相对来说简单一点。 查操作相对来说复杂一点,涉及到很多子句,所以这篇先讲增删改操作,以例子为主,后面再讲查操作。一、插入数据 INSERT INTO 表(列...) VALUES(值...)根据前面几篇的内容,我们可以很轻送的创建一个数据表,并向其中插入一些数据,不多说,看例子:myqiao@ubuntu:~/My D
2012-03-14 10:04:59
1742
转载 SQLite 入门教程(三)常用约束 Constraints
一、约束 Constraints在上一篇随笔的结尾,我提到了约束, 但是在那里我把它翻译成了限定符,不太准确,这里先更正一下,应该翻译成约束更贴切一点。 那么什么是约束呢?我们在数据库中存储数据的时候,有一些数据有明显的约束条件。 比如一所学校关于教师的数据表,其中的字段列可能有如下约束:年龄 - 至少大于20岁。如果你想录入一个小于20岁的教师,系统会报错国籍 - 默
2012-03-14 10:00:22
1131
原创 MFC中对话框窗体屏蔽ESC键
重载的PreTranslateMessage函数中屏蔽ESC按键消息源代码://屏蔽ESC键BOOL CLogin::PreTranslateMessage(MSG* pMsg){ if(pMsg->message==WM_KEYDOWN && pMsg->wParam==VK_ESCAPE) return TRUE; else return CDialog::PreTra
2012-03-12 18:29:30
1110
原创 List Control控件中及时捕获checkbox被选中的消息的解决方案
我的功能需求是:用户可以在List Control里添加item,当无选项被选中(即Checkbox没被选中),删除按钮不可用;当用户点击checkbox选中item时,删除按钮可用。图示如下:图一 模拟图运行后如下:图二 无选项被选中图三 有选项被选中好了,废话不多说,直接上代码:响应LVN_ITEMCHANGED消息函数:void CLi
2012-03-12 15:31:01
8727
2
原创 VC修改标题栏的名称和图标
1 单文档接口(SDI)典型窗口标题的改变用VC的AppWizard创建一个名为"Exam“的单文档类型的工程。开始运行时,程序主窗口标题形式如下:Untitled-Exam其中"Untitied"为文档标题,"Exam"为主窗口标题。当用"File-Open ” 打开"my.exm"文裆以后,文档标题变为"my.exm"。所以程序主窗口标题栏的一般形式为:
2012-03-12 13:02:39
3573
原创 CFileDialog文件操作详解
一 、CFileDialog文件选择对话框的使用:首先构造一个对象并提供相应的参数,构造函数原型如下:CFileDialog::CFileDialog( BOOL bOpenFileDialog, LPCTSTR lpszDefExt = NULL, LPCTSTR lpszFileName = NULL, DWORD dwFlags = OFN_HIDEREADONLY | OFN_OVER
2012-03-07 14:08:14
1507
原创 VC控件DateTimePicker使用方法
使用DateTimePicker控件一般是获 取其时间替代手工输入带来的不便,而DateTimePicker控件既可以获取日期(2010-03-05)也可以获取时间(16:27:33),要获 取日期只需要更改控件属性的格式为长日期或短日期,要获取时间则将格式更改为时间即可! 在添加控件变量时,选择其变量类型为CDateTimeCtrl(类如m_DateCtrl);在程序中定义CTi
2012-03-06 19:22:35
2020
转载 SQLite 入门教程(二)创建、修改、删除表
一、数据库定义语言 DDL在关系型数据库中,数据库中的表 Table、视图 View、索引 Index、关系 Relationship 和触发器 Trigger 等等,构成了数据库的架构 Schema。 在 SQL 语句中,专门有一些语句用来定义数据库架构,这些语句被称为“数据库定义语言”,即 DDL。SQLite 数据库引擎支持下列三种 DDL 语句:CREATEALTE
2012-03-01 10:52:08
1103
转载 SQLite 入门教程(一)基本控制台(终端)命令
一、基本简介SQLite 是一个自持的(self-contained)、无服务器的、零配置的、事务型的关系型数据库引擎。因为他很小,所以也可以作为嵌入式数据库内建在你的应用程序中。SQLite 被应用在 Solaris 10操作系统、Mac OS 操作系统、iPhone 和 Skype 中。QT4 、Python 、 PHP 都默认支持 SQLite ,Firefox Amarok
2012-03-01 10:27:23
1034
原创 SQLite简单的入门操作
从官方网站下载完SQLite完成后(我下载的是sqlite-shell-win32-x86-3071000),直接解压出来sqlite3.exe,将其路径(选中sqlite3.exe后,按住shift键,点击鼠标右键,即可出现“复制为路径”)添加到环境变量path里就可以直接运行命令行命令sqlite3.exe。执行cmd命令,然后输入以下命令,一个典型的数据库操作流程就完成了。
2012-03-01 09:30:10
797
原创 获取当前运行程序的名称或者是路径
/* Name: yao Copyright: Shared Author: VectorYao Date: 29/02/12 10:46 Description: 获取运行时程序的名称 */#include #include #include int main(int argc, char *argv[]){ int i; char *name;
2012-02-29 10:54:33
2626
原创 MFC剪切板操作的若干函数
//MFC剪切板操作的标准模式源码:void CMFCClipboardDlg::OnBnClickedCopyButton() { ///////////////////////////////////////////////////////////////////////// // 1. Get text from edit control. //
2012-02-28 10:25:09
1197
转载 CentOS操作系统安装教程
CentOS操作系统是商业版Red Hat Enterprise Linux(RHEL)的免费版,是架构LAMP的理想操作系统,稳定性非常好,和Ubuntu不同的是,CentOS主要用于服务器而不是桌面环境,不少大型的商业网站都使用CentOS操作系统,我在《LAMP网站架构方案分析》中曾经讲述了一系列架构方案,这里以CentOS为例具体讲一下LAMP环境的安装和搭建。 首先要下载Cen
2012-02-24 15:26:45
1018
原创 wireshark源代码的结构分析
一、层次化的数据包协议分析方法 取得捕包函数捕回的数据包后就需要进行协议分析和协议还原工作了。由于OSI的7层协议模型,协议数据是从上到下封装后发送的。对于协议分析需要从下至上进行。首先对网络层的协议识别后进行组包还原然后脱去网络层协议头。将里面的数据交给传输层分析,这样一直进行下去直到应用层: IP / \ TCP UDP / \ HTTP TFT
2012-02-23 14:02:09
8005
2
原创 50个c/c++源代码网站
C/C++是最主要的编程语言。这里列出了50名优秀网站和网页清单,这些网站提供c/c++源代码。这份清单提供了源代码的链接以及它们的小说明。1、http://snippets.dzone.com/tag/c/ --数以千计的有用的C语言源代码片段2、http://www.hotscripts.com/category/c-cpp/scripts-programs/ Hotscrip
2012-02-23 13:02:21
1666
原创 .pcap文件格式的再分析
当你在Windows或者Linux环境下用tcpdump命令抓取数据包时,你将得到如下格式的tcpdump文件:文件头| 数据包头 | 链路层数据 | 数据包头 | 链路层数据 | 数据包头 | 链路层数据 |......1. 文件头:每一个文件都以一个24字节的文件头开头。前四个字节是tcpdump文件标志“A1 B2 C3 D4”或为“D4 C3 B2 A1”。2. 数据包头 |
2012-02-22 16:53:15
4406
原创 WireShark抓包的pcap文件格式分析
在拆包的过程中,我们必须要对WireShark截获的数据包的格式(即.pcap后缀的文件)有很清楚的了解,所以就把今天所学记录下来,以飨后来者。一、结构体说明pcap.h里定义了文件头的格式struct pcap_file_header { bpf_u_int32 magic; u_short version_major; u_
2012-02-22 15:12:22
25470
5
原创 计算机网络常见协议及其格式
这几天在公司做项目要用到WinPcap,但在实现的过程中,需要分析捕获的数据包,恰好用到了大学时学习的计算机网络课程。现初步总结了几个网络协议及其格式:一、MAC协议在局域网中,硬件地址又称为物理地址或MAC地址(因为这种地址用在MAC帧中)。大家知道,在所有计算机系统的设计中,标识系统(identification system)都是一个核心问题。在标识系统中,地址就是为识别某个
2012-02-21 16:33:32
8967
原创 电梯仿真算法的C++实现
【学习】关于电梯算法的C++实现 众所周知,面向对象的程序设计更适合对现实生活中的描述,更加体现了软件的工业化的精神,所以现在大部分的软件开发工作都围绕OOP的思想来进行的。但是在对现实生活中的实际问题,如何对所研究的系统进行面向对象的分析与设计呢?本篇文章以一个实际的例子,向大家介绍一下如何对实际问题进行分析和设计。 一.问题描述: 该实例是一个电梯载客问题,问题的描述如下:
2011-02-21 09:41:00
5194
原创 jdk1.6环境变量配置
以jdk1.6.0_13为例,你可以根据你的jdk版本号及安装路径进行相应的修改在这里我将jdk1.6.0_13直接安装在C盘下,即C:/jdk1.6.0_13下面为详细配置:1.JAVA_HOMEJAVA_HOME指向的是JDK的安装路径在该路径下你应该能够找到bin、lib等目录如我的设置就应该为JAVA_HOME=C:/jdk1.6.0
2011-01-10 16:50:00
1444
2
原创 vc绘图知识
<br /> <br />Windows中负责图形输出的是GDI(即GraphicDevice Interface,图形设备接口)。这是Windows与硬件无关的图形输出模式的体现。GDI建立在硬件抽象层(HAL)之上,屏蔽了不同输出设备之间的差异,从而为用户提供了一个统一的“标准输出设备”。但是,与DOS不同,Windows是多任务、进程独立的,每一个窗口都应该有一个独立的输出通道。这样,GDI又使用了一种简单的机制来保证在窗口中画图的不同程序之间能共享“设备”而又互不干扰。这个机制就是DC(Devi
2010-12-13 15:37:00
1218
原创 C++实现的文本字符串替换功能
这是我最近刚写的一个文本文件中字符串替换的源代码。实现的功能是输入要读写的文件名路径,然后输入要查找的字符串A和替换字符串B,执行结果是将文件中的所有字符串A替换为字符串B。注:此源代码有许多瑕疵和效率低下的地方,还望大家多多指教,勿见笑!#include #include #include using namespace std;int main(){ char buf
2010-12-12 10:10:00
8539
3
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人