⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 analysis ui.cpp

📁 基于Passthru的扩展
💻 CPP
字号:
#include "windows.h"
#include "resource.h"
#include "Fn.h"
#include "shlwapi.h"

#pragma  comment(lib,"shlwapi")
Global GB;

BOOL CALLBACK lpDialogFuncAuthor(HWND hwndDlg,UINT uMsg,WPARAM wParam,LPARAM lParam)
{
	switch (uMsg)
	{
	case WM_COMMAND:
		switch (LOWORD(wParam))
		{

		case IDOK:

			EndDialog(hwndDlg,LOWORD(wParam));
			break;
		}
	}

	return FALSE;

}



BOOL CALLBACK lpDialogFunc(HWND hwndDlg,UINT uMsg,WPARAM wParam,LPARAM lParam)
{

	BOOL bRet=FALSE;
	int iRet=0;

	HMENU Menu;
	HICON hIcon;

	WCHAR TEMP[100]={0};
	WCHAR PassthruDll[100]={0};

	Menu=GetMenu(hwndDlg);

	switch (uMsg)
	{
	case WM_QUIT:

		EndDialog(hwndDlg,uMsg);
		
		break;

	case WM_INITDIALOG:

		GetTempPath(100,TEMP);

		wsprintf(PassthruDll,L"%wspassthru.dll",TEMP);
		if (PathFileExists(PassthruDll))
		{
			CheckMenuItem(Menu,ID_UnistallDriver,MF_UNCHECKED);
			CheckMenuItem(Menu,ID_InstallDriver,MF_CHECKED);
		}
		else
		{
			CheckMenuItem(Menu,ID_UnistallDriver,MF_CHECKED);
			CheckMenuItem(Menu,ID_InstallDriver,MF_UNCHECKED);
		}

		CheckMenuItem(Menu,ID_StartCap,MF_UNCHECKED);
		CheckMenuItem(Menu,ID_StopCap,MF_CHECKED);



		hIcon=LoadIcon(GB.hInst,MAKEINTRESOURCE(IDI_ICON1));
		SendMessage(hwndDlg,WM_SETICON,ICON_BIG,(LPARAM)hIcon);
				
		break;

	case WM_COMMAND:
				
		switch (LOWORD(wParam))
		{

		case ID_InstallDriver:
			//安装驱动

			bRet=InstallDriver();
			if (bRet==FALSE)
			{
				MessageBox(NULL,L"InstallDriver Error!",L"ERROR",MB_OK);
				return FALSE;
			}

			CheckMenuItem(Menu,ID_UnistallDriver,MF_UNCHECKED);
			CheckMenuItem(Menu,ID_InstallDriver,MF_CHECKED);

			break;

		case ID_UnistallDriver:
			//卸载驱动
			bRet=UnistallDriver();
			if (bRet==FALSE)
			{
				MessageBox(NULL,L"UnistallDriver Error",L"Error",MB_OK);
				return FALSE;
			}

			CheckMenuItem(Menu,ID_UnistallDriver,MF_CHECKED);
			CheckMenuItem(Menu,ID_InstallDriver,MF_UNCHECKED);


			break;

		case IDC_Exit:
		case ID_Exit:

			EndDialog(hwndDlg,LOWORD(wParam));

			break;


		case ID_ClearLog:
			//清空记录
			iRet=ClearLog();
			if (iRet==1)
			{
				/*MessageBox(NULL,L"记录文件不存在",L"Error",MB_OK);*/
				return FALSE;
			}
			else if (iRet==2)
			{
				MessageBox(NULL,L"清除文件失败",L"Error",MB_OK);
				return FALSE;
			}

			break;

		case ID_StartCap:
			//开始捕获数据包
			bRet=StartLog();
			if (bRet==FALSE)
			{
				MessageBox(NULL,L"开始捕获数据包失败",L"Error",MB_OK);
				return FALSE;
			}

			CheckMenuItem(Menu,ID_StopCap,MF_UNCHECKED);
			CheckMenuItem(Menu,ID_StartCap,MF_CHECKED);


			break;

		case ID_StopCap:
			//停止捕获数据包
			bRet=StopLog();
			if (bRet==FALSE)
			{
				MessageBox(NULL,L"停止捕获数据包失败",L"Error",MB_OK);
				return FALSE;
			}

			CheckMenuItem(Menu,ID_StartCap,MF_UNCHECKED);
			CheckMenuItem(Menu,ID_StopCap,MF_CHECKED);


			break;

		case ID_ReadPacket:
			//读取数据包记录文件
			bRet=ReadLog();
			break;

		case ID_AboutAuthor:

			DialogBox(GB.hInst,MAKEINTRESOURCE(IDD_Author),NULL,lpDialogFuncAuthor);

			break;

		case ID_Readme:
			//Readme
			break;

		}

		break;
	}

	return FALSE;
}


int APIENTRY WinMain( __in HINSTANCE hInstance, __in_opt HINSTANCE hPrevInstance, __in_opt LPSTR lpCmdLine, __in int nShowCmd )
{
	GB.hInst=hInstance;

	GB.hFile=NULL;

	DialogBox(hInstance,MAKEINTRESOURCE(PA),NULL,lpDialogFunc);

	return 0;
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -