所有进程都具有独立的4GB内存空间,那么为什么发送WM_GETTEXT(第二个消息参数是我要得到的符串的地址)给其它进程的窗口的编缉框时,能获得他的内容??
如:
sendmessage(myhandle,WM_GETTEXT,255,str);
str是一个字符串数组名;
这样做为什么又能够得到其它程的数据呢?

解决方案 »

  1.   

    这有什么关系吗?不是挺好吗?
    独立的4GB并不是分离的4GB,两个程序运行不等于有了8GB的空间,所有程序还是在你的计算机上的几M内存空间里游荡,没有跑到别人的计算机上去。
    另外,纠正一下,对于进程空间而言,只有独立的2GB可以使用。
      

  2.   

    4GB一般来说,操作系统占用了2GB,用户只剩下一半那么多。
      

  3.   

    4GB是虚拟内存空间,其中上层的2gb归操作系统,下层2gb归应用程序
      

  4.   

    关键是进程访问数据是采用间接寻址方式,sendmessage(myhandle,WM_GETTEXT,255,str);
    从其他进程中拷贝一个字符串到本进程的数据空间,当然是可以的!
    间接寻址方式是保证程序可重入性,和进程数据空间的独立性的基础