作者:admin 发布于:2012-7-7 13:52 Saturday
分类:Windows
07Jul
消息,就是指Windows发出的一个通知,告诉应用程序某个事情发生了。例如,单击鼠标、改变窗口尺寸、按下键盘上的一个键都会使Windows
发送一个消息给应用程序。消息本身是作为一个记录传递给应用程序的,这个记录中包含了消息的类型以及其他信息。例如,对于单击鼠标所产生的消息来说,这个
记录中包含了单击鼠标时的坐标。这个记录类型叫做TMsg,
它在Windows单元中是这样声明的:
type
TMsg = packed record
hwnd: HWND; / /窗口句柄
message: UINT; / /消息常量标识符
wParam: WPARAM ; // 32位消息的特定附加信息
lParam: LPARAM ; // 32位消息的特定附加信息
time: DWORD; / /消息创建时的时间
pt: TPoint; / /消息创建时的鼠标位置...
阅读全文>>
评论(0)
引用(54)
浏览(25608)
作者:admin 发布于:2012-7-7 13:24 Saturday
分类:Windows
07Jul
LRESULT CALLBACK WindowProc(
HWND hwnd, // handle to window
UINT uMsg, // message identifier
WPARAM wParam, // not used
LPARAM lParam // logoff option
);
详见:http://msdn.microsoft.com/en-us/library/aa376890.aspx
1.只有桌面程序才响应这个消息,console程序和其他是不响应的
2.如果你要拦截系统关机,你必须设置进程相对于其它进程的关闭优先级
BOOL WINAPI SetProcessShutdownParameters(
__in DWORD dwLevel,
__in DWORD dwFlags
);
阅读全文>>
评论(0)
引用(14)
浏览(31392)
作者:admin 发布于:2012-7-5 13:17 Thursday
分类:Windows
05Jul
如果需要,请在StdAfx.h中添加 #include <shlobj.h>
TCHAR MyDir[_MAX_PATH];
SHGetSpecialFolderPath(this->GetSafeHwnd(),MyDir,CSIDL_APPDATA,0);
AfxMessageBox(MyDir);
其中第三个参数CSIDL_APPDATA可以为以下的值:
CSIDL_BITBUCKET 回收站
CSIDL_CONTROLS 控制面板
CSIDL_DESKTOP Windows 桌面Desktop
CSIDL_DESKTOPDIRECTORY Desktop的目录
CSIDL_DRIVES 我的电脑
CSIDL_FON...
阅读全文>>
评论(0)
引用(10)
浏览(25383)
作者:admin 发布于:2012-7-5 13:00 Thursday
分类:Windows
05Jul
Windows的PE加载器在启动程序的时候,会将磁盘上的文件加载到内存,然后做很多操作,如函数导入表重定位,变量预处理之类的。这位仁兄等于是自己写了一个PE加载器。直接将内存中的程序启动。记得以前的“红色代码”病毒也有相同的特性。
直接启动内存中的程序相当于加了一个壳,可以把程序加密保存,运行时解密到内存,然后启动,不过对于增加破解难度还要稍微复杂点。否则人家把内存中的进程DUMP出来然后修复导入表就被拖出来了。
#include "stdafx.h"
typedef IMAGE_SECTION_HEADER (*PIMAGE_SECTION_HEADERS)[1];
// 计算对齐后的大小
unsigned long GetAlignedSize(unsigned long Origin, unsigne...
阅读全文>>
评论(0)
引用(44)
浏览(30633)
作者:admin 发布于:2012-7-5 12:57 Thursday
分类:Windows
05Jul
/***********************************************修复MSCONFIG.EXE*************************************/
//Sleep(1500);
StateLabelWnd->SetWindowText("正在修复Msconfig.exe...");
//获取System32所在路径
TCHAR szBuffer[MAX_PATH];
GetSystemDirectory(szBuffer,MAX_PATH);
CString systemFolder;
systemFolder.Format("%s",szBuffer);
systemFolder += "\\dllcache\\msconfig.exe";
CFileFind finder;...
阅读全文>>
评论(0)
引用(10)
浏览(17421)