15,473
社区成员




#include <windows.h>
#include <commctrl.h>
#include <wchar.h>
#include <string.h>
#include "Resource.h"
#define PROCRUNDLGAPI extern "C" __declspec(dllexport)
#include "ProcRunDlg.h"
#define WM_STOPPROCTHREAD WM_USER + 102
HINSTANCE g_hinst = NULL;
HWND g_hwndDLG = NULL;
HWND g_TempDLG = NULL;
HBRUSH g_hbrBackground;
DWORD g_hThreadListId = 0;
int g_ListIndex = 0;
struct HookProcInfo{
TCHAR Operation[20];
TCHAR ProcessInfo[MAX_PATH];
};
#define WM_STOPTHREAD WM_USER + 101
BOOL APIENTRY DllMain( HANDLE hModule,
DWORD ul_reason_for_call,
LPVOID lpReserved){
switch(ul_reason_for_call)
{
case DLL_PROCESS_ATTACH:
g_hinst = (HINSTANCE)hModule;
break;
case DLL_PROCESS_DETACH:
break;
}
return TRUE;
}
void WriteLog(HWND hWnd){
}
INT_PTR WINAPI ReList_DlgProc(HWND hwndDlg,
UINT uMsg,
WPARAM wParam,
LPARAM lParam
){
HWND ReListView;
switch(uMsg)
{
case WM_INITDIALOG:
{
g_hbrBackground = CreateSolidBrush(RGB(66, 66, 66));
ReListView = GetDlgItem(hwndDlg ,IDC_RECLIST);
LVCOLUMN rlcol;
rlcol.mask = LVCF_TEXT | LVCF_WIDTH |LVCF_FMT;
rlcol.cx = 150;
rlcol.pszText = TEXT("时间");
rlcol.fmt = LVCFMT_CENTER;
ListView_InsertColumn(ReListView,1,&rlcol);
rlcol.cx = 300;
rlcol.pszText = TEXT("进程名称");
ListView_InsertColumn(ReListView,2,&rlcol);
rlcol.mask = LVCF_TEXT | LVCF_WIDTH;
rlcol.cx = 70;
rlcol.pszText = TEXT(" 运行状态");
ListView_InsertColumn(ReListView,3,&rlcol);
}
break;
case WM_COMMAND:
switch(LOWORD(wParam))
{
case IDC_RCLBTN:
MessageBox(hwndDlg,TEXT("清空列表成功!"),NULL,MB_ICONINFORMATION|MB_OK);
}
break;
case WM_CTLCOLORDLG:
return (LONG)g_hbrBackground;
case WM_CTLCOLORSTATIC:
{
HDC hdcStatic = (HDC)wParam;
SetTextColor(hdcStatic, RGB(255, 255, 255));
SetBkMode(hdcStatic, TRANSPARENT);
return (LONG)g_hbrBackground;
}
case WM_CLOSE:
//DeleteObject(g_hbrBackground);
break;
default:break;
}
return FALSE;
};
///////////////////////////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////////////////////////////
HWND ProcRunDlg(){
g_hwndDLG = CreateDialog(g_hinst,MAKEINTRESOURCE(IDD_RECORDLISTBOX),NULL,ReList_DlgProc);
return g_hwndDLG;
}