99精品久久精品一区二区-亚洲熟妇无码?v在线播放-日本国产精品无码字幕在线观看-久久久亚洲永夜AV-亚洲一级无码一区二区一-免费国产成高清人在线视频-中文字幕乱码免费观看-国产毛片精品妇女久久久

ARTICLE DETAIL

資訊詳情

深耕商務(wù)建站與企業(yè)官網(wǎng)運(yùn)營的一線實(shí)戰(zhàn)洞察。

Windows系統(tǒng)級(jí)進(jìn)程監(jiān)控:C語言控制臺(tái)任務(wù)管理器實(shí)現(xiàn)

Windows系統(tǒng)級(jí)進(jìn)程監(jiān)控:C語言控制臺(tái)任務(wù)管理器實(shí)現(xiàn) 簡介這是一份面向計(jì)算機(jī)專業(yè)本科生的C語言課程設(shè)計(jì)與期末大作業(yè)實(shí)踐資源聚焦Windows平臺(tái)任務(wù)管理器功能實(shí)現(xiàn)適用于C語言進(jìn)階學(xué)習(xí)、課程設(shè)計(jì)選題參考及畢業(yè)設(shè)計(jì)基礎(chǔ)模塊開發(fā)。資源以標(biāo)準(zhǔn)VC工程組織共52個(gè)文件包含10個(gè)核心CPP源文件如taskmgr.cpp、ProcPage.cpp、PerfPage.cpp等、12個(gè)頭文件含struct.h、define.h、ptrarray.h等結(jié)構(gòu)與工具定義、14個(gè)ICO圖標(biāo)與8個(gè)BMP資源圖像輔以SOLUTION工程配置、RC資源腳本及可執(zhí)行EXE文件完整呈現(xiàn)GUI界面、進(jìn)程遍歷、性能監(jiān)控、內(nèi)存統(tǒng)計(jì)等典型系統(tǒng)編程模塊壓縮包僅306KB輕量易讀。已有88人下載學(xué)習(xí)適合需要理解Windows API調(diào)用、多頁面Tab界面架構(gòu)、進(jìn)程快照獲取CreateToolhelp32Snapshot及C語言大型項(xiàng)目組織方式的學(xué)習(xí)者提供開箱即用的編譯環(huán)境與清晰分層的代碼結(jié)構(gòu)。1. 這不是“仿Windows任務(wù)管理器”而是一次對(duì)操作系統(tǒng)底層調(diào)度邏輯的具象化實(shí)踐很多人看到標(biāo)題里“任務(wù)管理器”四個(gè)字第一反應(yīng)是哦又一個(gè)圖形界面小玩具用C語言調(diào)幾個(gè)Windows API畫個(gè)窗口、列個(gè)進(jìn)程列表就完事了。但如果你真這么想就完全錯(cuò)過了這個(gè)畢設(shè)項(xiàng)目最硬核的價(jià)值——它本質(zhì)上是一次脫離GUI框架、直面Windows內(nèi)核對(duì)象模型的系統(tǒng)級(jí)編程訓(xùn)練。我?guī)н^六屆計(jì)算機(jī)系畢業(yè)設(shè)計(jì)每年都有至少三組學(xué)生選“任務(wù)管理器”題但90%的人最后交上來的是基于MFC或Qt的界面殼子真正能跑通CreateToolhelp32Snapshot→Process32First→Process32Next完整鏈路、手動(dòng)解析PROCESSENTRY32結(jié)構(gòu)體字段、并用純控制臺(tái)實(shí)現(xiàn)進(jìn)程樹狀展開與資源實(shí)時(shí)刷新的三年不到五人。這個(gè).zip包里的代碼恰恰屬于那不到5%的“真·系統(tǒng)編程”實(shí)踐。它的核心價(jià)值不在“長得像不像Windows任務(wù)管理器”而在于強(qiáng)制你把教科書里“進(jìn)程是資源分配的基本單位”這句話變成一行行可調(diào)試、可打斷點(diǎn)、可觀察內(nèi)存布局的C代碼。比如PROCESSENTRY32.th32ParentProcessID字段教材只說“記錄父進(jìn)程ID”但實(shí)際調(diào)試中你會(huì)發(fā)現(xiàn)當(dāng)用cmd.exe啟動(dòng)notepad.exe時(shí)notepad的父PID確實(shí)是cmd的PID可當(dāng)你用VS Code終端啟動(dòng)程序時(shí)父PID卻指向conhost.exe——這背后是Windows Console Host的會(huì)話隔離機(jī)制。這種認(rèn)知絕不是讀文檔能獲得的必須親手在while (Process32Next(hSnapshot, pe32))循環(huán)里打斷點(diǎn)、逐個(gè)打印pe32.th32ParentProcessID和pe32.szExeFile才能建立肌肉記憶。更關(guān)鍵的是它天然規(guī)避了課程設(shè)計(jì)中最常見的“假大空”陷阱。很多學(xué)生做“圖書管理系統(tǒng)”“學(xué)生成績系統(tǒng)”數(shù)據(jù)庫用SQLite界面用EasyX功能全靠CtrlC/V答辯時(shí)一問“刪除操作是物理刪除還是邏輯刪除事務(wù)怎么保證并發(fā)沖突如何處理”當(dāng)場啞火。而任務(wù)管理器項(xiàng)目從第一個(gè)#include tlhelp32.h開始你就被釘死在Windows SDK的契約上CreateToolhelp32Snapshot返回句柄必須CloseHandlePROCESSENTRY32.dwSize必須顯式賦值為sizeof(PROCESSENTRY32)否則Process32First必然失敗——這些不是“最佳實(shí)踐”而是API的硬性要求錯(cuò)一個(gè)字節(jié)就崩潰。這種零容錯(cuò)的工程約束恰恰是工業(yè)級(jí)開發(fā)最基礎(chǔ)的素養(yǎng)。所以別把它當(dāng)成期末交差的“小作業(yè)”。它是一把鑰匙能打開你對(duì)psapi.h、processthreadsapi.h、winbase.h這些頭文件背后真實(shí)世界的大門。當(dāng)你第一次用GetProcessMemoryInfo拿到某個(gè)進(jìn)程的WorkingSetSize再對(duì)比任務(wù)管理器里顯示的“內(nèi)存(私有工作集)”發(fā)現(xiàn)數(shù)值相差2MB時(shí)那種困惑和隨后查到“Windows內(nèi)存計(jì)數(shù)存在采樣延遲和頁面共享計(jì)算差異”的頓悟才是計(jì)算機(jī)專業(yè)教育該給你的東西。這比背一百遍“進(jìn)程有就緒、運(yùn)行、阻塞三種狀態(tài)”實(shí)在得多。2. 為什么必須放棄圖形界面用純控制臺(tái)實(shí)現(xiàn)——控制臺(tái)才是理解進(jìn)程本質(zhì)的最優(yōu)載體現(xiàn)在打開你的VS Code新建一個(gè)C文件敲下#include stdio.h然后寫printf(Hello World);——這行代碼背后printf函數(shù)最終會(huì)調(diào)用WriteConsoleA或WriteFile而這兩個(gè)API的操作對(duì)象正是Windows內(nèi)核中名為CONOUT$的設(shè)備對(duì)象。換句話說控制臺(tái)輸出本身就是一次標(biāo)準(zhǔn)的、可追蹤的進(jìn)程間通信IPC行為。當(dāng)你用圖形界面做任務(wù)管理器時(shí)所有UI渲染、消息循環(huán)、窗口重繪都被封裝在DefWindowProc和Gdi32.dll里你看到的只是結(jié)果而控制臺(tái)版本每一行進(jìn)程信息的打印都是你親手驅(qū)動(dòng)的一次系統(tǒng)調(diào)用中間沒有任何黑盒。我見過太多學(xué)生用EasyX庫畫個(gè)表格把szExeFile和th32ProcessID往格子里一填就以為完成了。但問題來了szExeFile字段最大長度是MAX_PATH260字符可實(shí)際進(jìn)程中常有C:\Program Files\Google\Chrome\Application\chrome.exe --typerenderer --langzh-CN ...這種超長命令行。如果直接printf(%s, pe32.szExeFile)控制臺(tái)會(huì)因緩沖區(qū)溢出而亂碼甚至崩潰。真正的解法是先用wcslen獲取寬字符長度再用_snwprintf_s安全截?cái)嘧詈筠D(zhuǎn)換為多字節(jié)字符串輸出。這個(gè)過程逼你直面Windows Unicode/ANSI雙編碼體系的現(xiàn)實(shí)——而圖形界面庫早已幫你屏蔽了這一切。更重要的是控制臺(tái)天然支持實(shí)時(shí)刷新與交互式操作。Windows任務(wù)管理器的“刷新間隔”默認(rèn)是1.5秒這個(gè)數(shù)字不是憑空來的。在控制臺(tái)版本里你可以用Sleep(1500)模擬但很快會(huì)發(fā)現(xiàn)Sleep精度受系統(tǒng)調(diào)度影響實(shí)際間隔可能在1480ms~1520ms之間浮動(dòng)。要精確控制必須用QueryPerformanceCounter獲取高精度時(shí)間戳在循環(huán)中計(jì)算差值。這個(gè)細(xì)節(jié)圖形界面開發(fā)者永遠(yuǎn)不用操心因?yàn)镾etTimer已經(jīng)幫你封裝好了。但作為系統(tǒng)程序員你必須知道Sleep讓出CPU時(shí)間片而QueryPerformanceCounter讀取的是硬件性能計(jì)數(shù)器兩者底層機(jī)制天壤之別。再看進(jìn)程終止功能。圖形界面通常用SendMessage發(fā)WM_CLOSE看似優(yōu)雅實(shí)則不可靠——很多頑固進(jìn)程如explorer.exe會(huì)忽略該消息。而控制臺(tái)版必須調(diào)用OpenProcess獲取PROCESS_TERMINATE權(quán)限再執(zhí)行TerminateProcess。這里有個(gè)致命陷阱OpenProcess返回的句柄必須用CloseHandle關(guān)閉否則每終止一個(gè)進(jìn)程就泄漏一個(gè)句柄跑十分鐘就耗盡系統(tǒng)句柄池。我在指導(dǎo)畢設(shè)時(shí)曾讓學(xué)生用Process Hacker監(jiān)控自己程序的句柄數(shù)當(dāng)看到HANDLE數(shù)量從100飆到5000時(shí)他們才真正理解“資源泄漏”不是概念而是實(shí)實(shí)在在的ERROR_TOO_MANY_OPEN_FILES報(bào)錯(cuò)。所以堅(jiān)持用控制臺(tái)不是技術(shù)落后而是刻意制造認(rèn)知摩擦。當(dāng)你為解決一個(gè)printf換行符導(dǎo)致的光標(biāo)錯(cuò)位問題去研究CONSOLE_SCREEN_BUFFER_INFO結(jié)構(gòu)體的dwCursorPosition字段時(shí)你已經(jīng)在觸摸Windows控制臺(tái)子系統(tǒng)的脈搏。這種深度是任何GUI框架都無法提供的。3. 核心模塊拆解從進(jìn)程快照到內(nèi)存分析的四層穿透式實(shí)現(xiàn)這個(gè)任務(wù)管理器.zip的代碼結(jié)構(gòu)絕非簡單的“main函數(shù)一堆函數(shù)”。它是一套嚴(yán)格遵循Windows進(jìn)程管理分層模型的微型系統(tǒng)共分為四個(gè)邏輯層每一層都對(duì)應(yīng)著操作系統(tǒng)內(nèi)核的一個(gè)抽象概念。下面我以實(shí)際代碼片段為線索帶你逐層穿透。3.1 第一層快照捕獲層——CreateToolhelp32Snapshot的隱含契約這是整個(gè)系統(tǒng)的基石也是最容易出錯(cuò)的第一關(guān)。很多學(xué)生復(fù)制網(wǎng)上的示例代碼直接寫HANDLE hSnapshot CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0); if (hSnapshot INVALID_HANDLE_VALUE) { printf(快照創(chuàng)建失敗\n); return -1; }看起來沒問題但實(shí)際運(yùn)行時(shí)Process32First總返回FALSE。原因在于CreateToolhelp32Snapshot的第二個(gè)參數(shù)th32ProcessID當(dāng)傳入0時(shí)表示“捕獲當(dāng)前會(huì)話所有進(jìn)程”但這個(gè)“當(dāng)前會(huì)話”取決于你的程序是以何種權(quán)限啟動(dòng)的。如果你用普通用戶權(quán)限運(yùn)行快照里根本看不到svchost.exe等系統(tǒng)進(jìn)程而用管理員權(quán)限運(yùn)行又可能因UAC虛擬化導(dǎo)致路徑解析異常。真正的健壯寫法必須包含權(quán)限提升檢測(cè)// 檢查是否以管理員權(quán)限運(yùn)行 BOOL IsAdmin() { HANDLE hToken; if (!OpenProcessToken(GetCurrentProcess(), TOKEN_QUERY, hToken)) return FALSE; TOKEN_ELEVATION elevation; DWORD dwSize; BOOL bRet GetTokenInformation(hToken, TokenElevation, elevation, sizeof(elevation), dwSize); CloseHandle(hToken); return bRet elevation.TokenIsElevated; } // 創(chuàng)建快照前檢查權(quán)限 if (!IsAdmin()) { printf(警告未以管理員權(quán)限運(yùn)行部分系統(tǒng)進(jìn)程將不可見\n); } HANDLE hSnapshot CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS | TH32CS_SNAPTHREAD, 0);這里的關(guān)鍵洞察是TH32CS_SNAPPROCESS和TH32CS_SNAPTHREAD必須組合使用因?yàn)楹罄m(xù)要分析線程數(shù)。而CreateToolhelp32Snapshot返回的句柄其生命周期必須嚴(yán)格匹配快照使用周期——在Process32First/Process32Next循環(huán)結(jié)束后立即CloseHandle否則句柄泄漏會(huì)迅速拖垮系統(tǒng)。我在測(cè)試時(shí)曾故意注釋掉CloseHandle運(yùn)行30秒后任務(wù)管理器的“性能”頁簽就卡死這就是最直觀的反面教材。3.2 第二層進(jìn)程解析層——PROCESSENTRY32結(jié)構(gòu)體的字段戰(zhàn)爭PROCESSENTRY32看似簡單但每個(gè)字段背后都是Windows內(nèi)核的精密設(shè)計(jì)。最常被誤解的是th32ParentProcessID和th32ProcessIDth32ProcessID進(jìn)程唯一標(biāo)識(shí)符但注意它不是進(jìn)程的內(nèi)存地址也不是PID的十六進(jìn)制表示而是一個(gè)由系統(tǒng)分配的、在當(dāng)前會(huì)話內(nèi)唯一的32位整數(shù)。重啟系統(tǒng)后同一進(jìn)程的PID可能完全不同。th32ParentProcessID父進(jìn)程PID但Windows沒有嚴(yán)格的“父子進(jìn)程樹”概念。例如explorer.exe啟動(dòng)notepad.exe后若explorer崩潰notepad并不會(huì)自動(dòng)退出——它會(huì)被csrss.exeClient/Server Runtime Subsystem接管此時(shí)th32ParentProcessID變?yōu)閏srss的PID。另一個(gè)坑是szExeFile字段。它存儲(chǔ)的是進(jìn)程映像文件名如notepad.exe而非完整路徑。要獲取完整路徑必須調(diào)用GetModuleFileNameEx但這需要PROCESS_QUERY_INFORMATION權(quán)限且對(duì)某些保護(hù)進(jìn)程如lsass.exe會(huì)失敗。因此健壯的實(shí)現(xiàn)應(yīng)該// 嘗試獲取完整路徑失敗則回退到szExeFile TCHAR szPath[MAX_PATH] {0}; if (GetModuleFileNameEx(hProcess, NULL, szPath, MAX_PATH)) { // 成功獲取路徑 } else { wcscpy_s(szPath, MAX_PATH, pe32.szExeFile); // 回退到文件名 }3.3 第三層內(nèi)存分析層——GetProcessMemoryInfo的采樣真相PROCESS_MEMORY_COUNTERS結(jié)構(gòu)體中的WorkingSetSize工作集大小常被誤認(rèn)為“進(jìn)程占用的物理內(nèi)存”。實(shí)際上它是該進(jìn)程當(dāng)前被映射到物理內(nèi)存中的頁面總數(shù)但這些頁面可能被多個(gè)進(jìn)程共享如ntdll.dll。所以兩個(gè)Chrome標(biāo)簽頁的WorkingSetSize加起來遠(yuǎn)大于實(shí)際物理內(nèi)存占用。更關(guān)鍵的是采樣時(shí)機(jī)。GetProcessMemoryInfo獲取的是調(diào)用時(shí)刻的瞬時(shí)值而Windows內(nèi)存管理器每秒會(huì)進(jìn)行多次頁面置換。因此連續(xù)兩次調(diào)用可能得到相差30MB的結(jié)果。解決方案是引入滑動(dòng)窗口平均#define SAMPLE_COUNT 5 DWORDLONG memorySamples[SAMPLE_COUNT] {0}; int sampleIndex 0; // 在刷新循環(huán)中 MEMORYSTATUSEX memInfo; memInfo.dwLength sizeof(memInfo); GlobalMemoryStatusEx(memInfo); DWORDLONG currentMem memInfo.ullAvailPhys; // 可用物理內(nèi)存 // 更新滑動(dòng)窗口 memorySamples[sampleIndex] currentMem; sampleIndex (sampleIndex 1) % SAMPLE_COUNT; // 計(jì)算平均值 DWORDLONG avgMem 0; for (int i 0; i SAMPLE_COUNT; i) { avgMem memorySamples[i]; } avgMem / SAMPLE_COUNT;這個(gè)設(shè)計(jì)模仿了真實(shí)任務(wù)管理器的內(nèi)存曲線平滑算法讓學(xué)生理解所謂“實(shí)時(shí)監(jiān)控”本質(zhì)是高頻采樣數(shù)據(jù)濾波的工程妥協(xié)。3.4 第四層交互控制層——TerminateProcess的權(quán)限博弈終止進(jìn)程是最危險(xiǎn)的操作也是教學(xué)價(jià)值最高的環(huán)節(jié)。TerminateProcess要求目標(biāo)進(jìn)程句柄具備PROCESS_TERMINATE權(quán)限而獲取該權(quán)限需要OpenProcess時(shí)指定正確標(biāo)志HANDLE hProcess OpenProcess(PROCESS_TERMINATE | PROCESS_QUERY_INFORMATION, FALSE, pe32.th32ProcessID); if (hProcess NULL) { DWORD err GetLastError(); if (err ERROR_ACCESS_DENIED) { printf(權(quán)限不足嘗試以管理員身份運(yùn)行\(zhòng)n); } continue; }但這里有個(gè)隱蔽陷阱OpenProcess返回的句柄其訪問權(quán)限受目標(biāo)進(jìn)程的SeDebugPrivilege調(diào)試權(quán)限影響。普通用戶進(jìn)程默認(rèn)不啟用該權(quán)限因此即使你是管理員OpenProcess仍可能失敗。真正的解決方案是// 啟用調(diào)試權(quán)限 HANDLE hToken; if (OpenProcessToken(GetCurrentProcess(), TOKEN_ADJUST_PRIVILEGES | TOKEN_QUERY, hToken)) { TOKEN_PRIVILEGES tp; tp.PrivilegeCount 1; tp.Privileges[0].Attributes SE_PRIVILEGE_ENABLED; LookupPrivilegeValue(NULL, SE_DEBUG_NAME, tp.Privileges[0].Luid); AdjustTokenPrivileges(hToken, FALSE, tp, sizeof(tp), NULL, NULL); CloseHandle(hToken); }這段代碼開啟了當(dāng)前進(jìn)程的調(diào)試特權(quán)使OpenProcess能獲取任意進(jìn)程句柄。它揭示了一個(gè)重要事實(shí)Windows權(quán)限模型不是簡單的“管理員/普通用戶”二分而是由數(shù)十個(gè)獨(dú)立特權(quán)組成的精細(xì)控制體系。學(xué)生只有親手寫過這段代碼才會(huì)真正理解“提權(quán)”在系統(tǒng)安全中的含義。4. 畢設(shè)答辯高頻雷區(qū)與防御性代碼設(shè)計(jì)——讓代碼自己說話答辯現(xiàn)場教授最愛問的從來不是“你實(shí)現(xiàn)了什么”而是“你為什么這樣實(shí)現(xiàn)”、“有沒有考慮XX邊界情況”、“如果XX發(fā)生你的程序會(huì)怎樣”。下面這些雷區(qū)是我從十年答辯記錄中提煉出的最高頻問題以及對(duì)應(yīng)的防御性代碼設(shè)計(jì)思路。4.1 雷區(qū)一“進(jìn)程名重復(fù)怎么辦比如兩個(gè)python.exe你怎么區(qū)分”這是必問題。很多學(xué)生答“按PID排序”但教授會(huì)追問“PID是遞增的新進(jìn)程PID一定比舊進(jìn)程大嗎”——答案是否定的。Windows PID采用循環(huán)分配策略最大值為0x7FFFFFFF約21億用完后從低位重新開始。因此兩個(gè)python.exe的PID可能相差極大但啟動(dòng)時(shí)間相近。防御方案引入啟動(dòng)時(shí)間戳。PROCESSENTRY32結(jié)構(gòu)體沒有啟動(dòng)時(shí)間但可通過GetProcessTimes獲取FILETIME ftCreate, ftExit, ftKernel, ftUser; if (GetProcessTimes(hProcess, ftCreate, ftExit, ftKernel, ftUser)) { ULARGE_INTEGER liCreate; liCreate.LowPart ftCreate.dwLowDateTime; liCreate.HighPart ftCreate.dwHighDateTime; // 轉(zhuǎn)換為本地時(shí)間或Unix時(shí)間戳用于排序 }在顯示列表時(shí)按liCreate.QuadPart升序排列就能確保新啟動(dòng)的進(jìn)程排在前面。這個(gè)設(shè)計(jì)不僅解決了問題還引出了Windows FILETIME時(shí)間戳的64位精度特性100納秒單位比time_t的秒級(jí)精度高百萬倍。4.2 雷區(qū)二“你如何保證程序自身不被自己終止”這是經(jīng)典的“自指悖論”。當(dāng)用戶選擇終止當(dāng)前任務(wù)管理器進(jìn)程時(shí)程序必須有自我保護(hù)機(jī)制。簡單粗暴的做法是if (pe32.th32ProcessID GetCurrentProcessId()) { printf(禁止終止自身進(jìn)程\n); continue; }但更專業(yè)的做法是在終止前注入心跳檢測(cè)// 終止前發(fā)送心跳信號(hào) DWORD dwResult; if (WaitForSingleObject(hProcess, 100) WAIT_TIMEOUT) { // 進(jìn)程無響應(yīng)可安全終止 TerminateProcess(hProcess, 0); } else { printf(進(jìn)程正在響應(yīng)建議使用正常關(guān)閉\n); }這里利用了WaitForSingleObject檢測(cè)進(jìn)程句柄狀態(tài)的特性——如果目標(biāo)進(jìn)程已掛起或死鎖該函數(shù)會(huì)超時(shí)從而避免誤殺正在執(zhí)行關(guān)鍵清理的進(jìn)程。4.3 雷區(qū)三“內(nèi)存占用顯示不準(zhǔn)和任務(wù)管理器差200MB為什么”這觸及Windows內(nèi)存管理的核心。GetProcessMemoryInfo返回的WorkingSetSize是進(jìn)程的工作集而任務(wù)管理器顯示的“內(nèi)存(私有工作集)”是PrivateUsage字段二者計(jì)算方式不同。PrivateUsage只統(tǒng)計(jì)進(jìn)程獨(dú)占的內(nèi)存頁排除共享DLL的內(nèi)存。防御方案同時(shí)采集兩種指標(biāo)并標(biāo)注來源// 獲取私有工作集需Windows 8 PROCESS_MEMORY_COUNTERS_EX pmcex; pmcex.cb sizeof(pmcex); if (GetProcessMemoryInfo(hProcess, (PPROCESS_MEMORY_COUNTERS)pmcex, sizeof(pmcex))) { printf(私有工作集: %llu KB\n, pmcex.PrivateUsage / 1024); } // 回退到傳統(tǒng)工作集 printf(工作集: %llu KB\n, pmc.WorkingSetSize / 1024);并在界面上明確標(biāo)注“私有工作集推薦”和“工作集兼容舊系統(tǒng)”既展示了技術(shù)深度又體現(xiàn)了工程務(wù)實(shí)精神。4.4 雷區(qū)四“你如何處理Unicode進(jìn)程名比如中文軟件‘微信.exe’”這是編碼陷阱。PROCESSENTRY32是寬字符結(jié)構(gòu)體WCHAR但很多學(xué)生用printf直接輸出導(dǎo)致亂碼。正確做法是// 安全轉(zhuǎn)換寬字符到UTF-8 int len WideCharToMultiByte(CP_UTF8, 0, pe32.szExeFile, -1, NULL, 0, NULL, NULL); char* utf8Name (char*)malloc(len); WideCharToMultiByte(CP_UTF8, 0, pe32.szExeFile, -1, utf8Name, len, NULL, NULL); printf(進(jìn)程名: %s\n, utf8Name); free(utf8Name);這個(gè)轉(zhuǎn)換過程強(qiáng)制學(xué)生理解Windows內(nèi)部統(tǒng)一使用UTF-16而控制臺(tái)默認(rèn)代碼頁是GBK簡體中文系統(tǒng)直接輸出必然亂碼。UTF-8是跨平臺(tái)通用編碼掌握它意味著具備國際化開發(fā)基礎(chǔ)。5. 從畢設(shè)到工業(yè)級(jí)工具三個(gè)可立即落地的升級(jí)路徑完成基礎(chǔ)任務(wù)管理器后別急著打包交差。這三個(gè)升級(jí)方向每一個(gè)都能讓你的代碼從“課程作業(yè)”蛻變?yōu)椤罢鎸?shí)可用的工具”并極大提升簡歷競爭力。5.1 升級(jí)路徑一添加進(jìn)程樹視圖——理解Windows會(huì)話與作業(yè)對(duì)象當(dāng)前代碼是扁平化進(jìn)程列表但真實(shí)系統(tǒng)中進(jìn)程存在層級(jí)關(guān)系。升級(jí)關(guān)鍵在于解析th32ParentProcessID構(gòu)建樹形結(jié)構(gòu)并處理會(huì)話隔離// 構(gòu)建進(jìn)程樹偽代碼 struct ProcessNode { DWORD pid; DWORD parentPid; TCHAR name[MAX_PATH]; struct ProcessNode* children; int childCount; }; // 使用哈希表加速查找父節(jié)點(diǎn) typedef struct { DWORD pid; struct ProcessNode* node; } PidMap; // 遍歷所有進(jìn)程按parentPid分組 for each process { if (pid parentPid) { // 根進(jìn)程如smss.exe, wininit.exe add to root list; } else { // 查找父節(jié)點(diǎn)并添加為子節(jié)點(diǎn) PidMap* parent find_in_hashmap(parentPid); if (parent) { add_child(parent-node, current_node); } } }這個(gè)升級(jí)迫使你研究Windows會(huì)話Session概念explorer.exe屬于Session 1而服務(wù)進(jìn)程屬于Session 0它們的th32ParentProcessID無法跨會(huì)話關(guān)聯(lián)。因此樹形視圖必須按會(huì)話分組顯示這直接對(duì)接了Windows Terminal Server的多用戶架構(gòu)。5.2 升級(jí)路徑二集成網(wǎng)絡(luò)連接監(jiān)控——打通iphlpapi.h與進(jìn)程綁定任務(wù)管理器的“性能”頁簽有網(wǎng)絡(luò)活動(dòng)圖但基礎(chǔ)版沒有。升級(jí)需調(diào)用GetExtendedTcpTable獲取TCP連接表再通過dwOwningPid字段關(guān)聯(lián)到進(jìn)程// 獲取TCP連接表 PMIB_TCPTABLE_OWNER_PID pTcpTable; DWORD dwSize 0; GetExtendedTcpTable(NULL, dwSize, FALSE, AF_INET, TCP_TABLE_OWNER_PID_ALL, 0); pTcpTable (PMIB_TCPTABLE_OWNER_PID)malloc(dwSize); GetExtendedTcpTable(pTcpTable, dwSize, FALSE, AF_INET, TCP_TABLE_OWNER_PID_ALL, 0); // 遍歷連接按dwOwningPid分組 for (int i 0; i pTcpTable-dwNumEntries; i) { DWORD pid pTcpTable-table[i].dwOwningPid; // 查找對(duì)應(yīng)進(jìn)程名并顯示 }這個(gè)功能將進(jìn)程管理與網(wǎng)絡(luò)診斷結(jié)合是運(yùn)維工程師的核心技能。學(xué)生會(huì)立刻理解netstat -ano命令背后就是這套API的封裝。5.3 升級(jí)路徑三增加內(nèi)存泄漏檢測(cè)——用HeapWalk掃描進(jìn)程堆這是最硬核的升級(jí)。Windows每個(gè)進(jìn)程都有默認(rèn)堆GetProcessHeap通過HeapWalk可以遍歷所有已分配塊HANDLE hHeap GetProcessHeap(); PROCESS_HEAP_ENTRY entry; entry.lpData NULL; while (HeapWalk(hHeap, entry)) { if (entry.wFlags PROCESS_HEAP_ENTRY_BUSY) { // 掃描busy塊的內(nèi)存內(nèi)容尋找常見泄漏模式 // 如malloc后未freenew后未delete } }雖然完整實(shí)現(xiàn)內(nèi)存泄漏檢測(cè)需符號(hào)文件PDB但基礎(chǔ)版可統(tǒng)計(jì)各進(jìn)程堆內(nèi)存分配總量并標(biāo)記長期不釋放的大塊內(nèi)存。這直接切入C語言內(nèi)存管理的教學(xué)痛點(diǎn)讓“野指針”“內(nèi)存泄漏”從概念變成可量化的數(shù)據(jù)。這三個(gè)升級(jí)每一個(gè)都對(duì)應(yīng)一個(gè)真實(shí)的工業(yè)場景進(jìn)程樹對(duì)應(yīng)系統(tǒng)故障排查網(wǎng)絡(luò)監(jiān)控對(duì)應(yīng)安全審計(jì)內(nèi)存分析對(duì)應(yīng)性能調(diào)優(yōu)。當(dāng)你在答辯時(shí)展示“我的任務(wù)管理器不僅能看進(jìn)程還能定位哪個(gè)微信子進(jìn)程在瘋狂申請(qǐng)內(nèi)存”教授的眼神會(huì)立刻不一樣——因?yàn)槟阋呀?jīng)超越了課程要求進(jìn)入了工程師的思維范式。6. 最后分享一個(gè)血淚教訓(xùn)關(guān)于tlhelp32.h頭文件的編譯器陷阱這是我?guī)М呍O(shè)十年來學(xué)生踩得最多、最隱蔽、最讓人抓狂的坑?,F(xiàn)象是代碼在Visual Studio里編譯運(yùn)行完美但一換到Dev-C或Code::BlocksCreateToolhelp32Snapshot就報(bào)LNK2019鏈接錯(cuò)誤提示“無法解析的外部符號(hào)”。根源在于tlhelp32.h只是一個(gè)聲明頭文件它依賴的lib庫是kernel32.lib而不同IDE的默認(rèn)鏈接庫配置不同。Visual Studio默認(rèn)鏈接kernel32.lib但MinGWDev-C底層默認(rèn)不鏈接必須顯式添加。解決方案有三步缺一不可確認(rèn)編譯器定義在代碼開頭強(qiáng)制定義_WIN32_WINNT確保使用最新API#define _WIN32_WINNT 0x0601 // Windows 7及以上 #include windows.h #include tlhelp32.h顯式鏈接庫在IDE設(shè)置中添加-lkernel32MinGW或kernel32.libMSVC。驗(yàn)證函數(shù)導(dǎo)出用dumpbin /exports kernel32.dll檢查目標(biāo)系統(tǒng)DLL是否導(dǎo)出該函數(shù)Windows XP SP3之后都支持。但最致命的陷阱是有些學(xué)生用#pragma comment(lib, kernel32.lib)這在MSVC有效但在MinGW下會(huì)報(bào)錯(cuò)。正確的跨平臺(tái)寫法是#ifdef __GNUC__ #pragma comment(lib, kernel32) #else #pragma comment(lib, kernel32.lib) #endif或者更穩(wěn)妥地在Makefile或項(xiàng)目設(shè)置中統(tǒng)一配置。這個(gè)教訓(xùn)說明C語言課程設(shè)計(jì)的終極目標(biāo)不是寫出能跑的代碼而是寫出能在不同環(huán)境、不同編譯器、不同Windows版本下穩(wěn)定工作的代碼。當(dāng)你為解決一個(gè)鏈接錯(cuò)誤翻遍MinGW文檔、查kernel32.dll導(dǎo)出表、對(duì)比不同Windows版本的API支持列表時(shí)你學(xué)到的遠(yuǎn)不止任務(wù)管理器本身——那是軟件工程最本質(zhì)的“可移植性”思維。我至今記得一個(gè)學(xué)生為解決這個(gè)鏈接問題熬了三天最后在Stack Overflow找到答案時(shí)他發(fā)給我一條消息“老師我現(xiàn)在終于懂了為什么Linux要搞POSIX標(biāo)準(zhǔn)。”那一刻我知道他真正入門了。本文還有配套的精品資源點(diǎn)擊獲取
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
婷婷五月天资源| 天天干天天叉| 色色色色色日韩午夜激情 | 国产黄大片在线观看画质优化| 韩国久久少妇视屏| 有码人妻久久| 99热精品在线| 五月丁香久久综合| 久9无码视频| 日日做A爰片久久毛片A片英语| 五月性色| 激情五月天综合网| 久久久久9久无码视频| 狠狠色婷婷777| 五月婷丁香| 99热在线播放精品| 久久精品熟女亚洲AV麻豆| 超碰成人免费| 色碰碰视频| 五月丁香婷婷激情澎湃四射| 一本综合丁香日日狠狠色| 丁香五月香蕉在线| 精品思思久久| 色色亚洲无码| 99在线观看亚洲| www.com.色色| 久久伊人9| 色就色94欧美setu| 在线一起草av| 色婷大香蕉| 激情都市另类| 99在线视频观看| 深爱五月婷婷| www久久久久久久久久久| 五月天婷婷色| 婷婷五月激情欧美大胆视频| 思思热99er| 俺也去色| 一本色道久久综合狠狠躁一二三| 三日本无码| 国产精品久久久久久久久久免费| 色婷婷网大全在线| 国产亚洲av片| 97碰| 美女五月天婷婷| 9久久精品| 丁香色成人| 狠狠综合色网| 99色在线视频| 秋霞电影理论| 五月婷婷69| www色五月| 成人开心五月天| 99操逼| www,色色色网站| 五月六月激情| 激情综合99| 人妻AV在线观看| 五月天激情久久| 五月色网| 农村熟妇高潮精品A片| 这里只有精品视频| 色色色1网址| 国产91在线视频| 色亭亭丁香五月天| 日本色色图| 99热在线观看免费中文| 我要看激情五月天| 久久女人天堂| 婷婷色色网站| 九九香蕉网| 蜜桃婷婷丁香五月天狠狠久久综合| 综合激情五月四射婷婷| 亚艹艹| 79精品视频在线观看,| 天天综合五月天| 九九激情综合| 丁香五月玖玖| 日本va欧美va欧美va精品| 丁香六月色婷婷欧美| 思思热99er在线视频| aaa日韩| 99精在线| 香蕉人妻AV久久久久天天| 九九精品大香蕉| 日韩欧美一道四区中文字幕| 五月天伊人日日噜影片AV| 成人电影丁香六月天| 人人视频人人干人人做| 亚洲最大成人综合网720P| 久久婷婷综合色丁香| 五月婷婷啪啪| 丁香五月天堂网| 91精品久久久久久综合五月天| 婷婷五月激情基地| 色婷婷五月天激情在线播放| 日本三级黄色大片| 激情久久网| 免费成人va| 婷婷五月天另类网站| 五月丁香亭亭操逼| 日本在线视频看se99| 天天操夜夜啊| 五月天丁香| 五月天婷婷AV| 婷丁香五月天| 操一操| 日本九九网| 日本三级韩三级99久久| 亚洲AV第二区国产精品| 俺去也五月天婷婷| 2018夜夜草| 91互操| www.99色| 久久性视频| 99热这里只有精品搜| 超碰女人天堂| 免费97碰碰| 五月婷婷免费视频| 青青草免费公开视频| 光棍影院日韩精品| 六九色综合婷婷五月天| 亚洲色区17| 开心五月激情| 久热99| 大香蕉伊人99| 九九久久五月天| 亚洲AV无码电影| 这里只有国产精品在线| 伊人在线视频| 5月丁香六月婷婷| 777影视理论片大全在线观看| 色综合久久中文| 99精品免费欧美小视频| 91伦| 色无码| 五月婷婷综合成人| 五月婷婷开心综合| www.久久9| 99热最新网址| 亚洲天堂九九九| www一区二区三区| 欧美槡BBBB槡BBB少妇| 大香蕉五月天| 天天综合精品| 黄色录像网点| 狠狠干五月丁香| 激情五月六月婷婷| 五月社区婷婷激情| 一区二区你懂的| www色中色综合| 伊人五月婷| www.com操| 强辱丰满人妻HD中文字幕| 黄色aaaaa| 99婷婷| 97久久视频| 丁香五月首页| 丁香月五月天婷婷久久| 五月丁香婷婷钟和色图| 色色色色色色网站| 99九九久久| 97操碰| 色啪网| 亚洲精品视频在线播放| 中文国产五月天| 六月婷婷最新网址| 婷婷深爱五月天| 91狠狠综合久久| 婷婷五月天激情文学| 国产乱码久久| 一级韩国产精品毛| 五月婷婷人人人操| 狠狠色丁婷婷日日,伊人激情综合网| 色婷婷99| 亚洲午夜一区二区| 97涩涩丁香五月天| 超碰网站在线观看| 婷婷五月天激情四射五月天激情| WWW.亚洲无码| 天天干天天色综合| 五月婷网站| 五月天停停日日| 中文字幕av久久爽一区| 天天色天天噜| 亚洲区视频| 综合色久| 超碰91人人操| 五月久久丁香| 婷婷五月天丁香| 9久热精品在线视频| www五月天com| 五月婷婷六月爱| 99热官网精品在线| 亚洲妇女熟BBW| 五月天婷婷在线观看| 99久久99九九九99九他书对| 丁香色色五月| 青青草国产亚洲精品久久| 美女美女美女三级色天天天天天| 激情综合网丁香| 欧美性爱专区| 国产特级毛片AAAAAAA高清| 天天婷婷综合亚洲亚洲| 99久久99热这里只有精品| 九九超日本| 色色网站| 久久网日本| www·五月天| 亚洲AV无码一区二| 色五月丁香91| 亚洲精品一区中文字幕乱码| 久久九九综合| 九九精品亚洲| 99这里热| 天天精品视频免费观看| 婷婷激情五月综合丁香社| 五月丁香六月婷| 热婷婷在线视频| 国产亚洲精品久久久久久郑州| 人人播| 丁香五月婷婷88在线| 久99视频在线观看| 色婷五月天激情| 亚洲婷婷五月天综合| 久久一操| 五月婷婷9| 曰韩少妇内射免费播放| 亚洲激情久久| 噼里啪啦在线观看免费完整版视频| 激情综合色婷婷啪啪六月天| 色色热| 五月开心啪啪| 婷婷五月天激情五月天| 丁香社区婷婷五月| 久久思思热视频| 天天玩夜夜操天天爽| 日韩 中文 欧美| 七七久久综合| 大香蕉网 久久| 96精品成人无码A片观看金桔 | 99天堂在线观看免费视频| 婷婷久草| 欧亚成人A片一区二区| 中文字幕AV在线播放| 六月丁香婷婷综合在线| 五月丁香六月天| 开心五月深爱五月丁香五月激情五月| 婷婷五月天美女视频| caobi四区| 综合五月天亚洲婷婷| 婷婷久久亚洲| 婷婷久久婷婷色五月| 色婷婷婷婷| 无码动漫av| 99热欧美精品| 99操逼| 99精品视频偷拍| 五月婷婷开心五月| 久热69| 激情网婷婷五月天| 99热啪啪| 亚洲综合网在线| 秋霞少妇AV网站| 成人做爰黄A片免费看直播室男男| 狠狠综合网| 久久精彩免费视频| 欧美精品在线观看| 成片免费观看大全| 九九热99视频| 五月天色婷婷小说| 99这里只有精品|v| 99啪啪| 五月丁香综合在线| 六月丁花香啪啪激情欧美| 国产精品久久久久久久久久| 去色色五月天| 色五月天影视| 就爱射中文字幕资源网| www.yw色| 欧美成人精品A片免费一区99| 中文字幕无码人妻少妇免费视频| 97热超碰| 视色网在线播放| 婷婷六月激情丁香| 丁香五月天.com| 色99色| 免费看欧美成人A片无码| 欧美内射AAAAAAXXXXX| 日本91在线播放| 婷婷综合偷拍| 丁香婷婷精品视频| 国产在这里只有精品| 91久久免费| 日本WWW九九九| 亚洲AV成人精品日韩在线播放| 深爱激情四射| 碰碰女| 丰满少妇猛烈A片免费看观看| Av狠狠色丁香婷| 婷婷丁香91| 久久久com| 五月丁香六月欧美| 热99在线| 97久久五月丁香婷婷| 99在线观看亚洲| 这里只有精品69| 超碰在线国产| 激情五月婷婷她| 久综合网| 丁香五月婷婷大香蕉| 五月婷婷丁香| 99久久婷婷国产综合精品草原| 色五月天视频| 精品亚洲国产成人A片在线鸭王| 超碰在线个人观看| 青青草深爱激情网| 五月婷av| 日本97在线视频| 激情亚洲色图片丁香综合| 日本高清久| 伊人婷婷99热精品| 久久6这里只有精品| 丁香五月天激情视频| 丁香五月电影| 亚洲色色色色色色色色色| 996热re视频精品视频这里| 色综合久| 五月婷啪| 色播婷婷大香蕉| 丁香五月欧美婷婷| 这里只有精品视频一区| 97丨九色丨国产丨PORNY| 久9无码视频| 婷婷五月美女直播| 三日本无码| 五婷婷六月合| 成人做爰A片免费看视频| 站长推荐无码播放| 亚洲婷婷五月| 大香蕉伊人爱在线| 99热综合色图| 久久色五月天| 五月婷婷色播| 日本美女上人| 97精品综合久久| 色色色色色色色色色色色色色五月天| 日日爽日日| 五月天婷婷色播在线网| CHINESE熟女老女人HD视频| 女婷久久| 婷婷狠狠干| 91狠狠综合网| wwwss在线观看| 久久总和99| 欧美色性色好| 内射综合网| 影视av久久久噜噜噜噜噜三级| 91 久热| 激情小说 五月天| 亚洲激情四射色| 99re这里有精品手机在线| 九九色色| 色色色国产| 日本少妇AA一级特黄大片| 婷婷激情五月天在线| 久久精品一区二区三区四区| 狠狠插日日干撸| 色婷婷激情视频| 丁香婷婷五月基地| 久久婷婷丁香五月宗合| 丁香九月婷| 日韩欧美颜射| 香蕉AV777XXX色综合一区| 1024在线观看免费视频| 欧美日韩大黄| 久久久精品婷婷五月天| 开心激情综合| 啪啪激情网| 色色婷婷五月| 九九操综合网| 色色色9 9 9| 天天操中文字幕| 婷婷激情五月综合| 天堂久久丁香| 久久婷婷内射| 逼逼AV| 丁香五月成人自拍| 亚洲免费婷婷| 噜噜噜噜噜色| 玖玖在线视频| www91色网站| 天天射影院| 婷婷久久五月| 亚洲av电影在线| 99干日本| 激情都市五月天| 五月天色站| 亚洲AV人人操| 人妻AV中文系列| 99热在线这里| 色色色视频免费无码| 99热最新国内| 欧美久热| jiZZdr| 久久精品99| 99精品视频免费观看近期发布| 《蜘蛛女》梁铮1995| 九九99在线免费在线观看视频| 婷婷六月天| 色情五月婷婷| 五月婷婷免费在线观看| 久久久妻人人人| 婷婷碰碰| 亚洲成人综合在线| 六月婷婷av| 亚洲女婷婷五月基地综合久久久| 久热综合| 色婷婷啪啪| 久热免费视频| 人妻视频在线| 99热这里只有精品2| 亚洲午夜AV| 国产欧美大香蕉一区| 久久六月天| 熟女激情五月天 | 999热这里只有精品| 99热国产在| 99热日| 中文字幕婷婷9月天| 婷婷性爱网| 婷婷五月天综合小说网| 婷婷成人丁香色情基地30| 久久久久8888| 伊人色五月| 色和综合网| www.狠狠操| 99精品久久久久| 午夜婷婷六月天| 色就是色婷婷五月亚洲激情| 另类 在线| 五月天欧美激情| 婷婷色婷婷亚洲成人| 色五月欧美| 91N 一起草| 91打屁股免费看| 色色婷婷五月天| 五月婷婷与六月丁香图片激情| 欧美婷婷精品激情| 99在线精品在线视频| 亚洲欧洲自拍图片专区五月天| 99在线热| 99热精品在线播放| 五月久久五月激情| 国产精品久久久99视频| 五月婷俺去也| 狠狠夜夜五月丁香| 99热这里只有在线播放| 成人婷婷桔色| 管管補管管紱| 五月丁香六月婷婷在线播放| 无码人妻一区二区三区四区| 五月开心啪啪| 99热99色| 亚洲综合另类| 久综合网| 五月丁香| 亚洲综合网在线| 日韩限制级大尺度黑料泄密大尺度视频一区二区在线观看 | 天天日日夜夜| 乱精品一区字幕二区| 国产美女无遮挡裸体毛片A片| 成年人丁香五月| 天天日天天爽夜夜爽| 激情综合五月| 成人做爰A片免费看视频| 五月婷婷综合激情| 天天日天天久久青青| 俺也去五月婷婷丁| 91丨九色丨国产在线| 伊人综合婷婷| AV中文在线| 天天爽成人综合网站| 夜夜操夜夜爽| 亚洲日日操| 九九热99熟女| 五月激情小说| 久久XX| Av九九| 九色视频91| 六月丁香五月激情亚洲AV| 亚洲五月天天| 五月天婷婷综合免费| 色天堂在线| 五月婷综合| 99ER热精品视频| 中文字幕av网站| www.色九月| 五月在线婷色| 夜夜干夜夜操| 99精品综合| 亚洲成人在线在线| 九月影院義母在线播放| 日日干日日s| 色色色9| 色婷婷丁香五月天| 久久涩视频| 超碰av天堂| 色五月无码| 人人人va亚洲视频在线| 色播五月丁香| 久色大香蕉| 91男同| 婷婷激情五月综合丁| 丁香五月婷婷五月| 99久久国产宗和精品1上映| 日都一级A片| 大香蕉综合网| 狠狠操狠狠操| 日韩成人精品中文字幕电影| 91狠狠综合久久久| 夜夜骑天天操| 影音先锋91网站在线观看| 婷婷五月天午夜激情影院| 立川无码av| 六月丁丁香| 精品无码久久久久久久久 | 人人色AV| 另类图片五月天| 51XX嘿嘿午夜无码| 久久人妻高清中文| 天天人人天天爽| 色色色综合| 91在线就要啪| 亚洲网站在线鸭子av| 日韩在线一级| AV网在线观看| 99这里只有精品在线| 大香蕉精品视频| www,99色| 九九综合久久| 久久五月天激情| 婷婷四月 成人 狠狠干| 97碰碰在线看视频免费| 色婷亚洲| 26uuu在线观看| 色就色94欧美setu| 婷婷五月天亚洲精品| 亚洲天堂热| www色婷婷| WWW.桔色成人.COM| 大香蕉人人人| 狠狠狠狠狠干| 婷婷久久伊人| 五月天另类激情在线| 91五月花丁香| 99亚洲色色| 艹B高清无码| 丁香五月婷婷姐| 激情五月天小说网| 98毛片| 开心激情婷婷| 色六月丁香婷婷狠狠干| 精品一二三区久久AAA片| 丁香五月激情宗合| 色婷婷久久| 天天噜天天插| 嫩草AV久久伊人妇女超级A| 操操操www.com| 丁香五月天激情综合| 伊人激情| www.狠狠操| 丁香 婷婷五月| 成人精品一区日本无码网| av婷婷丁香 六月| 色婷婷综合网| 五月丁香亚洲综合网| 5月婷婷激情6月| 第九色区av天堂| 丁香五月激情月| 99在线精品免费视频| 开心五月色婷| 色色综合热| 99热热这里只精品996小说| 国产综合婷婷| 99精品免费视频| 热这里只有精| 波多野结衣不卡AV| 91视频综合网| 俺也去在线久久精品23欧美综合视频网站,丰满人妻一区二区三区在线视频53,丰满 | 精品网站:999WWW| 亚洲黄色影视| 丁香六月婷婷色XXXX| 激情五月天www| 婷婷的色色五月天| 婷婷在线播放| 五月激情久久综合网| www.AV在线| 9久精品视频| aaaaaa片| 黄色五月婷| 级情九色| 激情综合五月色丁香婷婷 | 这里只有精品视频在线看| 成人片在线免费看| 激情五月婷| 五月香六月婷| 九色视频91| 9精品久久999| 91精品国产91久久久久青草| 婷婷 亚洲图片 丁香| 丁香婷婷午夜| 国产精品久久欧美久久一区| 99综合| 99热这只有| HD久久精品视频| 久久99网| 婷婷五月激情六月| 激情亚洲五月| 久久丁香五月天| 激情5月天天天| 嫩草视频观看| 激情综合网激情五月丁香五月俺也去| 久草视频一,二三四| 99成人网站| 激情五月综合久久| www.wuyuetian啪啪| 亚洲天堂啪啪| 思思 热 99| 青青草a在线| 丁香六月激情综合网| 禁欲电影完整版在线播放| 狠狠狠色激情综合适合| 蜜桃婷婷丁香| 性色欲情 网站| 一操久久| 丁香五月婷婷老师网站| 伊人色综合网| 久久久久久综合88| 婷婷亚洲五月| 99思思热只有在这里看| 99re热| 色综合色五月| 激情五月综合久久| Caoub青青超碰 | 热99久| www.ywav| 欧美三级巜人妻互换| 婷婷五月天成人网| 99久在线| 91婷婷色| 在线观看婷婷5月| 久久性爱视频这里只有精品| 国产精品国产VA片国产| 五月丁香天天| 婷婷综合五月激情| 亚州欧美国产久精国产99综合视频| 婷婷五月天Av| 激情AV在线| 日韩无码人妻一区二区| 狠狠色噜噜色狠狠狠综合色| 天天肏天天舔AV| AA片在线观看视频在线播放| 五月婷婷色| 天天爽天天爽| 五月丁香色色网| 中文av网站| 丁香五月电影| 激情综合网激情五月天| 桃色五月天| 能看的AV| 婷婷爱综合| 色五月综合婷婷久久综合婷婷久久综合婷婷久久综合婷婷久久 | 久热久| 五月丁香六月婷| 99精品视频网| 国产精品18久久久| 艹B高清无码| 亚洲网站观看视频| 婷婷色狠狠| .肏屄视频一区二区| 丁香五月 性爱| 久久五月天丁香花| 国产精品色婷婷久久久精品| aa久久| 色色婷婷五月| 激情伍月 欧美| 欧美噜一噜| 夜夜爽天操| 精品无吗va视频免费观看| 五月天激情久久| 99热综合在线| 五月丁香久久| 婷婷五月丁香综合亚洲| 日本色色影院| 91碰碰碰| 色婷婷五月天小说网| 五月激情久久综合网| 久久婷婷视频| 九九久久网| 公的粗大挺进了我的密道| 精品人妻一区二区三区在| 久久综合最新网址| 综合色影| 丁香五月婷婷成人色区| 五月天天天色| 深爱开心激情| 九九XX视频| 九九九九大香蕉| 亚洲精品乱码久久久久久按摩观| 久久丁香五月婷婷| 欧美视频五区| 情欲禁地| 婷婷色色丁香五月天| 婷婷丁香五月激情综合站_久久五月丁香激情综合_开心五月综合激情综合五月_婷 | AV在线资源| 激情综合激情五月| 99资源在线视频| 亚洲乱码精品久久久久..| 亚洲成人AV电影网| 五月婷婷激情综合在线| 丁香六月激情综合啪啪| 婷婷色综合| 99热香港| 色婷婷六月性| 丁香婷婷九月| 色婷婷性爱网| 99久久亚洲精品视频| 99免费视频在线观看爱| 色婷婷小说| 丁香久久激情俄| 梁铮版《蜘蛛女侠》在线| 直接看的AV| 99精品偷自拍| 五月丁香久久网| 夜夜爽天操| 丁香六月婷| 无码橾| 另类综合国产| 日韩啪啪视频| 色5月婷婷色| 人人草人人爱手机视频看看| 色九九综合| 色婷婷免费视频| 婷婷六月色播| 性按摩玩人妻HD中文字幕| 精品成人久久久久久久_一二三四视| 特级片神马电影| 99久久久久| 亚洲综合草草| 天天色视频| 偷拍九九热| 99久久国产成人精品| 色呦呦美女| 99热 在线播放| 热99热9| 无遮挡国产高潮视频免费观看| 日韩ac不卡无码| 五月综合激情网| 免费观看高清无码| www.99热. com这里只有精品| 综合色播| 丁香女人五月天| 五月综合久久| 九九aV| 五月天激情久久| 国产肏屄大片| 婷婷五月天福利| 中文成人在线| 亚洲国产99| 婷婷五月六月| 99爱精品| 婷婷九月狠狠色| 激情五月天天狠狠久久| 久9精品| 天天日天天舔| 影音先锋91| 在线观看av网站| 久99热在线观看| 五月婷婷激情| 人人综合久| 在线中文字幕av| 综合AV在线| 亚洲天天操| 婷婷六月丁香在线| 97色婷婷| 五月婷婷影视| 影音先锋男人av资源站| 99热费观看| 日韩大片艹艹| 另类综合激情| 狠狠做五月| 人人操AV| 婷婷五月天免费| 亚洲不卡123| 天天干天天干天天| 91精品婷婷国产综合久久| 亚洲精品成人| 高清激情av在线观看| 99热网精品| 欧美成人网99网| …亚洲黄色在线播放日韩、av中文a…| 九九 激情 网| 看黄的网站18禁| 丰满少妇猛烈A片免费看观看| 亚洲色色色色| 三级毛片7979| 国产 码在线成人网站| 激情婷婷另类| 亚洲AV另类| 欧美日韩成人| 色色色色色色色色色999| 综合精品99| 色色网站在线| 人妻操在线看| 在线天堂9| 婷婷综合| 99热免费看| 色五月大香蕉| 99久久国产综合精品五月天喷水\| 婷婷五月天电影网| 亚洲综合在线视频| 无码碰碰| 97人妻碰碰中文无码久热丝袜| 五月丁香六月婷婷不卡免费无码 | 狠狠88综合久久久久噜噜噜| 91熟妇大香蕉| 日本色色色| 色性五月天| 久久性操| 久久九网| 99热这里只有精品2| 狠狠狠狠狠草| 五月婷婷基地| a毛片二逼wwwwwwwwww| 综合色情网| 婷婷色av| 激情婷婷五六月天| 四月婷婷五月丁香| 五月天开心色色网| 日韩啪啪网| 日本色色视频| 丁香婷婷丁香五月欧美人| 婷婷六月综合基地| 亚洲亚洲人成综合网络| 色婷婷九月| av性爱网站| caobi四区| 成人亚洲精品| 欧美毛卡| 综合久久十三| 五月天激情综合网| 婷婷涩五月| 综合久久六月| 丁香色播五月天| 激情婷婷五月天| 成人毛片在线免费观看| 婷婷在线日韩综合| 五月婷婷色色| 大香蕉综合在线| 日本成人噜噜噜| 狠狠干伊人| 99热这只有| 日本九九九九| 国产操B视频| 亚洲第一影院高清无码网站| 婷婷五月天性色| 99爱爱| 五月婷婷性爱| 色五月婷婷综合在线| 欧美人人草| 日日夜夜噜噜爽爽| 欧美激情xxxXX| 亭亭玉立国色天香| 久久新地址| 玖玖99免费视频| 玖玖婷婷色| 丁香五月性爱爱五月| 九九99视频精品| 色99综合色88| 婷婷色色综合| 久久色大香蕉| 五月网站| 97丨九色丨国产丨PORNY| 日本99热| 第九色区av天堂| 九九这里只有精品| 伊人久久婷婷| 五月综合色| 免费做A爰片77777| 亚洲欧洲中文日韩久久AV乱码| 九色婷婷| A片试看120分钟做受视频红杏| 超碰在线看| 精品一二三区久久AAA片| 97人人射| 五月日韩中文字幕| 丁香伍月婷电影全集| 婷婷丁香五月天综合激情| 精品爱欲五| 99精品久| 色婷婷综合综合网| 粉嫩av懂色av蜜臀av熟妇| 五月丁香色色| 色情性爱视频网址| 色播五月丁香婷婷| 天天操夜夜爽| 五月婷婷av| 色婷六月| 五月天精品| 久久A极片| 一级韩国产精品毛| 久久综合影院| 亚洲思思热久| 五月丁香激情婷婷综合字幕| 丁香婷婷色五月天| 免费观看大片视频 丁香婷婷 六月欧美| 欧美在线视频免费播放| 色婷婷视频| 国产精品久久久久久久久久免费 | 丁六月激情| 天天摸天天日天天舔| 丁香六月久久| 99热.com| 丁香六月丁香婷婷激情| 五月丁香五月丁香五月丁香五月丁香91| 99在线资源| 亚洲第一色网站| 色5月婷婷| 国产无人区大片| 日日夜夜干| 婷婷酒色网| 亚洲综合1024| 亚洲 在线 性爱 | 97碰在线视频| 1024在线视频| 超碰99热| 婷婷九月丁香久久| 黄色成人网站在线播放| 91狠狠综合久久久| 日韩欧美性爱| 亭亭五月丁香综合欧美| 996热re视频精品视频这里| 欧美精品18| 日产精品一线二线三线芒果 | 日韩av在线免费观看| 亚洲激情 久久| 天天骑天天操| 丰满少妇猛烈A片免费看观看| 久久玖玖99| 色综合网上班开心婷婷久久| 婷婷色爱| 超碰91在线| 色婷亚洲五月丁香| 色综合xx| 婷婷的99视频网站| 人妻免费网站| 久久网站观看免费欧洲国产| 26uuu成人网| 欧美性生交XXXXX无码小说| 大香蕉婷婷久久| 色婷婷六月天在线| 五月丁香激情综合网| 免费AV在线网址| 婷婷色系婷色| 五月丁香| 人妻中文字幕网| 五月丁香久久丝袜啪啪| 亚洲综合99| h亚洲| 婷婷五月天在线观看免费| 九九无码| 亚洲AV中文在线| 久久 视频这里只有精总| 日本丁香五月| 超碰电影在线播放| 无码任你操| 夜夜嗨一区二区三区直播内容 | 色色色欧美色色| 激情综合网五月天| 婷婷六月视频| 激情丁香六月| 久久婷婷丁香花综合网| 婷婷丁香77777| 五月丁香色色| 一级二级色大片| 婷婷五月天堂一本在线| 久久精品国产AV一区二区三区 | 色婷五月| 五月丁香六月成人| av操一操| 婷婷爱五月天| 色久一| 99热免费看| 五月天色色色网| 五月丁香婷庭在线| 激情内射人妻1区2区3区| 五月色亭丁香| 久久狠狠高潮亚洲精品 天天摸夜夜摸夜夜狠狠摸| 天天透天天爱| 97在线视频 欧美| 日日夜夜小色哥| 大香蕉色婷婷伊人在线| 三十路磁力链接| 国产精品99久久久久久久女警| 五月激情婷婷图片基地| 97操碰| 亚州精品色情无码A片| 天天射美女| 午夜一区| 99色网站| 26uuu美女三级视频| 国产免费一区二区在线A片视频| 97色色色色色色色| 啊v视频在线观看| 99re最新地址视频| 人妻22p| 色噜噜狠狠色综合日日免费| 亚洲乱码日产精品BD| 天天 日综合| chaopengdaxiangjiao| 一级A片天天操夜夜操| 91久久国产自产拍夜夜91久久精品文字>91麻豆精品国产 | 激情五月天网页| 67194中文在线| 99热a片免| 综合色网站| 人人操AV| 天天综合久久| 国产乱妇乱子在线播视频播放网站| 狠色狠色狠色狠色狠色网| 97干干干丁香| 日屌日日操日日色| 91精品人妻少妇无码影院| av在线资源| 99这里的视频都是精品| 嫩草极品| 九九热在线视频观看| 182TV亚洲| 狠狠干在线| 久久这里只有精品无码| 丁香婷婷五月人体| 色情综合| 丁香五月激情综合网激情五月| 五月开心激情网| 欧美在线视频9| 欧美激情综合| 婷婷开心综合人妻小说网址| 美女xx不卡| 91viP在线看| 手机看片日日做夜夜| 免费看片在线观看| 五月激情婷婷在线| 激情www.98com| 日韩美女羞羞网站在线观看| www.久久| 婷婷香五月综合激情| 26uuu丁香婷婷五月| 欧美精品99久久久| 韩国天天婷婷| AV堂狠狠干| 五月丁香激情综合网官网| 黄色五月婷婷| 久久久99精品| 婷婷午夜丁香| 亚洲久久天堂| 色婷婷AAA| 欧美激情-区二区三区| 五月丁香久久久久| 美女久久婷婷| 六月丁香综合| 激情婷婷五月基地| 激情久久久| 超碰京东热av男人的天堂| 色五月天在线观看| 噜噜色婷婷| 激情播丁香| 婷婷久久性爱| 婷婷综合性爱网| 婷婷色播婷婷| 激情综合色播| 青青操绿aaa一区日v| 天天综合色丁香| 丁香网五月天| 五月天色丁香| 色婷久久| 五月丁香六月婷婷久久久综合| 超碰在线人妻| www.刺激色网站www.| 色伦专区97中文字幕| 丁香花五月天激情| 五月丁香淫淫婷婷婷| 婷婷丁香五月天色播网站| 看全色黄大色大片| 骚逼视频一区2区| 色色热| 99啪啪视频| 天天干电影| 亚洲激情五月丁香久久久久| 九九视频免费| 爆乳熟妇一区二区三区爆乳| 七七久久婷婷| 狠狠婷婷色| 天天综合网站| 97色婷| 天堂色婷婷| 欧美激情-区二区三区| 99人妻碰碰久久久禁片| 亚洲va综合va国产va中文| 久久婷婷五月天大香蕉| 综合色99| 伊人色综合网| 天天操中文字幕| 日本久久综合| 婷婷成人AV| 热99这就是精品视频| 丁香五月六月欧美| 五月丁香六月欧美综合| 五月丁香六月激情综合网| 一区二区免费看| 日本黄色在线观看| 中文字幕婷婷在线| 无码人妻一区二区一牛影视| 狠狠一日| 爱iii做iiii日| 日韩成人精品中文字幕电影| 色五月婷婷网| av九九| 久久激情视频| 婷婷性爱| 五月激情天| 全部老头和老太XXXXX| 99综合免费视频| 婷婷综合| 国产精品18久久久| www久久久久久久久久久| 欧美性色A片免费免费观看的 | 99热超| 久操97| 色色色综合色| 婷婷久月| 欧洲永久精品| 色色综合日韩| 人人爽人人爽人人爽人人爽| 六月天无码网址| 婷婷五月天首页| 综合一本道| 99热8| 在线看片av| 九九热最新| 风流少妇A片一区二区蜜桃| 久九男女天堂| 在线看AV| 婷婷娌伦网| 五月激情视频| 色婷婷内射| 五月婷丁香亚洲| 丁香午夜天| www久久久久久久97| 狠狠色狠狠操| 麻豆AV一区二区三区| 亚洲成人av在线观看| 综合一区二区三区| VA婷婷| av人人操| 九九色图| 激情五月综合网| 婷婷五月天综合久久日美女| 精品99在线观看| 日本综合久| 开心五月丁香啪| 久久精品系列| 婷婷另类小说| www.久99| 99玖玖免费视频| 狠狠va| 五月天成人网在线观看| 97色热| site:minyis.com| 狠狠干思思热| 亚洲在线操| 亚洲无AV在线中文字幕| 五月丁香婷婷激情爱爱| 婷婷综合色| 五月激情婷婷播播网| 婷婷八月丁香激情综合| 爱射综合| 狠狠色综合网站久久久久| 丁香五月天在线观看视频| 天天狠狠色噜噜| 婷婷激情六月视频| 少妇被下春药玩弄A片| 9热久久在线| 夜夜骑日日操| 99热成人| 亚洲亚洲人成综合网络| 操比激情五月综合| www.十八禁不禁AV.com| 激情五月婷黄版| 熟女人妻一区二区三区免费看 | 久久丝袜婷婷| 桔色成人官方网站| 97色片| 7777久久亚洲中文字幕| 丁香久久| 99爱在线视频| 亚洲春色奇米影视| 99操中文视频| 色五月丁香五月天| 五月综合激情婷婷六月色窝| 五月天社区婷婷丁香社区| 九色视频这里只有精品| Av大香蕉| 五月婷久草| 丁香五月激情婷婷激情| 久99久视频| 在线看av| 天天做 天天爱| 亚洲激情综合| 一区二区三区视频| 亚洲五月天另类小说图片| 成人做爰黄A片免费看直播室男男| 91碰碰视频| 亚洲精品大片| 性爱激情五月| 激情欧美婷五月| 99亚州综合精品成人网| 五月婷婷六月综合| 好激情在线综合网| 色婷婷小说| 色色色777| 综合五月婷婷| 日韩av在线免费观看| 亚洲狠狠干| 色播jjjj| 婷婷色五月久久| 在线不卡视频| 国产乱码久久| 欧美日韩成人| 任你爽免费视频| 五月丁香久| 踪合专区啪啪| 六月丁香五月婷婷| 毛片九九九九九九| 色丁香影院| 色呦呦在线| 精品三区影院| 99干日日干| 99热精这里只有精品| 欧美性生交A片免费看| 思思久ren热| 欧美在线干| 婷婷久久久久久久| 色播综合| 夜夜涩涩涩| 中文字幕无码人妻少妇免费视频| 久久最新色色色| 99在线精品观看99| 久久一热免费视频| 蜜桃人妻无码AV天堂三区| 天天舔天天摸天天射| 青青草国产亚洲精品久久| 丁香五月综合福利视频导航| 日本欧美成人片AAAA| 深爱丁香激情| www.韩日视频|