如何保证操作正常完成 有两个进程,我的一个进程要向另一个进程的某一个地址进行读写操作,当然另一个进程也会向其中读写数据,我怎样保证:当我读写数据时,另一个进程不会这个地址进行读写操作。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 “另一个进程的某个地址”是什么意思?你掌握可靠的概念了吗?你是指的哪一个靠谱的.net知识而言的呢? [DllImport("Kernel32.dll", SetLastError = true)]public static extern bool ReadProcessMemory(IntPtr hProcess,IntPtr lpBaseAddress,IntPtr lpBuffer, int dwSize,out int lpNumberOfBytesRead );[DllImport("kernel32.dll", SetLastError = true)]public static extern bool WriteProcessMemory(IntPtr hProcess, IntPtr lpBaseAddress, byte[] lpBuffer, uint nSize, out UIntPtr lpNumberOfBytesWritten);反正就是通过这两个API进读写 地址就是IDA Pro 反汇编显示的地址 先将另一个进程暂停,就像ollydbg一样,运行完自己的操作后,再让其运行 使用WriteProcessMemory的话,防止同步问题需要用命名Mutex。也可以通过SendMessage来实现对另一个进程数据的读写,这个最终会队列化,不存在同步问题。 小弟做的在线代码库,VS插件,欢迎大家使用! 自动登录网站的问题 怎样替换文章中的关键字 C#操作华表 有关DATASET的问题 在GRID上点击,如何得到所选行的row,并删除它(winform) 请教:ASP.net中的Session值到底能保存多久,怎么设置? 对一个新手来说的棘手问题(在线解决就送分) 如何判断SESSION的值为空啊? 用华为API开发短信项目如何测试? DllImport 调用 dll文件错误,引用了一个外部dll 就是说找不到文件!!winmm.dll 关于多媒体定时器的 C# MAPX 查询图元属性
[DllImport("Kernel32.dll", SetLastError = true)]
public static extern bool ReadProcessMemory(IntPtr hProcess,IntPtr lpBaseAddress,IntPtr lpBuffer, int dwSize,out int lpNumberOfBytesRead );
[DllImport("kernel32.dll", SetLastError = true)]
public static extern bool WriteProcessMemory(IntPtr hProcess, IntPtr lpBaseAddress, byte[] lpBuffer, uint nSize, out UIntPtr lpNumberOfBytesWritten);反正就是通过这两个API进读写
也可以通过SendMessage来实现对另一个进程数据的读写,这个最终会队列化,不存在同步问题。