亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? debug.cpp

?? 監視OutputDebugString信息,,調試用起來方便,并且可通過此方法和內核通信也不錯
?? CPP
字號:
#include <windows.h>
#include <commctrl.h>
#include <stdio.h>
#include <tlhelp32.h>
#include "resource.h"

#define WND_DEBUGLIST  12001
#define ID_TASKBARICON		100
#define WM_ICONNOTIFY		(WM_USER+101)
#pragma comment(lib,"comctl32")

typedef struct dbwin_buffer {
    DWORD   dwProcessId;
    char    data[4096-sizeof(DWORD)];
}DBWINBUFF;

LRESULT __stdcall MainProc(HWND,UINT,WPARAM,LPARAM);
BOOL ListProc(HWND,UINT,WPARAM,LPARAM);

bool ListView_AddStr(DBWINBUFF *buff);

char * GetProcessName(int pid);
BOOL ProcessMod(int pid);

HWND hList,hList1,hWndWindow;
BOOL IsMod=FALSE;
DWORD __stdcall ThreadDebug(LPVOID lPvoid);

int __stdcall WinMain(HINSTANCE hInstance,HINSTANCE hPrevInstance,LPSTR lpCmdLine,int iCmdShow)
{

	InitCommonControls();
	MSG Msg;
	char cls[]="debug";
	WNDCLASSEX wc;
	wc.cbClsExtra = 0;
	wc.cbWndExtra = 0;
	wc.cbSize = sizeof wc;
	wc.hbrBackground = (HBRUSH)GetStockObject(WHITE_BRUSH);
	wc.hIcon = LoadIcon(NULL,IDI_APPLICATION);
	wc.hIconSm = NULL;
	wc.hCursor = LoadCursor(NULL,IDC_SIZENS);
	wc.hInstance = hInstance;
	wc.lpfnWndProc = MainProc;
	wc.lpszClassName = cls;
	wc.lpszMenuName = MAKEINTRESOURCE(IDR_MENU1);
	wc.style = CS_HREDRAW|CS_VREDRAW;
	if(!RegisterClassEx(&wc))
	{
		return -0;
	}
	hWndWindow = CreateWindowEx(NULL,cls,"亞麻-Debug(本程序可顯示通過OutputDebugString打印出來的字符串..群號:29653295..歡迎來一起討論學習)",
							WS_OVERLAPPEDWINDOW,
							0,0,600,500,
						  NULL,NULL,hInstance,NULL);

	int x = (GetSystemMetrics(SM_CXSCREEN)-600)/2;
	int y = (GetSystemMetrics(SM_CYSCREEN)-500)/2;
	MoveWindow(hWndWindow,x,y,600,500,TRUE);

	SetClassLong(hWndWindow,GCL_HICON,(LONG)LoadIcon(hInstance,MAKEINTRESOURCE(IDI_ICON1)));

	ShowWindow(hWndWindow,iCmdShow);
	UpdateWindow(hWndWindow);

	while(GetMessage(&Msg,NULL,0,0))
	{
		TranslateMessage(&Msg);
		DispatchMessage(&Msg);
	}
	return Msg.wParam;
}

