//进程句柄的获得
HANDLE hProc = OpenProcess(PROCESS_VM_READ,FALSE,nPID);//(HANDLE)0x88fd45b0; DWORD dwRet = -1;
DWORD* dwAddr = (DWORD*)((DWORD)GetCommandLine + 1);//第2个字节开始才是我们要读的地址
TCHAR tcBuf[BUFFER_LEN] = {0};
DWORD dwRead = 0;
BYTE szCmdLine[BUFFER_LEN];
ZeroMemory(szCmdLine, sizeof(szCmdLine));
ReadProcessMemory(hProc,(LPVOID)dwAddr,&dwAddr,4,&dwRead);//hProc是已经获取到的进程句柄
DWORD errorId1 = GetLastError();获得的错误为:299,查看错误说明:仅完成部分的 ReadProcessMemoty 或 WriteProcessMemory 请求。 我是想读取notepad的进程的内存,然后读取命令行参数。请大家帮我瞧瞧,万分感谢。
HANDLE hProc = OpenProcess(PROCESS_VM_READ,FALSE,nPID);//(HANDLE)0x88fd45b0; DWORD dwRet = -1;
DWORD* dwAddr = (DWORD*)((DWORD)GetCommandLine + 1);//第2个字节开始才是我们要读的地址
TCHAR tcBuf[BUFFER_LEN] = {0};
DWORD dwRead = 0;
BYTE szCmdLine[BUFFER_LEN];
ZeroMemory(szCmdLine, sizeof(szCmdLine));
ReadProcessMemory(hProc,(LPVOID)dwAddr,&dwAddr,4,&dwRead);//hProc是已经获取到的进程句柄
DWORD errorId1 = GetLastError();获得的错误为:299,查看错误说明:仅完成部分的 ReadProcessMemoty 或 WriteProcessMemory 请求。 我是想读取notepad的进程的内存,然后读取命令行参数。请大家帮我瞧瞧,万分感谢。
ZeroMemory(tmpBuf,MAX_PATH);
我声明一个byte数组,然后作为第三个参数,也是错误。我这是照着别人代码写的。
求兄弟们给我答疑解惑,万分感谢
会提示998的错误:错误说明:内存分配访问无效。
这是看的别人的帖子写的,原先是这么写的,呵呵,感觉我修改后更贴切。
http://topic.csdn.net/u/20070309/10/e6010155-54fd-4d3c-96e4-129014838710.html?686083532这是帖子的链接。请大虾们帮帮我吧。困扰!