win32根據(jù)進(jìn)程名獲取進(jìn)程ID或者終止進(jìn)程:
https://blog.csdn.net/zjx_cfbx/article/details/82390064
https://blog.csdn.net/ouchengguo/article/details/88602267
https://blog.csdn.net/zwhuang/article/details/2218651
https://www.write-bug.com/article/1568.html
從窗口句柄獲取進(jìn)程句柄
FindWindow:找串口句柄
GetWindowThreadProcessId:由窗口句柄找進(jìn)程id
OpenProcess:由進(jìn)程id得進(jìn)程句柄
內(nèi)存讀寫
ReadProcessMemory
WriteProcessMemory
通過快照來獲取進(jìn)程ID
HANDLE WINAPI CreateToolhelp32Snapshot(DWORD dwFlags,DWORD th32ProcessID);
BOOL WINAPI Process32First(HANDLE hSnapshot, LPPROCESSENTRY32 lppe);
BOOL WINAPI Process32Next(HANDLE hSnapshot,LPPROCESSENTRY32 lppe);
//結(jié)果
typedef struct tagPROCESSENTRY32 {
DWORD dwSize; // 結(jié)構(gòu)大?。?DWORD cntUsage; // 此進(jìn)程的引用計(jì)數(shù);
DWORD th32ProcessID; // 進(jìn)程ID;
DWORD th32DefaultHeapID; // 進(jìn)程默認(rèn)堆ID;
DWORD th32ModuleID; // 進(jìn)程模塊ID;
DWORD cntThreads; // 此進(jìn)程開啟的線程計(jì)數(shù);
DWORD th32ParentProcessID; // 父進(jìn)程ID;
LONG pcPriClassBase; // 線程優(yōu)先權(quán);
DWORD dwFlags; // 保留;
char szExeFile[MAX_PATH]; // 進(jìn)程全名;
} PROCESSENTRY32;
x64-dbg使用:
https://www.bilibili.com/s/video/BV1jK4y1b7wc
cs source:控制臺(tái)(~)
sv_cheats 1
bot_add_t
bot_stop 1
bot_stop 0
設(shè)置滾動(dòng)條:
SetScrollInfo
GetScrollInfo
滾動(dòng)條變化了調(diào)用ScrollWindows,再調(diào)用UpdateWindow
DC三種獲取方法與銷毀方法(要成對(duì)出現(xiàn))
- GetDC()——ReleaseDC()
- GeginPaint()——EndPaint()
- GetCompatibleDC()——DeleteDC()