LRESULT __stdcall MainProc(HWND hWnd,UINT Message,WPARAM wParam,LPARAM lParam)
{
	switch(Message)
	{
	case WM_CREATE:
		{
			NOTIFYICONDATA m_Nid;
			m_Nid.cbSize = sizeof(NOTIFYICONDATA);
			m_Nid.uID = ID_TASKBARICON;
			m_Nid.hWnd = hWnd;
			m_Nid.uFlags = NIF_ICON|NIF_MESSAGE|NIF_TIP;
			m_Nid.uCallbackMessage = WM_ICONNOTIFY;
			m_Nid.hIcon = (HICON)LoadImage((HINSTANCE)GetWindowLong(hWnd,GWL_HINSTANCE), MAKEINTRESOURCE(IDI_ICON1), IMAGE_ICON, 16, 16, 0);
			strcpy(m_Nid.szTip,"單擊");
			// 添加into系統托盤
			Shell_NotifyIcon(NIM_ADD, &m_Nid);

			hList = CreateWindowEx(WS_EX_CLIENTEDGE,
									WC_LISTVIEW,
									NULL,
									WS_CHILD|WS_VISIBLE|LVS_REPORT,
									0,0,200,200,
									hWnd,
									(HMENU)WND_DEBUGLIST,
									(HINSTANCE)GetWindowLong(hWnd,GWL_HINSTANCE),
									0);
			hList1 = CreateWindowEx(WS_EX_CLIENTEDGE,WC_LISTVIEW,NULL,WS_CHILD|WS_VISIBLE|LVS_REPORT,0,200,200,200,hWnd,NULL,(HINSTANCE)GetWindowLong(hWnd,GWL_HINSTANCE),0);

			LV_COLUMN lvcol;
			lvcol.mask = LVCF_TEXT;
			lvcol.pszText="進程名稱";
			ListView_InsertColumn(hList,0,&lvcol);
			ListView_SetColumnWidth(hList,0,100);
			lvcol.pszText="進程編號";
			ListView_InsertColumn(hList,1,&lvcol);
			ListView_SetColumnWidth(hList,1,100);
			lvcol.pszText="輸出信息";
			ListView_InsertColumn(hList,2,&lvcol);
			ListView_SetColumnWidth(hList,2,100);


			lvcol.pszText="模塊名稱";
			ListView_InsertColumn(hList1,0,&lvcol);
			ListView_SetColumnWidth(hList1,0,200);
			lvcol.pszText="地址";
			ListView_InsertColumn(hList1,1,&lvcol);
			ListView_SetColumnWidth(hList1,1,200);

			CreateThread(NULL,NULL,ThreadDebug,NULL,NULL,NULL);
		}
		break;
	case WM_SIZE:
		{
			RECT rect,list;
			GetClientRect(hWnd,&rect);
			GetClientRect(hList,&list);
			
		    HDWP hDwp = BeginDeferWindowPos(2);
			DeferWindowPos(hDwp,hList,NULL,0,0,rect.right,list.bottom,SWP_NOZORDER);
			DeferWindowPos(hDwp,hList1,NULL,0,list.bottom+3,rect.right,rect.bottom-list.bottom-3,SWP_NOZORDER);
			EndDeferWindowPos(hDwp);

			ListView_SetColumnWidth(hList,0,100);
			ListView_SetColumnWidth(hList,1,100);
			ListView_SetColumnWidth(hList,2,rect.right-220);
		}
		break;
	case WM_LBUTTONUP:
		ReleaseCapture();
		break;
	case WM_LBUTTONDOWN:
		SetCapture(hWnd);
		break;
	case WM_MOUSEMOVE:
		if((wParam & MK_LBUTTON) == MK_LBUTTON && GetCapture() == hWnd)
		{
			int x = (short)HIWORD(lParam);
			RECT rect,list;
			GetClientRect(hWnd,&rect);
			GetClientRect(hList,&list);
			
		    HDWP hDwp = BeginDeferWindowPos(2);
			DeferWindowPos(hDwp,hList,NULL,0,0,rect.right,x,SWP_NOZORDER);
			DeferWindowPos(hDwp,hList1,NULL,0,x+3,rect.right,rect.bottom-list.bottom-3,SWP_NOZORDER);
			EndDeferWindowPos(hDwp);
		}
		break;
	case WM_COMMAND:
		switch(LOWORD(wParam))
		{
		case ID_RE:
			ListView_DeleteAllItems(hList);
			break;
		case ID_MOD:
			IsMod = !IsMod;
			break;
		case ID_HELPS:
			MessageBox(NULL,"本程序可顯示通過OutputDebugString打印出來的字符串\n群號:29653295\n歡迎來一起討論學習","Debug",0);
			break;
		}
		break;
	case WM_ICONNOTIFY:
		switch(lParam)
		{
		case WM_LBUTTONDBLCLK:
			ShowWindow(hWndWindow,SW_RESTORE);
			SetForegroundWindow(hWnd);
			break;
		}
		break;
	case WM_NOTIFY:
		switch(LOWORD(wParam))
		{
		case WND_DEBUGLIST:
			ListProc(hWnd,Message,wParam,lParam);
			break;
		}
		break;
	case WM_SYSCOMMAND:
		switch(LOWORD(wParam))
		{
		case SC_MINIMIZE:
			ShowWindow(hWndWindow,SW_HIDE);
			return 0;
		}
		break;
	case WM_DESTROY:
		PostQuitMessage(0);
		break;
	}
	return DefWindowProc(hWnd,Message,wParam,lParam);
}

