社区
进程/线程/DLL
帖子详情
请问如何在一个进程中修改另一个进程中的变量
puppy_he007
2000-06-14 11:40:00
请大侠较为详细得给俺说说. 最好能给个例子说明一下.多谢
...全文
442
6
打赏
收藏
请问如何在一个进程中修改另一个进程中的变量
请大侠较为详细得给俺说说. 最好能给个例子说明一下.多谢
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
6 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
puppy_he007
2000-06-16
打赏
举报
回复
请问nitrogen,可否详细说说如何用共享内存的方法来做?
nitrogen
2000-06-15
打赏
举报
回复
偶觉得使用共享内存最简单, 也易于实现
yinyu
2000-06-14
打赏
举报
回复
如果两个进程没有约定的话,那么Win32不允许去直接更改其他进程的变量。
如果两个程序可以事先约定的话,就比较容易了
发送消息是主要的方法
当然具体还牵涉其它一些通信技术,可来信探讨
别太当真,我也是菜鸟
pccrazy
2000-06-14
打赏
举报
回复
re: xielm
是个好方法,我原来也为这个问题发过愁,后来改了用map file的方式.
这个方式更简单。可惜我不就给你加分。
xielm
2000-06-14
打赏
举报
回复
我朋友的一段代碼
我在发送方强行在接收方分配内存,然后写入数据,再把指针大小用消息发过去
oid CReadBmpDlg::OnButton1()
{
// TODO: Add your control notification handler code here
HWND hw = ::FindWindow(NULL,_T("Accept"));
if(::IsWindow(hw))
{
DWORD dwPid;
::GetWindowThreadProcessId(hw,&dwPid);
HANDLE hP = ::OpenProcess(PROCESS_VM_WRITE|PROCESS_VM_OPERATION,false,dwPid);
if(hP)
{
PVOID pvMem = ::VirtualAllocEx(hP,NULL,100,MEM_RESERVE|MEM_COMMIT , PAGE_READWRITE);
if(pvMem)
{
if(!::WriteProcessMemory (hP,pvMem,"hello hml",10,NULL))
{
ASSERT(0);
}
::CloseHandle(hP);
::PostMessage (hw,MS,(WPARAM)pvMem,100);
}
}
}
}
接收方只要释放内存就可以了
LRESULT CAcceptMessageDlg::OnMESSAGE_DATA(WPARAM wParam, LPARAM lParam)
{
PVOID hg = (PVOID)wParam;
char * p =(char *)hg;
m_s = p;
BOOL b;
VERIFY(b = ::VirtualFreeEx (::GetCurrentProcess(),hg,0,MEM_RELEASE));
UpdateData(false);
return NULL;
}
puppy_he007
2000-06-14
打赏
举报
回复
谢谢. 但还有个问题,我如何才能获得要修改的进程变量在内存中的地址呢? 我总得知道这些变量存在哪里,才能通过消息通信或其他办法来修改吧?
零基础Linux命令详细案例讲解课程(第2季)--权限、环境
变量
、
进程
、文件查找
课程亮点: 笔记加案例详细讲解Linux知识!!!提供详细的笔记作为辅助工具,200多条笔记帮助学员快速掌握Linux150多个知识点 课程内容: 第4章: 键盘高级操作技巧:光标移动、复制黏贴命令、搜索历史命令 第5章: 权限:文件读写执行权限、文件权限
修改
命令 第6章:
进程
:动态
进程
查看、
进程
结束命令 第7章: 环境
变量
:环境
变量
查看、环境
变量
设置 第8章: find 命令:find命令各种选项演示、逻辑运算符操作、预定义操作 课程特色: 笔记Linux命令:用200条笔记串连所有知识点,让学员从一点一滴积累,学习过程无压力笔记标题采用关键字标识法,帮助学员更加容易记住知识点笔记以超链接形式让知识点关联起来,形式知识体系采用先概念后实例再应用方式,知识点深入浅出提供授课内容笔记作为课后复习以及工作备查工具 部分图标(电脑PC端查看):
【
进程
04】全局
变量
在
进程
中
的使用问题
# 子
进程
中
的
变量
也互不影响 # 在子
进程
中
修改
全局
变量
对父
进程
中
的全局
变量
没有影响 # 在创建子
进程
时对全局
变量
做了
一个
备份,父
进程
中
的与子
进程
中
的num是完全不同的 首先,大家要知道,每
一个
进程
中
的
变量
都是互不干扰的 from multiprocessing import Process import time # 设置全局
变量
num = 100 def run(): ...
python 多
进程
全局
变量
_多
进程
修改
全局
变量
及
进程
池Pool一些坑
进程
是系统进行资源分配和调度的
一个
独立单位,每个
进程
的内存单元是独立的,多
进程
中
,每个
进程
中
所有数据(包括全局
变量
)都各有拥有一份,互不影响。所以代码层面你定义
一个
全局
变量
,每个
进程
一开始可以使用但并不共享,
进程
内部会有自己的一份!# ‐*‐ coding: utf‐8 ‐*‐from multiprocessing import Processnum_global = 10def worker...
全局
变量
分别在多
进程
和多线程
中
的区别
全局
变量
在多
进程
中
是不能共享的,而在多线程当
中
是可以共享的。用代码来验证这个结果,思路就是设定
一个
全局
变量
,在多
进程
当
中
去
修改
该全局
变量
的值,其结果是各自的
进程
修改
各自的全局
变量
。在多线程当
中
修改
全局
变量
,如果两个线程同时
修改
全局
变量
+1操作,那么结果是全局
变量
变为加2。话不多说,来上代码。 先是多
进程
: from threading import Thread from multiprocess...
python运行过程
中
改代码_正在运行的Python
进程
,
修改
进程
使用的
变量
一个
Python脚本,想要留个接口,在
进程
运行过程
中
,
修改
一个
使用的
变量
,该怎么弄呢~~~
一个
笨办法:使用文件通信!!!
一个
简单例子:获取某个
进程
的pid进行处理,指定
一个
pid进行处理实现:指定的pid,通过解析文件获取,文件存在,则处理文件内容,不存在,则处理原有内容。#!/usr/bin/env pythonimport osimport commandsimport timedef mai...
进程/线程/DLL
15,471
社区成员
49,181
社区内容
发帖
与我相关
我的任务
进程/线程/DLL
VC/MFC 进程/线程/DLL
复制链接
扫一扫
分享
社区描述
VC/MFC 进程/线程/DLL
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章