我想获取某一个进程的占用内存大小,该进程的pid我已经获取到了是4320
然后我想通过OpenProcess得到进程句柄,
HANDLE hProcess=OpenProcess(PROCESS_ALL_ACCESS,FALSE,Pid);
可是为什么都是
error C2018: unknown character '0xa1'这个错?
我想请问一下,OpenProcess具体怎么用?
然后我就算获得了句柄,再用GetProcessMemoryInfo获得内存占用,内存占用结构里的WorkingSetSize和PagefileUsage,分别是内存占用和虚拟内存,能给个例子怎么用吗。

解决方案 »

  1.   

    程序是从别的地方复制过来的吧 '0xa1' 是全角字符。,检查你的代码
    GetProcessMemoryInfo 的用户参考这里
    http://xjchilli.blog.163.com/blog/static/45347739200911194523789/
      

  2.   

    是因为有中文空格导致的,但是我又发现个新问题,PID的获得是根据进程名称全部遍历所有进程数找到的,如果我同一个名的进程开启了好几个,那我怎么区别,或者说,我编译出一个程序,怎么在打开这个程序后得到这个程序所在站的内存大小。
      

  3.   

    1.代码中有看不见的字符
    2.同名的不好区分,获取句柄后,GlobalMemoryStatusEx
      

  4.   

    GetProcessMemoryInfo里的WorkingSetSize得到的进程占用的物理内存大小怎么比任务管理器看到的小1,2M??
      

  5.   

    HANDLE WINAPI GetCurrentProcess(void);可以获得当前进程的伪句柄。