DWORD __stdcall ThreadDebug(LPVOID lPvoid)
{
	int MAX_DebugBuffer = 1024;
	HANDLE hMapping = NULL;
	HANDLE hAckEvent = NULL;
	LPVOID lpBuffer = (LPVOID)GlobalAlloc(GPTR,4098);
	hAckEvent = CreateEvent(NULL, FALSE, FALSE, TEXT("DBWIN_BUFFER_READY"));      
	HANDLE m_hReadyEvent = CreateEvent(NULL, FALSE, FALSE, TEXT("DBWIN_DATA_READY"));  
	
	hMapping = CreateFileMapping(INVALID_HANDLE_VALUE, NULL, PAGE_READWRITE, 0, MAX_DebugBuffer, TEXT("DBWIN_BUFFER"));       
	lpBuffer = MapViewOfFile(hMapping, FILE_MAP_READ, 0, 0, 0);      
 
	while(true)
	{    
		SetEvent(hAckEvent);
		if (WaitForSingleObject(m_hReadyEvent, INFINITE) == WAIT_OBJECT_0)      
		{         
			ListView_AddStr((DBWINBUFF*)lpBuffer);
		}     
		else      
		{         // 等待失敗        
			MessageBox(NULL,"error,0",0,0);
		}    
	}
	return 0;
}



BOOL ListProc(HWND hWnd,UINT Message,WPARAM wParam,LPARAM lParam)
{
#define lpnm ((LPNMHDR)lParam)
	switch(lpnm->code)
	{
	case NM_CLICK:
		if(IsMod)
		{
			LV_DISPINFO *lpdis = (LV_DISPINFO*)lParam;
			char text[32]={0};
			ListView_GetItemText(hList,lpdis->item.mask,1,text,32);
			ProcessMod(atoi(text));
		}
		break;
	}
	return FALSE;
}

bool ListView_AddStr(DBWINBUFF *buff)
{
	int item = ListView_GetItemCount(hList);
	char pid[10]={0};
	sprintf(pid,"%d",buff->dwProcessId);

	LVITEM lvi;
	lvi.mask = LVIF_TEXT|LVIF_IMAGE;
	lvi.state =LVIS_SELECTED;
	lvi.stateMask =0;
	lvi.iSubItem = 0;
	lvi.iItem = item;;
	lvi.pszText = GetProcessName(buff->dwProcessId);
	lvi.iImage = 0;
	int i = ListView_InsertItem(hList,&lvi);
	ListView_SetItemText(hList,i,1,pid);
	ListView_SetItemText(hList,i,2,buff->data);
	return true;
}

char * GetProcessName(int pid)
{
	PROCESSENTRY32 pe32;
	pe32.dwSize = sizeof pe32;
	HANDLE hProcessSnap = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS,0);
	Process32First(hProcessSnap,&pe32);
	do
	{
		if(pe32.th32ProcessID==(DWORD)pid)
		{
			MODULEENTRY32 mod32;
			mod32.dwSize = sizeof mod32;
			HANDLE hModSnap = CreateToolhelp32Snapshot(TH32CS_SNAPMODULE,pe32.th32ProcessID);
			if(Module32First(hModSnap,&mod32))
			{
				CloseHandle(hModSnap);
				CloseHandle(hProcessSnap);
				return mod32.szExePath;
			}
			CloseHandle(hModSnap);
			CloseHandle(hProcessSnap);
			return pe32.szExeFile;
		}
	}while(Process32Next(hProcessSnap,&pe32));
	CloseHandle(hProcessSnap);
	return "未知";
}

