YiMiTuMi

使我进步的不是谦虚,而是别人羡慕我时我的那份骄傲!

修改PE文件前2个字节使exe无法运行

c++

修改PE文件前2个字节使文件无法运行 程序: //接受一个文件全路径 文件名 是否修改过 BOOL ModPEFile(wstring strFilePath, wstring strFileName, BOOL bMod) { FILE* pFile = NULL; DWORD dwFileSize = 0; LPVOID pTempFileBuffer = NULL; LP...

寄存器jge和jae的问题

c++

问题 问下面两个程序的执行结果是什么? unsigned short i; unsigned short index = 0; for(i = 0; i <index-1; i++){ printf("a\n"); } unsigned short i; unsigned long index = 0; for(i = 0; i <index-1; i++){ prin...

TimeSetEvent定时器

c++

添加一个定时器 timeSetEvent 是一种精确度非常高的定时器,与windows定时器不同的是,多媒体定时器不使用容易丢失的窗口消息。 头文件: #include <mmsystem.h> 定义: //定义时间类型 MMRESULT timeProcOne; MMRESULT timeProcTwo; //定义线程函数 void CALLBACK Time...

遍历运行中进程

c++

遍历运行中进程: BOOL IsProcessExit(wstring strFileName) { HANDLE hProcessSnap = NULL; BOOL bRet = FALSE; do { hProcessSnap = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0); ...

MiniFilter过滤事件

c++

MiniFilter过滤 MiniFilter可以用来过滤一些事件,MiniFilter的创建. 通过过滤这些事件我们可以实现比如限制任何文件的读取、删除、覆盖重命名、执行等操作。 注册回调函数 在 FltRegisterFilter 函数中,第二个参数接受一个为过滤器的 FLT_REGISTRATION 结构体。 NTSTATUS FLTAPI FltRegisterFilter...

MFC当分辨率不够时自动添加滚动条

c++

定义 afx_msg void OnVScroll(UINT nSBCode, UINT nPos, CScrollBar* pScrollBar); 添加事件 BEGIN_MESSAGE_MAP(CLicenseModuleMgr, CDialog) ON_WM_CTLCOLOR() ON_WM_VSCROLL() END_MESSAGE_MAP() 实现 初始化函...

ShellExecute 打开文件

c++

ShellExecute 打开文件 ShellExecute介绍 程序: wstring strFilePath; //文件路径 HINSTANCE Hinstance = ShellExecute(NULL, _T("open"), strFileLocalPath.c_str(), NULL, NULL, SW_SHOW); if ((int)Hinstance <= ...

截取文件名和文件后缀

c++

截取文件名 CString strFilePath = L"‪C:\\Users\\WGH\\Desktop\\移植.txt"; int iVal = strFilePath.ReverseFind('\\'); CString strFileName; if (iVal != -1) { strFileName = strFilePath.Mid(iVal + 1, strFileP...

遍历所有顶层窗口

c++

遍历所有顶层窗口 遍历窗口主要通过函数 EnumWindows 来实现,通过注册一个回调函数来获取窗口信息。 代码 WINDOWS_DATA_INFO 结构体: typedef struct _WINDOWS_DATA_INFO { CString strTitleName; //窗口标题 int iWindowId; //窗口ID int iProcessId;...

获取进程启动时间

c++

获取进程启动时间 函数接受一个进程ID和SYSTEMTIME时间结构体。 BOOL GetProcessStartTime(int iProcessId, SYSTEMTIME &lstCreation) { HANDLE process = NULL; BOOL bRet = FALSE; do { process = OpenProcess(PROCESS_Q...