基本信息
源码名称:滴水三期PE解析实例
源码大小:2.87KB
文件格式:.cpp
开发语言:C/C++
更新时间:2020-06-12
   友情提示:(无需注册或充值,赞助后即可获取资源下载链接)

     嘿,亲!知识可是无价之宝呢,但咱这精心整理的资料也耗费了不少心血呀。小小地破费一下,绝对物超所值哦!如有下载和支付问题,请联系我们QQ(微信同号):813200300

本次赞助数额为: 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);//弹出窗口




}