BOOL ProcessMod(int pid)
{
	ListView_DeleteAllItems(hList1);
	MODULEENTRY32 mod32;
	mod32.dwSize = sizeof mod32;
	HANDLE hModSnap = CreateToolhelp32Snapshot(TH32CS_SNAPMODULE,pid);
	if(Module32First(hModSnap,&mod32))
	{
		int item=0;
		do{
			LVITEM lvi;
			lvi.mask = LVIF_TEXT|LVIF_IMAGE;
			lvi.state =LVIS_SELECTED;
			lvi.stateMask =0;
			lvi.iSubItem = 0;
			lvi.iItem = item++;
			lvi.pszText = mod32.szExePath;
			lvi.iImage = 0;
			int i = ListView_InsertItem(hList1,&lvi);
			char t[32]={0};
			sprintf(t,"0x%x",mod32.modBaseAddr);
			ListView_SetItemText(hList1,i,1,t);
		//	ListView_SetItemText(hList,i,2,buff->data);
		}while(Module32Next(hModSnap,&mod32));

	}
	CloseHandle(hModSnap);
	return TRUE;
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美一区二区三区视频在线观看 | 久久精品99国产精品| 国产精品久久久久久久久快鸭 | 国产成人久久精品77777最新版本| 麻豆精品一区二区三区| 精品综合久久久久久8888| 欧美aa在线视频| 国产一区福利在线| va亚洲va日韩不卡在线观看| 成人激情黄色小说| 色久综合一二码| 欧美二区三区的天堂| 精品福利二区三区| 国产精品久久久久永久免费观看 | 国产精品第13页| 亚洲免费观看高清| 日本在线播放一区二区三区| 狂野欧美性猛交blacked| 国产二区国产一区在线观看| 99麻豆久久久国产精品免费| 欧美日韩高清一区二区不卡| 精品黑人一区二区三区久久| 中文幕一区二区三区久久蜜桃| 怡红院av一区二区三区| 日韩影视精彩在线| 国产成a人无v码亚洲福利| jlzzjlzz亚洲日本少妇| 欧美日韩国产不卡| 日本一区二区在线不卡| 亚洲一区在线免费观看| 国模套图日韩精品一区二区| 91在线观看下载| 欧美一级午夜免费电影| 国产精品久久久爽爽爽麻豆色哟哟| 亚洲成av人片| 99久久99久久久精品齐齐| 欧美精品三级日韩久久| 亚洲欧美综合在线精品| 久久精品av麻豆的观看方式| 99精品视频在线播放观看| 欧美电影免费观看完整版| 亚洲精品第1页| 国产在线精品一区二区三区不卡 | 国产精品美女久久久久久| 视频一区中文字幕| 99精品欧美一区二区三区小说| 日韩欧美高清在线| 一级精品视频在线观看宜春院| 国产中文一区二区三区| 一本色道久久综合狠狠躁的推荐 | 国产99久久久国产精品潘金 | 国产精品丝袜黑色高跟| 全国精品久久少妇| 欧美体内she精高潮| 国产精品久线观看视频| 国产精品一级在线| 欧美tk—视频vk| 免费成人在线观看视频| 91精品啪在线观看国产60岁| 亚洲精品中文字幕乱码三区| bt欧美亚洲午夜电影天堂| 国产日韩欧美精品电影三级在线 | 国产精品欧美久久久久无广告| 蜜桃av一区二区三区电影| 在线不卡免费av| 亚洲一区自拍偷拍| 欧美日韩中文国产| 亚洲一二三区视频在线观看| 欧美做爰猛烈大尺度电影无法无天| 亚洲欧美一区二区视频| 9l国产精品久久久久麻豆| 国产精品国产三级国产三级人妇| 懂色av噜噜一区二区三区av| 中文字幕免费不卡在线| av一区二区三区| 亚洲精品成a人| 91在线你懂得| 亚洲一区二区三区中文字幕在线| 在线观看日韩电影| 亚洲国产精品自拍| 在线播放视频一区| 美女网站视频久久| 久久久精品综合| 成人开心网精品视频| 亚洲日本中文字幕区| 欧美综合亚洲图片综合区| 亚洲va欧美va天堂v国产综合| 欧美日韩www| 精品无码三级在线观看视频| 国产亚洲精品久| 91亚洲男人天堂| 亚洲成a人片在线不卡一二三区| 日韩色在线观看| 福利电影一区二区三区| 一区二区在线观看视频| 在线播放中文一区| 国产在线播放一区二区三区| 亚洲欧洲美洲综合色网| 欧美日韩在线观看一区二区| 精品一区二区久久久| 国产精品系列在线| 欧美日韩不卡一区二区| 国产麻豆视频一区二区| 亚洲人123区| 日韩欧美激情在线| 99久久婷婷国产综合精品电影 | 成人深夜福利app| 一区二区三区电影在线播| 日韩亚洲欧美一区二区三区| 成人福利视频在线看| 午夜不卡av在线| 中文字幕亚洲精品在线观看| 91精品综合久久久久久| 从欧美一区二区三区| 亚洲mv在线观看| 亚洲天堂成人在线观看| 精品乱人伦小说| 欧美视频一区二| 成人福利在线看| 久久国产乱子精品免费女| 一区二区三区中文字幕| 久久久久久久网| 欧美日韩国产一二三| 99精品欧美一区二区蜜桃免费| 精彩视频一区二区三区| 日韩电影在线一区二区三区| 一区二区三区四区精品在线视频| 欧美刺激午夜性久久久久久久| 91美女精品福利| 成人av小说网| 国产成人综合自拍| 美女视频网站久久| 亚洲第一综合色| 亚洲一区在线观看免费观看电影高清| 国产三级精品视频| 久久久久久黄色| 精品国产露脸精彩对白| 91精品国产综合久久久久| 欧美性高清videossexo| 在线视频综合导航| 91丨九色丨黑人外教| 成人av在线资源网站| 国产成人av福利| 国产在线一区观看| 国内外精品视频| 狠狠色丁香久久婷婷综合丁香| 日韩专区欧美专区| 日本欧美在线看| 久久精品99久久久| 精品亚洲国产成人av制服丝袜| 久草热8精品视频在线观看| 日韩黄色免费网站| 蜜芽一区二区三区| 亚洲一区二区三区影院| 亚洲曰韩产成在线| 亚洲一区二区在线视频| 亚洲国产精品精华液网站| 午夜精品久久久久久久久| 亚洲成a人片综合在线| 日韩在线卡一卡二| 久久疯狂做爰流白浆xx| 国产综合久久久久影院| 国产成人在线观看| 成人精品亚洲人成在线| 99re66热这里只有精品3直播| 91影院在线免费观看| 欧美日韩免费视频| 欧美xxxx在线观看| 国产亚洲精品精华液| 一区二区三区四区不卡在线| 日韩成人一级大片| 国产成人综合在线播放| 欧美中文一区二区三区| 日韩美女天天操| 国产精品九色蝌蚪自拍| 亚洲成人精品一区| 国产精品一卡二| 欧美天堂一区二区三区| 日韩久久久精品| 亚洲欧美另类在线| 日本va欧美va欧美va精品| 风间由美中文字幕在线看视频国产欧美| 91在线无精精品入口| 欧美电影免费观看高清完整版在线观看| 国产色一区二区| 午夜欧美大尺度福利影院在线看| 日本免费在线视频不卡一不卡二 | 91久久一区二区| 91精品国产综合久久精品图片| 亚洲国产成人在线| 日av在线不卡| 色菇凉天天综合网| 久久精品视频免费| 日韩专区在线视频| 99久久久久久| 久久久久久久久蜜桃| 午夜在线成人av| 91蝌蚪porny成人天涯| 精品伦理精品一区| 天天综合天天综合色|