
Windows编程
文章平均质量分 83
fan_hai_ping
专注于C/C++开发,精通于Python
展开
-
在MFC中忽略回车键和ESC键的消息处理
问题描述:在使用MFC的对话框时,如果你在文本框内输入文本后按下回车键或者ESC键,此时会退出对话框。解决办法:在Class View标签页中选择C*Dlg类,在Properties页中点击“Overrides”图标,在列表中选择PreTranslateMessage方法就行重载,然后输入下面的代码。BOOL ::PreTranslateMessage(MSG* pMsg){原创 2012-12-06 14:09:15 · 2224 阅读 · 0 评论 -
DOS批处理的使用
今天一个同事询问我怎么使用DOS批处理来创建一个目录,如果目录已经存在的话,需要先删除该目录后,然后在重新创建它。于是到网上搜索了一番,写下这个DOS批处理文件(remkdir.cmd)实现他所需要的功能。 @echo off:: 目的:创建一个目录,如果目录已经存在则先删除该目录:: Code by Haiping Fan 2011-8-25if “%1” == “” (原创 2011-08-25 20:57:22 · 781 阅读 · 0 评论 -
Windows应用程序依赖性检查工具
确定您的Windows应用程序依赖于那些DLL的最全面的方式是使用随VisualC++提供的依赖项查看器(Depends.exe)打开该应用程序。Depends.exe安装在VS(6.0/2005/2008/2010等)安装目录下的CommonX\Tools\Bin中(X根据安装VS的版本不同而不同)。请注意,VS6.0时默认安装该工具的,但是之后的版本,只有当您选择Win32 Windows S原创 2012-09-26 10:57:38 · 13240 阅读 · 0 评论 -
VLD(Visual LeakDetector)内存泄露库的使用
VLD简介 由于C/C++语言没有所谓的垃圾收集器,内存的分配和释放都需要程序员自己来控制,这会给C/C++程序员带来一定的困难。当您的程序越来越复杂时,它的内存管理也会变得越来越困难。内存泄漏、内存越界是最常见的内存问题之一。 内存泄漏如果不是很严重的话,在短时间内对程序不会造成太大的影响,而且在进程终止的时候,所有分配的内存都会释放掉。但是对于长时间运行的程序,其破坏力是惊人的,原创 2012-09-27 08:09:36 · 44355 阅读 · 4 评论 -
Windows下使用GetOpt函数使用
GetOpt库下载GetOpt.h是一个GNU标准库的头文件,它包含一些从命令行上提取参数的工具用于基于文本C/C++应用程序。因为getopt.h不是ANSI C标准库的一部分,getopt必须编译到每个使用它的项目中,或者编译它倒一个静态类,显式的链接到程序中。在Windows下有一个预编译的getopt版本可用使用,其下载网址为:http://ieng6.ucsd.edu/~cs12原创 2012-10-11 08:59:45 · 29713 阅读 · 2 评论 -
在MFC中如何选择文件名和文件夹
选择文件夹MFC提供打开文件对话框可以选择文件名,如果想选择目录的话,就不能使用CFileDialog,实现过程如下: CStringsFolderPath; BROWSEINFO bi; TCHAR Buffer[MAX_PATH]; //初始化入口参数bi开始 bi.hwndOwner = NULL; bi.pidlRoot =N原创 2012-12-06 14:05:08 · 4344 阅读 · 0 评论 -
MFC中ListCtrl使用说明
ListCtrl在MFC的对话框中经常会使用,下面讲解ListCtrl的一些使用方法,仅供参考。假设m_list用来表示一个CListCtrl的类对象,并且把ListCtrl设置为Report形式。1) 设置风格Report方式下几个扩展风格 LVS_EX_FULLROWSELECT 选择整行 LVS_EX_GRIDLINES 行与行之间有分割线 LVS_E原创 2012-12-06 14:10:34 · 4116 阅读 · 0 评论 -
Linux 32和64位平台下支持LFS
在Linux x86(32位)系统上编译的程序放到Linux x86_64(64位)系统上运行的时候出现调用lstat或lstat函数的错误,返回的错误码值为75,错误描述为“Value too large for defined data type”。 为了让程序能够使用LFS(大文件系统),你可以选择使用下面的方法:使用gcc -D_FILE_OFFSET_BITS=64重新编译原创 2011-09-07 14:18:58 · 5062 阅读 · 0 评论 -
STL中容器使用erase()遍历删除
STL中的容器按存储方式分为两类,一类是按以数组形式存储的容器(如:vector、deque);另一类是以不连续的节点形式存储的容器(如:list、set、map)。在使用erase方法来删除元素时,需要注意一些问题。 在使用 list、set或 map(节点形式存储)遍历删除某些元素时,可以这样使用:正确使用方法1 std::list List; st原创 2012-09-10 12:53:13 · 1130 阅读 · 0 评论 -
Visual Studio 2008的使用技巧
1 VS2008把原来的Tab空格设置为空格符号 设置Tab的空格缩进:Tools—Options—Text Editor,如果编写C/C++程序就打开C/C++—Tabs,在这里选中“Insertspaces”即可。 显示空格:Ctrl+Shift+*快捷键,或者Ctrl+R,Ctrl+W组合键,或者Edit—Advanced—View WhiteSp原创 2012-09-10 12:54:57 · 1904 阅读 · 0 评论 -
Pthreads-Win32的使用和一些问题
Pthreads-win32使用 Pthreads-win32是一个Windows下使用的开源POSIX线程库,当前最新版本为2.9.1(2012-5-7)。POSIX1003.1-2001标准定义了编写多线程应用程序的应用程序编程接口(API)。该接口通常称为pthreads。在许多现代操作系统中都已经包括线程库,例如:Solaris(UI) threads、Win32 threads原创 2012-09-19 20:32:42 · 8472 阅读 · 1 评论 -
Window和Linux动态库搜索路径的次序
最近在做的项目中使用到动态库的动态加载技术,Windows和Linux都提供了相应的函数来打开动态库、获取函数指针和关闭动态库,在打开动态库函数(dlopen或LoadLibrary)中指定动态库的文件名后,在程序运行时是以什么次序来搜索动态库呢? Linux下搜索路径的次序:1) ELF可执行文件中动态段中DT_RPATH所指定的路径,不常用但是比较使用的方法;2) 编译原创 2011-09-09 14:41:27 · 5916 阅读 · 0 评论 -
Windows下获取硬件信息的编程(CPU、硬盘、内存和启动时间等)
1. 计算CPU利用率在Windows中计算CPU利用率的方法是使用SystemProcessorPerformanceInformation参数反复调用NtQuerySystemInformation函数,然后根据返回的IdleTime、KernelTime和UseTime值,分别使用后一次调用获得的值减去前一次调用获得的值,得到各个增量值,然后使用一个除法就可以得到CPU利用率。这里唯原创 2013-09-16 09:51:43 · 6181 阅读 · 0 评论