回调函数是一个很有用,也很重要的概念。当发生某种事件时,系统或其他函数将会自动调用你定义的一段函数。回调函数在windows编程使用的场合很多,比如Hook回调函数:MouseProc,GetMsgProc以及EnumWindows,DrawState的回调函数等等,还有很多系统级的回调过程。 一般 Read More
posted @ 2018-04-07 20:11
findumars
Views(7112)
Comments(0)
Diggs(0)
今天在编译mplayer for mx27ads的时候, 碰到了armv5te与armv6优化的问题。 默认的交叉编译器支持armv5te也支持armv6,就默认使用了mplayer中mpeg4的armv6解码代码, 结果在在mx27ads版上,播放mpeg4视频时颜色空间转换出错。 对比x86后总 Read More
posted @ 2018-04-07 20:09
findumars
Views(8431)
Comments(0)
Diggs(0)
一、重定位链接时重定位:目标文件一般由多个节组成,编译器在编译每个目标文件时一般都是从0地址开始生成代码。当多个代码节合成一个代码段时,需要根据其在最终代码段中的位置做出调整。同时,链接器需要对已经解析的符号分配运行时地址。这个过程就是重定位。加载时重定位:程序中可能调用了DLL,由于EXE是最先被 Read More
posted @ 2018-04-07 18:49
findumars
Views(912)
Comments(0)
Diggs(0)
ChangeWindowMessageFilterEx 函数,为指定窗口修改用户界面特权隔离 (UIPI) 消息过滤器。 函数原型: [cpp] view plain copy BOOL WINAPI ChangeWindowMessageFilterEx( __in HWND hWnd, __in Read More
posted @ 2018-04-07 18:45
findumars
Views(1939)
Comments(0)
Diggs(1)
代码如下: [cpp] view plain copy #include "stdafx.h" #include <vector> #include <string> #include <Windows.h> #include <tchar.h> int _tmain(int argc, _TCHA Read More
posted @ 2018-04-07 18:41
findumars
Views(852)
Comments(0)
Diggs(0)
检查dll是32位还是64位? [cpp] view plain copy #include "stdafx.h" #include <Windows.h> int _tmain(int argc, _TCHAR* argv[]) { BYTE buf[4]; FILE *fp = fopen("D Read More
posted @ 2018-04-07 18:38
findumars
Views(626)
Comments(0)
Diggs(0)
64 位版本 Windows 中的注册表分为 32 位注册表项和 64 位注册表项。许多 32 位注册表项与其相应的 64 位注册表项同名,反之亦然。64 位版本 Windows 包含的默认 64 位版本注册表编辑器 (Regedit.exe) 可显示 64 位和 32 位的 注册表项。WOW64 Read More
posted @ 2018-04-07 18:35
findumars
Views(8129)
Comments(0)
Diggs(0)
钩子(Hook),是Windows消息处理机制的一个平台,应用程序可以在上面设置子程以监视指定窗口的某种消息,而且所监视的窗口可以是其他进程所创建的。当消息到达后,在目标窗口处理函数之前处理它。钩子机制允许应用程序截获处理window消息或特定事件。钩子实际上是一个处理消息的程序段,通过系统调用,把 Read More
posted @ 2018-04-07 18:32
findumars
Views(837)
Comments(0)
Diggs(0)
说到HOOK,我看了很多的资料和教程,无奈就是学不会HOOK,不懂是我的理解能力差,还是你们说的 不够明白,直到我看了以下这篇文章,终于学会了HOOK: http://blog.sina.com.cn/s/blog_628821950100xmuc.html //感谢文章作者的分享,让我学会了HOO Read More
posted @ 2018-04-07 18:24
findumars
Views(5433)
Comments(0)
Diggs(0)
PathRemoveFileSpec 函数的作用:将路径末尾的文件名和反斜杠去掉。 例如,我们想获取EXE文件自身所在的文件夹,可以这样: [cpp] view plain copy #include <stdio.h> #include <Shlwapi.h> #pragma comment(li Read More
posted @ 2018-04-07 07:31
findumars
Views(1491)
Comments(0)
Diggs(0)
在WINDOW编程中,发送消息的常用API有SendMessage,PostMessage,PostThreadMessage。 一般每个线程有两个队列:一个用来接收通过Send函数的消息,另外一个队列接收通过Post函数的消息。该两个函数的基本区别是:一个函数需要等待返回的,相当于函数调用,这个是 Read More
posted @ 2018-04-07 07:29
findumars
Views(2591)
Comments(0)
Diggs(1)
绝大多数使用过 Windows 操作系统的用户都不会对注册表的 Run、RunOnce 键值感到陌生,但你真的了解所有这些键值的细节吗?让我们具体说来。 本文在Win2000,WinXp、Vista、Win7系统中讲解Run、RunOnce注册表键值,涉及如下四个: HKEY_CURRENT_USE Read More
posted @ 2018-04-07 07:19
findumars
Views(2374)
Comments(0)
Diggs(0)
在项目中对程序性能优化时,发现用SetProcessWorkingSetSize() 方法使内存降低了很多,于是查阅了相关的资料如下: 我的程序为什么能够将占用的内存移至虚拟内存呢? 其实,你也可以,试试看把一个程序最小化到任务栏,再看看任务管理器。看到没,你的程序占用的实际内存一下子减少了,看来并 Read More
posted @ 2018-04-07 07:16
findumars
Views(508)
Comments(0)
Diggs(0)
1、获取系统内存信息有2个api,分别是GlobalMemoryStatus和GlobalMemoryStatusEx。GlobalMemoryStatus函数可以在C语言里直接调用,但是GlobalMemoryStatusEx却不可以直接调用。 2、看看这2个函数的不同,总的来说这2个函数都可以获 Read More
posted @ 2018-04-07 07:08
findumars
Views(782)
Comments(0)
Diggs(0)
平时我们在写代码时候,有思考过要主动去释放vector的内存吗? 1、对于数据量不大的vector,没有必要自己主动释放vector,一切都交给操作系统。 2、但是对于大量数据的vector,在vector里面的数据被删除后,主动去释放vector的内存就变得很有必要了! 读者可以新建一个控制台程序 Read More
posted @ 2018-04-07 07:07
findumars
Views(11752)
Comments(0)
Diggs(1)
使用diskpart命令Win+R键运行cmd,进入命令行界面:1、diskpart2、list disk 查看有几块硬盘3、select disk 0 选择第一块硬盘4、detail disk 显示选择的硬盘详细信息(显示的第一行是硬盘型号,第二行ID是序列号。) 5、若有多块硬盘,返回第3步继续 Read More
posted @ 2018-04-07 07:05
findumars
Views(11374)
Comments(0)
Diggs(0)
函数原型: int _access( const char *path, int mode ); int _waccess( const wchar_t *path, int mode ); 示例代码: [cpp] view plain copy #include <io.h> #include < Read More
posted @ 2018-04-07 07:04
findumars
Views(411)
Comments(0)
Diggs(0)
1、ANSI(即MBCS):为多字节字符集,它是不定长表示世界文字的编码方式。ANSI表示英文字母时就和ASCII一样,但表示其他文字时就需要用多字节。2、Unicode:用两个字节表示一个字符的编码方式。比如字符'A'在ASCII下面用一个字节表示,而在Unicode下面用两个字节表示,其中高字节 Read More
posted @ 2018-04-07 07:01
findumars
Views(805)
Comments(0)
Diggs(0)
string str;QString qstr;//从QString 到 std::stringstr = qstr.toStdString();//从std::string 到QStringqstr = QString::fromStdString(str); std::string cstr;Q Read More
posted @ 2018-04-07 06:55
findumars
Views(12153)
Comments(0)
Diggs(1)
C++写的一个计算两个日期之间天数的小程序: [cpp] view plain copy #include <Windows.h> #include <stdio.h> struct tagDate { int year; int month; int day; }; //设置日期 void Set Read More
posted @ 2018-04-07 06:52
findumars
Views(9605)
Comments(0)
Diggs(0)