vc 获取当前进程所占的内存大小

vc 获取当前进程所占的内存大小,第1张

你好,你要用VC打开一个进程的话应该先创建后打开

void

CSwitchDlg::OnSTB1()

{

PROCESS_INFORMATION

pi

if(OpenSTB(1,&pi)==TRUE)

{

m_List.SetItemText(0,2,_T("关机"))

CString

pid

pid.Format(_T("%d"),pi.dwProcessId)

m_List.SetItemText(0,1,pid.GetBuffer())

m_Btn1.EnableWindow(FALSE)

m_Pid[0]=pi.dwProcessId

m_hSTB[0]=OpenProcess(PROCESS_QUERY_INFORMATION,0,m_Pid[0])

}

}

BOOL

CSwitchDlg::OpenSTB(int

nSTB,PROCESS_INFORMATION*

pi)

{

if(!m_Path.GetLength())

{

AfxMessageBox(_T("机顶盒在哪里?请指明路径..."))

return

FALSE

}

STARTUPINFO

si

memset(&si,0,sizeof(si))//若不清0,那么将包含主调线程栈上的垃圾数据

si.cb=sizeof(si)

si.wShowWindow=SW_SHOW

si.dwFlags=STARTF_USESHOWWINDOW

CString

cmd

cmd.Format(_T("STB%d"),nSTB)

if(CreateProcess(m_Path,

cmd.GetBuffer(),NULL,FALSE,NULL,NULL,NULL,NULL,&si,pi))

{

CloseHandle(pi->hProcess)

CloseHandle(pi->hThread)

//关闭到子进程的主线程内核对象的句柄

return

TRUE

}

else

{

MessageBox(_T("打开机顶盒失败,请选择正确的路径"))

return

FALSE

}

}

我这个代码是从一个进程中打开另一个进程。你可以模仿一下

下面是遍历系统中正在运行的进程的

代码:

PROCESSENTRY32

pe32

pe32.dwSize

=

sizeof(pe32)

//创建进程快照

HANDLE

hProcessSnap

=

CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS,

0)

BOOL

bMore

=

Process32First(hProcessSnap,

&pe32)

//遍历系统中运行的进程

while(bMore)

{

//在这里做你想做的事情

}

随便看到你提的这个问题.

如果是读取内存,你直接读就行了.关键是范围和具体的位置问题.

如果进程是指定的,直接openprocess,....然后....再....去读就行了.

if pId!=NULL 这个过程可以省了.擦除,也不用了.我不知道我的理解对不对,如果你是想达到结束进程的效率,我可以明确告诉你,不要这么做.你应该从系统的内存管理机制入手.

对于,找托盘栏图标的HWND,用Findwindow不是 最好的办法.用托盘struct比较好.

如果非要用Findwindow,你可以试一下.先: FindWindow(NULL,...)得到顶层桌面的HWND,再用FindWindowEx从父级一层一层往下面找.

你有我的百度HI吧,有什么不明白的,直接联系吧.

每个进程的虚拟地址空间都要划分成各个分区。地址空间的分区是根据 *** 作系统的基本实现方法来进行的。不同的windows内核,其分区也略有不同。

你在用户级就只能访问用户级的地址

32位Windows 2000的用户地址空间范围是0 x 0 0 0 1 0 0 0 0 0 - x B F F E F F F F F

你定义一个指针指向这个范围的任意位置都是可以访问的。

C/C++ code

HANDLE hProcess=::OpenProcess(PROCESS_ALL_ACCESS,FALSE,GetCurrentProcessId())

LPVOID lpBaseAddress=(LPVOID)0x190BA

DWORD dwValueif(!::ReadProcessMemory(hProcess,lpBaseAddress,&dwValu¡­


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/yw/12139046.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-21
下一篇 2023-05-21

发表评论

登录后才能评论

评论列表(0条)

保存