基本信息
源码名称:滴水三期PE解析实例
源码大小:2.87KB
文件格式:.cpp
开发语言:C/C++
更新时间:2020-06-12
友情提示:(无需注册或充值,赞助后即可获取资源下载链接)
嘿,亲!知识可是无价之宝呢,但咱这精心整理的资料也耗费了不少心血呀。小小地破费一下,绝对物超所值哦!如有下载和支付问题,请联系我们QQ(微信同号):78630559
本次赞助数额为: 2 元×
微信扫码支付:2 元
×
请留下您的邮箱,我们将在2小时内将文件发到您的邮箱
源码介绍
#include<Windows.h>
#include"resource.h"
#include"Global.h"
#include"Funtion.h"
#include<CommCtrl.h>
#pragma comment(lib,"comctl32.lib")
BOOL CALLBACK wndproc(
HWND hwndDLg,
UINT uMsg,
WPARAM wParam,
LPARAM lParam
)
{
MainWnd=hwndDLg;
switch(uMsg)
{
case WM_INITDIALOG: //窗口创建完成在显示前会发送一条这种消息
//在这里需要加入LIST_CROTROL_PROCESS和LIST_CROTORL_MOUDLE 的行与列;初始化函数
HICON hIcon;
hIcon=LoadIcon(hINSTANCE,MAKEINTRESOURCE(IDI_ICON1));//加载图标资源,这步还没显示
SendMessage(hwndDLg,WM_SETICON,ICON_BIG,(DWORD)hIcon);//发送消息显示大图标
SendMessage(hwndDLg,WM_SETICON,ICON_SMALL,(DWORD)hIcon);//发送消息显示小图标
Initialization_PROCESS(hwndDLg);//将自己添加的通用控件显示内容(这里是遍历进程信息和添加ListControl_PROCESS控件的表头)
Initialization_MOUDLE(hwndDLg);//添加ListControl_Module控件的表头
return TRUE;
//标准控件走这;
case WM_COMMAND:
switch(LOWORD(wParam))
{
case IDC_BUTTON_OUT://这是自己添加的按钮
DestroyWindow(hwndDLg);
return TRUE;
case IDC_BUTTON_ABOUT: //这是自己添加的按钮
MessageBox(NULL,TEXT("关于"),TEXT("ABOUT"),MB_OK);
return TRUE;
case IDC_BUTTON_PE://这是自己添加的按钮
FindFileName(hwndDLg);
return TRUE;
case IDC_BUTTON_ADDSHELL: //加壳按钮
DialogBox(hINSTANCE,LPCTSTR(IDD_DIALOG_SHELL),NULL,ShellCode);//弹出窗口
return TRUE;
case IDCANCEL://窗口上的X键消息
{
DestroyWindow(hwndDLg);
return TRUE;
}
break;
}
break;
//通用控件消息是走这处理的
case WM_NOTIFY:
NMHDR* pNMHDR=(NMHDR*)lParam;
if (wParam==IDC_LIST_PROCESS&&pNMHDR->code==NM_CLICK)
{
//得到控件的句柄
HWND hListProcess=GetDlgItem(hwndDLg,IDC_LIST_PROCESS);
ENummoduleTolistcrotrol(hListProcess,hwndDLg);
/*MessageBox(NULL,TEXT("点击PROCESS"),TEXT("PROCESS"),MB_OK);*/
return TRUE;
}
break;
//
//case WM_NCDESTROY:
// /*show(hwndDLg);*/
// MessageBox(NULL,TEXT("子窗口被销毁需要激活主窗口"),TEXT("MOUDLE"),MB_OK);
// return TRUE;
//
//
/*case WM_NCACTIVATE:*/
}
return FALSE;//其余消息全部走这里出去
}
int WINAPI WinMain(
HINSTANCE hInstance, // handle to current instance
HINSTANCE hPrevInstance, // handle to previous instance
LPSTR lpCmdLine, // command line
int nCmdShow // show state
)
{
//------------------------------------------使用通用控件时需要添加的代码↓ 告诉编译器我用了通用控件
INITCOMMONCONTROLSEX icex;
icex.dwSize=sizeof(INITCOMMONCONTROLSEX);
icex.dwICC=ICC_WIN95_CLASSES;
InitCommonControlsEx(&icex);
////----------------------------------------通用控件添加的代码↑
hINSTANCE=hInstance;//全局变量主程序句柄
DialogBox(hInstance,LPCTSTR(IDD_DIALOG_MAIN),NULL,wndproc);//弹出窗口
}