C++ 获取其它进程命令行
来源:互联网 发布:淘宝红人店铺申请 编辑:程序博客网 时间:2024/06/06 00:34
winxp,win7,win8 32位系统测试有效
#include <Windows.h>#include <Stdio.h>#include <Tchar.h>//获取进程命令行BOOL GetProcessCommandLine(HANDLE hProcess, LPTSTR pszCmdLine, DWORD cchCmdLine){BOOLbRet;DWORDdwPos;LPBYTElpAddr;DWORDdwRetLen;bRet = FALSE;dwPos = 0;lpAddr = (LPBYTE)GetCommandLine;Win7:if(lpAddr[dwPos] == 0xeb && lpAddr[dwPos + 1] == 0x05){dwPos += 2;dwPos += 5;Win8:if(lpAddr[dwPos] == 0xff && lpAddr[dwPos + 1] == 0x25){dwPos += 2;lpAddr = *(LPBYTE*)(lpAddr + dwPos);dwPos = 0;lpAddr = *(LPBYTE*)lpAddr;WinXp:if(lpAddr[dwPos] == 0xa1){dwPos += 1;lpAddr = *(LPBYTE*)(lpAddr + dwPos);bRet = ReadProcessMemory(hProcess,lpAddr,&lpAddr,sizeof(LPBYTE),&dwRetLen);if(bRet){bRet = ReadProcessMemory(hProcess,lpAddr,pszCmdLine,cchCmdLine,&dwRetLen);}}}else{goto WinXp;}}else{goto Win8;}return bRet;}int _tmain(int argc, TCHAR *argv[]){TCHAR szPath[512];HANDLE hProcess;if(argc != 2)return 1;hProcess = OpenProcess(PROCESS_VM_READ, FALSE, _tcstoul(argv[1], NULL, 10));if(hProcess){if(GetProcessCommandLine(hProcess, szPath, sizeof(szPath))){printf("%s\n", szPath);}CloseHandle(hProcess);}return 0;}
- C++ 获取其它进程命令行
- C++ 获取其它进程命令行参数
- 获取进程命令行之一
- 获取其他进程命令行
- 获取进程命令行参数
- 如何获取其它程序的命令行参数
- 如何获取其它程序的命令行参数
- 如何获取其它程序的命令行参数
- 如何获取其它程序的命令行参数
- 获取进程列表、进程命令行、结束进程
- 获取其它进程窗口中的状态栏信息
- 获取其它进程密码框中的密码
- 获取其他进程的命令行
- 获取进程命令行之二
- 获取进程命令行之三
- 获取进程命令行之四
- 获取进程的命令行参数
- 获取其他进程的命令行
- 一位开发人员的生日愿望清单
- UVa:147 Dollars
- Delphi中的Type
- Milliard Vasya's Function
- 控制台应用程序暂停功能分析
- C++ 获取其它进程命令行
- hud 2476 区间DP
- 他机通用
- BP神经网络解析
- hdu 3172 Virtual Friends
- 定义区间dp
- JVM基础研究整理之基本垃圾回收算法
- 其他_mongoDB相关
- UVa:624 CD