Win2000下如何写内存?

Un1 2000-09-07 03:27:00
在98下用 GetCurrentProcess,VirtualProtectEx,WriteProcessMemory 写DLL空间成功,但2000下就不行,GetCurrentProcess 老是返回-1,怎么办?
...全文
96 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
Un1 2000-09-08
  • 打赏
  • 举报
回复
那应该如何改变呢?
aznarble 2000-09-07
  • 打赏
  • 举报
回复
估计是security descriptors的问题,你确认过权限的设置吗?(看看MSDN,应该有帮助。)
内存不能为“read”或“written解决方案 运行某些程序的时候,有时会出现内存错误的提示,然后该程序就关闭。 “0x????????”指令引用的“0x????????”内存。该内存不能为“read”。 “0x????????”指令引用的“0x????????”内存,该内存不能为“written”。 一般出现这个现象有方面的,一是硬件,即内存方面有问题,二是软件,这就有多方面的问题了。 故障分析 硬件方面: 一般来说,内存出现问题的可能性并不大,主要方面是:内存条坏了、内存质量有问题,还有就是 2 个不 同牌子不同容量的内存混插,也比较容易出现不兼容的情况,同时还要注意散热问题,特别是超频后。你 可以使用MemTest 这个软件来检测一下内存,它可以彻底的检测出内存的稳定度。 假如是双内存,而且是不同品牌的内存条混插或者买了二手内存时,出现这个问题,这时,就要检查是不 是内存出问题了或者和其它硬件不兼容。 软件方面: 先简单说说原理:内存有个存放数据的地方叫缓冲区,当程序把数据放在其一位置时,因为没有足够空间, 就会发生溢出现象。举个例子:一个桶子只能将一斤的水,当放入两斤的水进入时,就会溢出来。而系统 则是在屏幕上表现出来。这个问题,经常出现在 windows2000 和 XP 系统上,Windows 2000/XP 对硬件的 要求是很苛刻的,一旦遇到资源死锁、溢出或者类似 Windows 98 里的非法操作,系统为保持稳定,就会出 现上述情况。另外也可能是硬件设备之间的兼容性不好造成的。 几个例子 例一:打开 IE 浏览器或者没过几分钟就会出现"0x70dcf39f"指令引用的"0x00000000"内存。该内存不能为 “read”。要终止程序,请单击“确定”的信息框,单击“确定”后,又出现“发生内部错误,您正在使用的其中 一个窗口即将关闭”的信息框,关闭该提示信息后,IE浏览器也被关闭。 解决方法:修复或升级 IE 浏览器,同时打上补丁。看过其中一个修复方法是,Win2000 自升级,也就是 Win2000升级到Win2000,其实这种方法也就是把系统还原到系统初始的状态下。比如你的IE升级到了6.0, 自升级后,会被IE5.0代替。 例二:在windows xp下双击光盘里面的“AutoRun.exe”文件,显示“0x77f745cc”指令引用的“0x00000078”内 存。该内存不能为“written”,要终止程序,请单击“确定”,而在Windows 98里运行却正常。 解决方法:这可能是系统的兼容性问题,winXP 的系统,右键“AutoRun.exe”文件,属性,兼容性,把“用 兼容模式运行这个程序”项选择上,并选择“Windows 98/Me”。win2000如果打了SP的补丁后,只要开始, 运行,输入:regsvr32 c:\winnt\apppatch\slayerui.dll。右键,属性,也会出现兼容性的选项。 例三:RealOne Gold关闭时出现错误,以前一直使用正常,最近却在每次关闭时出现“0xffffffff”指令引用的 “0xffffffff”内存。该内存不能为“read” 的提示。 解决方法:当使用的输入法为微软拼音输入法 2003,并且隐藏语言栏时(不隐藏时没问题)关闭 RealOne 就会出现这个问题,因此在关闭 RealOne 之前可以显示语言栏或者将任意其他输入法作为当前输入法来解 决这个问题。 例四:我的豪杰超级解霸自从上网后就不能播放了,每次都提示“Ox060692f6”(每次变化)指令引用的 “Oxff000011”内存不能为“read”,终止程序请按确定。 解决方法:试试重装豪杰超级解霸,如果重装后还会,到官方网站下载相应版本的补丁试试。还不行,只好 换就用别的播放器试试了。 例五:双击一个游戏的快捷方式,“Ox77f5cdO”指令引用“Oxffffffff”内存,该内存不能为“read” ,并且提示 Client.dat程序错误。 解决方法:重装显卡的最新驱动程序,然后下载并且安装DirectX9.0。 例六:一个朋友发信息过来,我的电脑便出现了错误信息:“0*772b548f”指令引用的“0*00303033”内存,该 内存不能为“written”,然后QQ自动下线,而再打开QQ,发现了他发过来的十几条的信息。 解决方法:这是对方利用QQ的BUG,发送特殊的代码,做QQ出错,只要打上补丁或升级到最新版本, 就没事了。 例七:我的笔记本电脑用的XP系统,有时关闭网页时会弹出tbrowser.exe遇到问题需要关闭,然后有弹出 0x03e7c738指令引用的0x03e7c738内存,该内存不能为read,请问是怎么回事? 解决方法:先查杀一下病毒,另外如果你安装了浏
SuperCache是一个用内存来保存读过的硬盘数据的软件,也即是硬盘的Cache,它将计算机由硬盘读取过的文件保存在指定的内存中,下次计算机再读这些文件时, 不是由硬盘读取,而是由内存中读取,加快了文件的读取速度,减少了硬盘的磨损,它是解决硬盘瓶颈的好东东。    1、分NT V4 for Workstations、NT V4 for Servers、for win2000 Pro、for win2000 server、for win2000 AD Server等版本。    2、分支持单CPU、双CPU、四CPU等版本。    一般地,支持多CPU的,也支持更少的CPU。    01、支持Intel、AMD全系列CPU(Pentium级以上)    02、支持IDE硬盘、IDE Raid、SCSI硬盘、SCSI Raid    03、支持软件Raid,如win2000自带的软Raid。    04、要求内存>64MB,推荐>512MB,最高支持192GB    设置及注意事项:    1、选择被Cache的分区。选“enable supercahce caching on this drive”项即可    2、Cache page size,为缓存内存区块大小。数值越大,CPU使用率越大,处理速度越慢。数值越大,CPU使用率越小,处理速度越大。一般推荐值是32K,xoen5405CPU一般为32K,双路服务器或更牛X的CPU可以设置大些。区块数值设置越小,缓存下的数据也就越多。    3、Cache size,使用多大的内存来做缓存,推荐预留1G或1。5G内存来运行服务器程序与系统运行,剩下的全部用来做缓存。    4、sort algorithm,选择缓存模式。MFU最常使用,MRU为最近使用。服务器一般用MFU模式,因为服务器一般读的东西较多。的较多的用MRU模式    5、Read ahead,设置预读数值。一般为3到5,缓存做的大的可以设的更大些。    6、deferred write more,设置延时间。服务器压力不大,就别开了。    7、设置缓存大小的时候一定要是64的倍数,还有就是一定区分MFU还是MRU模式,效果不咋地。 以下是XP系统安装分区supercache设置对XP启动速度的提高值: 128M缓存,32k分页大小,预读2页,延迟默认,提高XP启动速度15秒以上; 256M缓存,8K分页大小, 预读3页,延迟默认,提高XP启动速度26秒以上; 另ramdisk技术的应用也对XP启动速度提高了大概15秒左右! 目前我的XP系统启动速度,从最开始的1分28秒左右,提高到目前的47、48秒!

16,473

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • Web++
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

试试用AI创作助手写篇文章吧