进程A给进程B发windows消息,进程B收不到,求助!!!! [问题点数:100分,结帖人duan0783]

Bbs4
本版专家分:1521
结帖率 100%
Bbs9
本版专家分:87755
Blank
微软MVP 2013年7月 荣获微软MVP称号
2012年7月 荣获微软MVP称号
2011年7月 荣获微软MVP称号
Blank
红花 2013年9月 VC/MFC大版内专家分月排行榜第一
2013年8月 VC/MFC大版内专家分月排行榜第一
Blank
黄花 2012年2月 VC/MFC大版内专家分月排行榜第二
2011年3月 VC/MFC大版内专家分月排行榜第二
2011年2月 VC/MFC大版内专家分月排行榜第二
Blank
蓝花 2014年8月 VC/MFC大版内专家分月排行榜第三
2014年7月 VC/MFC大版内专家分月排行榜第三
Bbs9
本版专家分:87755
Blank
微软MVP 2013年7月 荣获微软MVP称号
2012年7月 荣获微软MVP称号
2011年7月 荣获微软MVP称号
Blank
红花 2013年9月 VC/MFC大版内专家分月排行榜第一
2013年8月 VC/MFC大版内专家分月排行榜第一
Blank
黄花 2012年2月 VC/MFC大版内专家分月排行榜第二
2011年3月 VC/MFC大版内专家分月排行榜第二
2011年2月 VC/MFC大版内专家分月排行榜第二
Blank
蓝花 2014年8月 VC/MFC大版内专家分月排行榜第三
2014年7月 VC/MFC大版内专家分月排行榜第三
Bbs4
本版专家分:1639
Bbs6
本版专家分:7981
Blank
黄花 2014年10月 VC/MFC大版内专家分月排行榜第二
2014年9月 VC/MFC大版内专家分月排行榜第二
Bbs4
本版专家分:1790
Bbs2
本版专家分:289
Bbs10
本版专家分:140811
版主
Blank
微软MVP 2013年10月 荣获微软MVP称号
2012年10月 荣获微软MVP称号
2011年10月 荣获微软MVP称号
2010年10月 荣获微软MVP称号
Blank
红花 2012年4月 VC/MFC大版内专家分月排行榜第一
Blank
黄花 2012年5月 VC/MFC大版内专家分月排行榜第二
2012年3月 VC/MFC大版内专家分月排行榜第二
2011年7月 VC/MFC大版内专家分月排行榜第二
2011年1月 VC/MFC大版内专家分月排行榜第二
2010年12月 VC/MFC大版内专家分月排行榜第二
2010年9月 VC/MFC大版内专家分月排行榜第二
2010年6月 VC/MFC大版内专家分月排行榜第二
2010年5月 VC/MFC大版内专家分月排行榜第二
2010年4月 VC/MFC大版内专家分月排行榜第二
Blank
蓝花 2010年11月 VC/MFC大版内专家分月排行榜第三
A进程HOOK进了B进程, A如何知道B进程已经退出?
A<em>进程</em>HOOK进了B<em>进程</em>, A如何知道B<em>进程</em>已经结束或者终止...?
Linux终端进程A调用多线程进程B和C,B和C任然在A的进程
用linux终端调用执行<em>进程</em>A,然后A再启动<em>进程</em>B和<em>进程</em>C,<em>进程</em>B和C都是多线程的<em>进程</em>,都分别有1个读线程和写线程,发现BC并没有真正地多线程,执行效率很低,仍然是在一个线程里执行的,CPU一个核的使用率一直都很高。rn但是在QtCreator里边执行<em>进程</em>A,然后A再启动<em>进程</em>B和<em>进程</em>C,能实现多线程,执行效率是上面的四五倍。rnrn请教有大佬知道为什么吗?用终端执行<em>进程</em>A怎么调用能使BC多线程呢?rnrn终端执行<em>进程</em>A的方式:rnsudo ./ProcessA &rnrn<em>进程</em>A调用<em>进程</em>B的方式:rnif(fork()==0)rnrn execv(ProcessB_Path, NULL);rnrnif(fork()==0)rnrn execv(ProcessC_Path, NULL);rnrn
A程序中创建了B进程,请问B进程如何发消息给A程序?
A和B都是封装在dll中的函数,rn没有任何的窗口,rn请问B<em>进程</em>如何发消息给A程序呢?rnrn因为B<em>进程</em>是由A创建的,rnBThread = (HANDLE)_beginthread( funB, 0, 0); rnrn所以在A中可以通过sendMessage给BThread应该就可以了,B中采用PeekMessage接收消息rnrn但是B<em>进程</em>如何给A发送消息呢?rnrn希望大家指点一下,多谢了!!!
进程间通信的简单方案!">进程A和B都是运行的,然后进程A突然想发个通知给进程B,告知进程B要打印一个"Hello World!"字符串?征集进程间通信的简单方案!
<em>进程</em>A和B都是运行的,然后<em>进程</em>A突然想发个通知给<em>进程</em>B,告知<em>进程</em>B要打印一个"Hello World!"字符串?征集<em>进程</em>间通信的简单方案!
请教:进程A如何向进程B发送消息?谢谢!
我想作如下测试:单击程序A的一个按钮,向程序B发送一条消息。程序B接收到消息后,弹出一条提示信息,表明接收到消息。请问,该如何做呢?
关于A进程访问B进程变量的问题
想问个问题,大家不要见笑:rn我记得对于某个<em>进程</em>单独来说,它自己感觉是占用了系统的整个32位地址空间。rn那么A<em>进程</em>访问什么地址能访问到B<em>进程</em>的变量?
请教用进程B激活进程A的对话框的疑惑!!
1、假设<em>进程</em>A有对话框a,该对话框a状态栏中的标题有闪烁提示的功能,当用鼠标点击状态栏中的标题后,该标题停止闪烁,并被激活。rnrn2、我做了<em>进程</em>B,有对话框b,并增加一Button按钮,在OnButton()响应函数中,添加了对<em>进程</em>A对话框a的激活代码,用的是 SetWindowPost() 、SetForegroundWindow()等激活指定窗口的函数(已经得到<em>进程</em>A中的对话框a的窗口句柄)。 当点击Button按钮,成功实现了对<em>进程</em>A的对话框a的激活。rnrn3、我有做了<em>进程</em>C,并设置了SetTimer()定时器,在OnTime()响应函数中添加了SetWindowPost() 、SetForegroundWindow()等激活指定窗口的函数(已经得到<em>进程</em>A中的对话框a的窗口句柄)。 启动定时器(用Button 或 OnInitDlg中),但无法实现正常激活<em>进程</em>A的对话框a的目的。 好郁闷!!rnrn 请教大家这是为什么?? 我总感觉<em>进程</em>B和<em>进程</em>C的 两个激活<em>进程</em>A对话框的方法是类似的,但却不行!!请指教!!rnrn 谢谢!
进程A中能不能绘制进程b中控件
同标题,如果可以,怎么绘制?我知道能够通过FindWindow来查找需要绘制的<em>进程</em>b的控件的句柄,然后怎么绘制呢?
如何实现A进程对B进程SysTreeview32节点的点击效果
[img=https://img-bbs.csdn.net/upload/201408/18/1408366010_600243.png][/img]rnrn如图,被黑框选中的区域是SysTreeview32的一个节点,我要实现对这个节点的点击效果。rnrn我已经在自己的程序里获取到这个SysTreeview32的句柄,rn我向这个节点发送了WM_LBUTTONDOWN、WM_LBUTTONUP的消息,可是无效果。rn其他的按钮之类是有效果的,唯独这个SysTreeview32没有效果。rnrn网上找了很多帖子,都没看出什么思路,很多人也没解决。rnrn我也就最近两天想做个小工具玩,才接触系统消息这块东西,以前也没接触过,C#知识也是略懂而已。rnrn希望朋友们帮忙解决下。rn希望知道的朋友解答的能详细点,本人笨拙。rnrnrn
B 进程怎么样才能设置成为A进程的子窗口
A调用B,想把A设置成主窗口,B设置成子窗口rnrn我在B<em>进程</em>的Create事件里用SetParent,但不知怎么样得到A<em>进程</em>的的句柄?用Findwindow也不行rnrn
进程Afork进程B,进程Bfor进程C,如果进程C退出发出SIGCHLD,A进程是否可以收到
<em>进程</em>Afork<em>进程</em>B,<em>进程</em>Bfor<em>进程</em>C,如果<em>进程</em>C退出发出SIGCHLD,A<em>进程</em>是否可以收到rnrn哪位高手帮下,谢了
A进程CreateProcess了B进程,A怎么知道B已经退出了?
A<em>进程</em>CreateProcess了B<em>进程</em>,A怎么知道B已经退出了?
关于杀掉进程A时启动B进程.当B关闭时再启动A
如题:本人根据上网找的自动更新补丁进行了修改.在客户端基础已经可以实现自动更新.可是碰这个问题一直没有解决。还请大家赐教.当应用程序在进行登录时,自动检测服务器是否有补丁需要更新。当发现时,当自动程序进行更新时先将应用程序<em>进程</em>杀死.可当系统更新完成,我该怎么样去找回应用程序的<em>进程</em>。我再自动将它启动起来?
C# 用进程A启动进程B,怎么样才能结束A,而B不会被结束
如标题。先谢谢了。
两个进程,其中一个进程A给另一个进程B发信号SIGINT,请问B在接收SIGINT时如何区分是哪个进程给他发的信号?
就是如何获取给自己发信号的<em>进程</em>的pid?rn
当一个进程A 启动另一个进程B后, B通过什么方法知道A进程是否已经结束?
当一个<em>进程</em>A 启动另一个<em>进程</em>B后, B通过什么方法知道A<em>进程</em>是否已经结束?rnrn只要可行就可以说出来 谢谢
两个没有亲缘的进程A和B,如何在进程B中得知进程A的PID号呢?
两个没有亲缘的<em>进程</em>A和B,如何在<em>进程</em>B中得知<em>进程</em>A的PID号呢?
进程A 创建了进B 用OD 调式进程B
<em>进程</em>A 创建了<em>进程</em>B 用OD 调式<em>进程</em>B时 无法附加 感觉 <em>进程</em>A在一直调试<em>进程</em>B 有什么函数 可以让<em>进程</em>B不被<em>进程</em>A调试 可以让OD 顺利附加 (SSDT 我查过了无异常啊)
进程A中怎样向外部进程进程B中发送鼠标单击消息?
我用自己的程序启动外部的可执行文件,要让外部的启动窗体中发生鼠标单击事件,怎么做呀?是不是要用hook?
两个IE进程,在进程A居然可以操作进程B的页面,算不算正常?
在一个IE中打开一个带框架的网站,rn再启动一个IE打开另外一个网站并点击上面的连接,这个连接居然在第一个<em>进程</em>的框架中显示。rn这算不算正常啊?
进程A中怎么启动一个新的进程B,并且传命令行进去,然后知道进程B的执行结果?
不想用fork,因为<em>进程</em>A是多线程设计,怕复制<em>进程</em>会出问题
在同一台计算机上的两个进程A在不知道B进程窗口标题名称的情况下,如何得到B进程窗口的句柄?
由于B程序不是我编写的,我只能知道它在任务管理器的名称,想通过程序的名称来得到该程序的窗口标题的名字,然后在用findwindow函数来得到这个窗口的句柄。但不知道该如何入手,所以B程序的类名和其他的一些东西我是不知道的,请多帮忙!
为什么进程收不到消息
发送代码如下rnbool mm=CreateProcess(NULL,"c:\\abc.exe",NULL,NULL,false,NORMAL_PRIORITY_CLASS|CREATE_NEW_CONSOLE,NULL,NULL,&si,&pi);rn rn HWND hwnd=::FindWindow(NULL,"c:\\abc.exe");rn bool flag=::SendMessage(hwnd,MM_COM,1,(LPARAM)1);rn int kk=GetLastError();//出现126错误!!(why?)rn在一个程序中,调用另个程序,然后向这个程序(abc.exe)发送一个消息,但是这个程序老<em>收不到</em>。rnrn接收代码如下rnHWND hwnd=::FindWindow(NULL,"D:\\myprograme\\multi\\multi\\Debug");rn int m=0;rn while(1)rn rn //::PeekMessage(lp,NULL,0,0,PM_REMOVE);rn GetMessage(lp,NULL,0,0);rn if(lp->message==MM_COM)break;rn rncout<message;rn rn
如何在进程B中按引用调用方式使用进程A中的参数?也就是怎样让进程A中的参数传送到进程B?
如何在<em>进程</em>B中按引用调用方式使用<em>进程</em>A中的参数?也就是怎样让<em>进程</em>A中的参数传送到<em>进程</em>B?
进程A中可给进程B的窗体发消息,为什么DestroyWindow不行呢?谢谢
HWND hWnd = ::FindWindow(NULL, "被搜索的窗体");rn CWnd* pWnd = CWnd::FromHandle(hWnd);rnrn pWnd->DestroyWindow();rnrn当然应该不行,否则还不天下大乱啦。不过为什么呢?
MySQL5.5 一个进程A查询并更新数据,另一个进程B插入数据,A进程查询不到插入的数据?
我写了另个程序,程序A每隔3秒从数据库查询记录,并更新记录。程序B每隔5秒往数据库里插入记录。rnrn数据库中本来就存在记录符合条件的记录。启动A程序后,查询出了这几条记录,并更新成功。现在启动B,发现B动态插入的记录A查询不到。重新启动A,发现刚才插入的数据又可以查询出来了。为什么会这样呢?为什么A只能查询到自身启动前就已经存在的数据,而查询不到动态插入的数据呢?rnrnPS:我在B中都是插入一条记录,就commit一下。A、B和数据库都保持长连接。
2个进程 A和B进程 A把“1234”写到内存中 B如何正确拿到“1234”的指针?
如题
我在一个进程A中调用另一个进程B,我想等B执行完后再执行A,怎么做?
????????????
进程A fork出来子进程B 然后A退出,让init进程成为B的父进程。这样有啥意义?
<em>进程</em>A fork出来子<em>进程</em>B 然后A exit()退出,让init<em>进程</em>成为B的父<em>进程</em>。这样有啥意义?rnrn好处是什么呢 ?rnrn
进程进程,还是进程问题!
如何获得一个程序中启动的另外的<em>进程</em>句柄(即除主<em>进程</em>之外的<em>进程</em>)?请各位大侠帮忙。
进程A把消息钩子安装到了进程B,按理说应该是过滤进程B的消息呀,为什么其他进程的消息也过滤了?奇怪哦~
程A把消息钩子安装到了<em>进程</em>B,按理说应该是过滤<em>进程</em>B的消息呀,为什么其他<em>进程</em>的消息也过滤了?奇怪哦~rnrn用 SetWindowsHookEx 的最后一个参数传入了<em>进程</em>B的主线程ID了,为什么其他<em>进程</em>的消息还是被过滤。rnrnrn我安装消息钩子 到<em>进程</em>B,如果<em>进程</em>B的窗体移动,就弹出一个消息框出来。效果是有了,但是不属于<em>进程</em>B的窗体,移动时,也弹出! 郁闷哦~rnrn我使用的是 WH_CBT 方式。资料说 可以属于线程或者系统范围
进程杀手进程杀手进程杀手进程杀手进程杀手
<em>进程</em>杀手<em>进程</em>杀手<em>进程</em>杀手<em>进程</em>杀手<em>进程</em>杀手<em>进程</em>杀手
进程A中创建另一个进程B,A和B都是对话框,都具有在最上层的属性,怎么在A创建了B以后,让输入焦点回到A上来?
winfo中在<em>进程</em>A中创建另一个<em>进程</em>B,A和B都是对话框,都具有在最上层的属性,怎么在A创建了B以后,让输入焦点回到A上来?我程序只这样在一个<em>进程</em>调用execl<em>进程</em>来显示execl文档,当我点击A中按钮就显示相应execl在A中一个pannel中,然而焦点也自动转移到execl上,现在我怎么自动把焦点切换到A<em>进程</em>上来,谢谢!
b/s结构下怎么关闭EXCEL进程
我的程序是在服务器端new一个EXCEL,用完后关闭,可是怎么也关不掉打开的EXCEL<em>进程</em>,请问该怎么关闭?我试了很多方法,连rnmyExcel.Quit();rnSystem.Runtime.InteropServices.Marshal.ReleaseComObject (myExcel);rnmyExcel = null;rnrnGC.Collect();rnGC.WaitForPendingFinalizers();rn等方法都用了,可还是关不掉啊,郁闷死了。请高手帮帮忙吧
一个不存在的进程占用着端口,⊙﹏⊙b
一个网络服务端程序,一直运作良好。rn忽然这一次,在bind的时候发现端口被占用了!rn赶紧查:netstat -ano | findstr "12345"rn显示:UDP 0.0.0.0:12345 *:* 4868rn马上打开任务管理器,看看谁是真凶!rn**!竟然找不到任何一个<em>进程</em>的<em>进程</em>ID是4868!rn凶手是通过什么方式躲起来的呢?rnTCP和UDP都试过这样的情况!rn求破此案!谢谢!
B/S模式下远程进程的管理
现在有一个B/S模式下的页面,如何通过asp.net的控件访问服务器的<em>进程</em>。可以关闭或者打开等操作。最好不通过Web Service。rn以前C/S模式下是通过System.Diagnostics实现的。但是B/S模式下,出现:rnrn异常详细信息: System.ComponentModel.Win32Exception: 拒绝访问。rnrn源错误: rnrnrn行 53: rn行 54: System.Diagnostics.Process[] myProcesses;rn行 55: myProcesses = System.Diagnostics.Process.GetProcessesByName("Excel");rn行 56: foreach (System.Diagnostics.Process instance in myProcesses)rn行 57: rn rn堆栈跟踪: rnrnrn[Win32Exception (0x80004005): 拒绝访问。]rn System.Diagnostics.PerformanceMonitor.GetData(String item)rn System.Diagnostics.PerformanceCounterLib.GetPerformanceData(String item)rn System.Diagnostics.PerformanceCounterLib.get_CategoryTable()rn System.Diagnostics.PerformanceCounterLib.GetPerformanceData(String[] categories, Int32[] categoryIndexes)rn System.Diagnostics.NtProcessManager.GetProcessInfos(PerformanceCounterLib library)rnrn[InvalidOperationException: 无法从远程计算机获取<em>进程</em>信息。]rn System.Diagnostics.NtProcessManager.GetProcessInfos(PerformanceCounterLib library)rn System.Diagnostics.NtProcessManager.GetProcessInfos(String machineName, Boolean isRemoteMachine)rn System.Diagnostics.ProcessManager.GetProcessInfos(String machineName)rn System.Diagnostics.Process.GetProcessesByName(String processName, String machineName)rn System.Diagnostics.Process.GetProcessesByName(String processName)rn WebApplicatio2.WebForm1.Button1_Click(Object sender, EventArgs e) in c:\inetpub\wwwroot\webapplicatio2\webform1.aspx.cs:55rn System.Web.UI.WebControls.Button.OnClick(EventArgs e)rn System.Web.UI.WebControls.Button.System.Web.UI.IPostBackEventHandler.RaisePostBackEvent(String eventArgument)rn System.Web.UI.Page.RaisePostBackEvent(IPostBackEventHandler sourceControl, String eventArgument)rn System.Web.UI.Page.RaisePostBackEvent(NameValueCollection postData)rn System.Web.UI.Page.ProcessRequestMain()rnrn rn
别的进程findwindow,postmessge给VB的进程
VB的<em>进程</em>怎样获得消息的数据啊?
自己写操作系统--两个进程分别输出A和B
学习操作系统原理最好的一个例子,里面只有两个任务,分时占用CPU资源,在屏幕上输出A和B,另外一个键盘中断,在linux下可以编译,直接运行,前提是你安装好bochs模拟器。如何使用bochs可以参考网上文档。
windows下在同一台计算机中的两个进程a和b,如何从a进程中得到b进程的窗口句柄?万分感谢!在线等待!
windows下在同一台计算机中的两个<em>进程</em>a和b,如何从a<em>进程</em>中得到b<em>进程</em>的窗口句柄?因为我想从a<em>进程</em>中发一定格式的消息给b<em>进程</em>。
求助】关于a&=b a>>=b a<<=b a^=b a|=b 的意思
【<em>求助</em>】关于a&=b a>>=b a<>=b a<<=b a^=b a|=brnrn这5个比较陌生,不知道啥意思rn
求助】遍历进程中记事本进程的数量
我写了个遍历<em>进程</em>中记事本<em>进程</em>的数量的代码。 但是运行后返回总数为 0 ........rnrnint i=0; //记事本<em>进程</em>数量rnLPCTSTR c[20]="notepad.exe"; //记事本<em>进程</em>rnrnPROCESSENTRY32 pe32; //定义<em>进程</em>结构变量rnpe32.dwSize=sizeof(pe32);//大小rnHANDLE handle=CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS,0);//获得系统快照句柄 rn rnProcess32First(handle,&pe32); //调用一次 Process32First 函数,从快照中获取<em>进程</em>列表 rn rnwhile(Process32Next(handle,&pe32)!=FALSE)//重复调用 Process32Next,直到函数返回 FALSE 为止 rnrn if( strcmp(c[20],pe32.szExeFile) == 0 ) //判断<em>进程</em>名是否等于记事本<em>进程</em>rn rn i++; //如果是 i++rn rnrnCString s; rns.Format("%d",i);rnAfxMessageBox(s); //总数rnrn用的是VC 6.0 谁帮我看一下,最好帮我运行下啊,帮我修改下代码,谢谢了。
进程A和被注入的进程B的DLL之间 如何通过键盘消息进行通讯
[code=delphi]procedure TForm1.Button2Click(Sender: TObject);rnvarrn hModule:Thandle;rn Pcall:pointer;rn fhwid:Integer;rn fpid:Integer;rnbeginrn hModule:=LoadLibrary('Dll.dll');rn if hModule<>0 thenrn beginrn Pcall:=GetProcAddress( hModule,'installKeyProc');rn installkeyProc:=Pcall;rn if (Pcall=nil) thenrn beginrn self.Caption:='未成功获取函数地址';rn exit;rn end;rnrn fhwid:=FindWindow(nil,'Form1');//这里是找到窗口标题文本名。把找到的这个参数传入即可 这里根据标题文本名字来修改这个即可rn installkeyProc(fhwid);rnrn // self.Caption:='无法得到PID';rnrnrn end;rn FreeLibrary(hModule);rnrnend;[/code]rnrn通过热键注入EXE中的代码rnrn[code=delphi]library Dll;rnrn Important note about DLL memory management: ShareMem must be thern first unit in your library's USES clause AND your project's (selectrn Project-View Source) USES clause if your DLL exports any procedures orrn functions that pass strings as parameters or function results. Thisrn applies to all strings passed to and from your DLL--even those thatrn are nested in records and classes. ShareMem is the interface unit torn the BORLNDMM.DLL shared memory manager, which must be deployed alongrn with your DLL. To avoid using BORLNDMM.DLL, pass string informationrn using PChar or ShortString parameters. rnrnusesrn SysUtils,rn windows,rn Classes,rn Dllform in 'Dllform.pas' Form1;rnrn$R *.resrnvarrnkeyhhk: HHOOK ;rnrnFunction keyproc(icode,wp,lp:integer):DWORD;stdcall; //键盘HOOK回调函数rnbeginrn if (icode=HC_ACTION) thenrn beginrn if (wp=VK_HOME)and ((1 shl 31)and lp=0) thenrn beginrn if form1=nil then Form1:=Tform1.Create(nil);rn form1.Visible:=not form1.Visible;rn end;rn end;rn keyProc:=CallNextHookEx(keyhhk,icode,wp,lp);rnend;rnFunction installKeyProc(hwid:Integer):boolean;stdcall;rnvarrn h:HWND;rn GameTid:THandle;rn //inclass:string;rnbeginrn Result:=false;rn // inclass:=hwclass;rn h:=hwid;rn // ;rnrn if h=0 thenrn beginrn Messagebox(0,'未找到<em>进程</em>','error',0);rn exit;rn end;rn GameTid:=GetWindowThreadProcessId(h);rn if GameTid=0 thenrn beginrn Messagebox(0,'无法获得线程ID','error',0);rn exit;rn end;rn keyhhk:=SetWindowsHookEx(WH_KEYBOARD,@Keyproc,GetModuleHandle('dll.dll'),GameTid);rn if keyhhk>0 thenrn Result:=true;rnend;rnprocedure DllEnterProc(reason:integer);rnbeginrn case reason ofrn windows.DLL_PROCESS_ATTACH: begin end;rn windows.DLL_PROCESS_DETACH: begin Form1.Free;form1:=nil; end;rn end;rnend;rnexports //导出函数rn installKeyProc;rnrnbeginrndllProc:=@DllEnterProc;rnend.[/code]rn这个是DLL部分的代码rn这个是通过 热键HOME键可以呼出 注入的DLL(呼出其中的窗体)rn现在我的要求是 DLL已经成功的注入到EXE当中了 rn我想通过<em>进程</em>的键盘消息 来实现 跟热键HOME键一样的效果rn不知道DELPHI下怎么实现?rn还有下面这段C++的代码 是不是也是实现 我的目标rn[code=c]DWORD g_processID; //<em>进程</em>句柄rnDWORD g_ThreadID; //线程句柄rnCRITICAL_SECTION g_hCritical; //windows 锁句柄(确切的应该叫关键代码段)rnbool IsExsit(CString strExeFile)rnrn //加锁rn ::EnterCriticalSection(&g_hCritical);rn CString strFileName;rn bool bFound = false;rn rn PROCESSENTRY32 pe32 = sizeof(pe32);rn HANDLE hSnapShot = NULL;rn //系统内进行<em>进程</em>快照rn hSnapShot = ::CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS|TH32CS_SNAPNOHEAPS, 0);rn if (hSnapShot == INVALID_HANDLE_VALUE)rn rn //如果快照失败,释放锁rn ::LeaveCriticalSection(&g_hCritical);rn return bFound;rn rn //遍历这些快照后的结果,直到找到我们需要的<em>进程</em>,如果没有找到就返回失败rn BOOL bFlag = ::Process32First(hSnapShot, &pe32);rn while (bFlag)rn rn strFileName = CString(pe32.szExeFile);rn if (strFileName==strExeFile)rn rn bFound = true;rn g_processID = pe32.th32ProcessID; rn break;rn rn bFlag = ::Process32Next(hSnapShot, &pe32);rn rn //关闭系统快照rn ::CloseToolhelp32Snapshot(hSnapShot);rn//释放锁 rn::LeaveCriticalSection(&g_hCritical);rn return bFound;rnrn //首先查看该<em>进程</em>是否存在,同时找到该<em>进程</em>的<em>进程</em>idrn if(IsExsit(_T("myapp")))rnrn HWND hwnd=::FindWindow(NULL,_T("myapp"));rn if (hwnd)rn rn //根据句柄查找到该窗口对应的线程rn g_ThreadID = GetWindowThreadProcessId(hwnd,&g_processID);---貌似是得到窗体的线程ID rn //发送消息rn ::PostThreadMessage(g_ThreadID,WM_KEYUP,13,13);----不明白这里参数的含义rn rnrn[/code]
进程A和被注入的进程B的DLL之间 如何通过自定义消息进行通讯
[code=c]DWORD g_processID; //<em>进程</em>句柄rnDWORD g_ThreadID; //线程句柄rnCRITICAL_SECTION g_hCritical; //windows 锁句柄(确切的应该叫关键代码段)rnbool IsExsit(CString strExeFile)rnrn //加锁rn ::EnterCriticalSection(&g_hCritical);rn CString strFileName;rn bool bFound = false;rn rn PROCESSENTRY32 pe32 = sizeof(pe32);rn HANDLE hSnapShot = NULL;rn //系统内进行<em>进程</em>快照rn hSnapShot = ::CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS|TH32CS_SNAPNOHEAPS, 0);rn if (hSnapShot == INVALID_HANDLE_VALUE)rn rn //如果快照失败,释放锁rn ::LeaveCriticalSection(&g_hCritical);rn return bFound;rn rn //遍历这些快照后的结果,直到找到我们需要的<em>进程</em>,如果没有找到就返回失败rn BOOL bFlag = ::Process32First(hSnapShot, &pe32);rn while (bFlag)rn rn strFileName = CString(pe32.szExeFile);rn if (strFileName==strExeFile)rn rn bFound = true;rn g_processID = pe32.th32ProcessID; rn break;rn rn bFlag = ::Process32Next(hSnapShot, &pe32);rn rn //关闭系统快照rn ::CloseToolhelp32Snapshot(hSnapShot);rn//释放锁 rn::LeaveCriticalSection(&g_hCritical);rn return bFound;rnrn //首先查看该<em>进程</em>是否存在,同时找到该<em>进程</em>的<em>进程</em>idrn if(IsExsit(_T("myapp")))rnrn HWND hwnd=::FindWindow(NULL,_T("myapp"));rn if (hwnd)rn rn //根据句柄查找到该窗口对应的线程rn g_ThreadID = GetWindowThreadProcessId(hwnd,&g_processID); rn //发送消息rn ::PostThreadMessage(g_ThreadID,WM_KEYUP,13,13);rn rnrn[/code]rnrnrn这段代码是我网络上找的 我的目标是 rn1、首先采用DELPHI 编写,能否实现怎么实现.rn2、其次实现的目标是 <em>进程</em>A给 <em>进程</em>B的一个C.DLL 发送自己定义消息 实现指定的消息发送和接收.rn3、这个自定义消息 和通过 <em>进程</em>A给 <em>进程</em>B的一个C.DLL 进行TCP/IP通讯 来实现 哪个更好?rn4、最后我想问这样对 CPU的占用影响大么?rn分数我不会吝啬,但是希望大家认真思考 回答,谢谢了.
进程A中怎样更改运行中的进程B的窗体标题??
因为<em>进程</em> B的窗体标题是每次运行的时候随机生成的。rn所以首先,运行<em>进程</em> B ,然后再运行<em>进程</em> A 。rn怎样让<em>进程</em> A 更改<em>进程</em> B 的窗体标题。(注意:是窗体标题,不是<em>进程</em>名字)
求助!内存和进程[求助]
<em>求助</em>!内存和<em>进程</em>[<em>求助</em>]rnPrivate Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As LongrnPrivate Declare Function GetWindowThreadProcessId Lib "user32" (ByVal hWnd As Long, lpdwProcessId As Long) As LongrnPrivate Declare Function OpenProcess Lib "kernel32" (ByVal dwDesiredAccess As Long, ByVal bInheritHandle As Long, ByVal dwProcessId As Long) As LongrnPrivate Declare Function WriteProcessMemory Lib "kernel32" (ByVal hProcess As Long, ByVal lpBaseAddress As Any, lpBuffer As Any, ByVal nSize As Long, lpNumberOfBytesWritten As Long) As LongrnPrivate Declare Function ReadProcessMemory Lib "kernel32" (ByVal hProcess As Long, ByVal lpBaseAddress As Any, lpBuffer As Any, ByVal nSize As Long, lpNumberOfBytesWritten As Long) As LongrnPrivate Declare Function CloseHandle Lib "kernel32" (ByVal hObject As Long) As LongrnPrivate Const PROCESS_ALL_ACCESS = &H1F0FFFrnPrivate hProcess As LongrnDim retV%, r&rnPrivate Sub Form_Load()rnGamehwnd = FindWindow(vbNullString, "扫雷")rnGetWindowThreadProcessId Gamehwnd, PIDrnhProcess = OpenProcess(PROCESS_ALL_ACCESS, False, PID)rnEnd Subrnrnrn求!如何能得到"扫雷"的地址范围rn如&H00000000 ~&HFFFFFFFFrn rn
请问,我用进程间通信,想把A进程的CWnd*主框架指针传给B进程,咋弄?
请问,我用<em>进程</em>间通信,想把A<em>进程</em>的CWnd*主框架指针传给B<em>进程</em>,咋弄?rn<em>进程</em>间通信方式是WM_COPYDATA.
B进程怎么样接收A进程发来的消息啊?(有源码,帮看下,谢谢)
<em>进程</em>A:rn#define WM_MYMSG WM_USER+100rnvoid CVCTestDlg::onok()//发送rnrn SendMessage(WM_MYMSG ,0,0);rnrn<em>进程</em>B:怎么写啊?以下的代码不行啊rn#define WM_MYMSG WM_USER+100rnLRESULT CVCTestDlg::ReceiveMsg(WPARAM wparam,LPARAM lparam)//收消息rnrn AfxMessageBox("收到<em>进程</em>A的消息了");rnrn//---rn在BEGIN_MESSAGE(CVCTestDlg,CDialog)里面加上rnON_MESSAGE(WM_MYMSG ,ReceiveMsg);rnrnrn
两个进程的窗口A,B,如何让B产生时候显示在A的上头?
两个<em>进程</em>的窗口A,B,如何让B产生时候显示在A的上头?rn不能用永远置顶的方法。
利用qprocess,进程a如何控制进程b的界面show和hidden?
利用qprocess,<em>进程</em>a如何控制<em>进程</em>b的界面show和hidden?rn<em>进程</em>a和b都是gui程序,
进程A正以SHARE_DENY_WRITE方式打开文件a.dat,进程B如何向a.dat中强行写入数据?
<em>进程</em>A正以SHARE_DENY_WRITE方式打开文件a.dat,<em>进程</em>B如何向a.dat中强行写入数据?
超难问题,如何使进程A读写完成后再让进程B再读写数据库?
首先,加锁肯定是不行的,加锁直接导致了<em>进程</em>B报告记录锁定,不会等待。rnrn怎么解决?rnrn是不是有这种数据库,或则插件,或者其它办法?rnrn最终实现多台计算机的客户端程序可以互不干扰地操作这个数据库?
请问某个应用程序(进程A)如何才能让某个IE窗口(进程B)执行Save As?
如题,最好能用消息一类的,哪位大虾能指点一二?
进程A中的窗口放在进程B窗口的上方,但不是置顶,能做吗?
有两个<em>进程</em>,分别都有一个窗口,我如何才能将<em>进程</em>A的窗口永远放置在<em>进程</em>B中的窗口上面,无论<em>进程</em>B怎么获得焦点或者移动,都是给<em>进程</em>A的窗口给遮住呢?但又不能遮住其他<em>进程</em>的窗口.
A进程截取了B进程的UDP封包,怎样重发出去吗?
A、B<em>进程</em>在同一台机器上,现在B<em>进程</em>发一数据包给网络上的C<em>进程</em>,其间,A<em>进程</em>记录了此数据,做出修改后,又发给C<em>进程</em>。rnrn假如B<em>进程</em>的端口是 6000,发给C<em>进程</em>后,C<em>进程</em>用RecvFrom接受到此封包,分析到收到封包的端口是6000。但如果用A<em>进程</em>再发这个封包,重新创建一个Socket,端口就不能是6000,只能绑定其它端口。rnrn请问有什么方法可以实现这种重发?rnrn
请问A进程的视频每帧的图像数据,怎么让B进程读取?
我用了内存共享的方法,但图像的有时会丢失。
如何在进程A里通过发送消息的形式改变另一个进程b的鼠标形状?
如题
进程描述和进程的创建
网易云课堂学习 task_struct数据结构 struct task_struct { volatile long state;<em>进程</em>状态 void *stack; 堆栈 pid_t pid; <em>进程</em>标识符 unsigned int rt_priority;实时优先级 unsigned int policy;调度策略 struct files_struct *files;系统打开文件
进程相关资料_进程相关资料
<em>进程</em>相关资料 <em>进程</em>相关资料 <em>进程</em>相关资料
进程与内存管理 进程与内存管理
<em>进程</em>与内存管理 <em>进程</em>与内存管理 <em>进程</em>与内存管理 <em>进程</em>与内存管理
进程查看器进程查看器
<em>进程</em>查看器<em>进程</em>查看器<em>进程</em>查看器<em>进程</em>查看器<em>进程</em>查看器
查看进程、停止进程
ps -ef | grep python kill -9 pid
进程等待和进程终止
<em>进程</em>终止 1》<em>进程</em>退出场景: (a)程序运行完毕,结果正确 (b)程序运行完毕,结果不正确 (c)代码异常终止 2》<em>进程</em>退出方法: (1)正常退出 (a)在main函数内执行return语句 (b)调用exit (c)调用_exit或_Exit函数 (2)异常退出 (a) 调用abort。 (b)当<em>进程</em>接收到某些信号时。
进程二(进程的创建)
创建<em>进程</em>
Unix进程_Unix进程
Unix<em>进程</em>书中包含了大量的代码示例。我强烈建议你在Ruby 解释器中逐一运 行这些代码。自己动手调试有助于更深入地理解概念
进程霸王 进程管理器
<em>进程</em>管理器帮你管理你的<em>进程</em>,更容易识别,让你轻松上手....
进程管理工具 进程管理工具
<em>进程</em>管理工具 <em>进程</em>管理工具 <em>进程</em>管理工具
进程-进程标识符
1.什么是<em>进程</em>标识符 系统给每个<em>进程</em>定义了一个唯一标识该<em>进程</em>的非负正数,称作<em>进程</em>标识符。当某一<em>进程</em>终止后,其标识符可以重新用作另一<em>进程</em>的标识符。不过,在任何时刻,一个标识符所代表的<em>进程</em>是唯一的。系统把标识符 0 和 1 保留给系统的两个重要<em>进程</em>。<em>进程</em> 0 是调度<em>进程</em>,它按一定的原则把处理机分配给<em>进程</em>使用。<em>进程</em> 1 是初始化<em>进程</em>,它是程序/sbin/init 的执行。<em>进程</em> 1 是 UNIX 系统那其
【Linux-进程进程的理解
ls -l &amp;gt;test.txtchmod u+s mainecho $USERint getuid()   得到实际用户(uid_t)int geteuid()  得到有效用户(uid_t)目录:    chdir  切换目录    mkdir  创建目录    rmdir  删除目录    unlink 删除文件    umassk 设置文件权限屏蔽位    stat   文件目录状态  ...
Dvm的进程和Linux的进程
Dvm的<em>进程</em>是dalivk虚拟机<em>进程</em>,每个android程序都运行在自己的<em>进程</em>里面,每个android程序系统都会给他分配一个单独的liunx uid(user id), 每个dvm都是linux里面的一个<em>进程</em>.所以说这两个<em>进程</em>是一个<em>进程</em>.
(二十)进程——进程环境
<em>进程</em>环境   libc中定义的全局变量environ指向环境变量表,environ没有包含在任何头文件中,所以在使用时要用extern声明。例如:   #include int main(void) { extern char **environ; int i; for(i=0; environ[i]!=NULL; i++) print
进程环境——进程的存储空间
<em>进程</em>的存储空间 每当<em>进程</em>申请一片存储空间或者企图读写已分配的存储空间时,内核负责映射虚地址到物理地址,即负责虚地址空间至实地址空间的转换。 <em>进程</em>的地址空间 <em>进程</em>的地址空间由系统允许程序引用或访问的所有存储单元组成。<em>进程</em>的地址空间及其寄存器上下文,反映了<em>进程</em>所运行的当前状态。当<em>进程</em>用exec()装入一个新程序时,内核便为这个新程序建立地址空间。 <em>进程</em>的地址空间由若干不同的段组成,每个
进程
getpid()   //获取当前<em>进程</em>的ID <em>进程</em>创建时,创建<em>进程</em>为新<em>进程</em>的父<em>进程</em>,新<em>进程</em>为创建<em>进程</em>的子<em>进程</em>。子<em>进程</em>获取父<em>进程</em>的PID:getppid(). 创建一个新<em>进程</em>:fork() 终止<em>进程</em>:正常终止和异常终止; 正常终止:(1)从main()函数return返回;(2)调用类exit()函数; 异常终止:(1)调用abort()函数;(2)接收到一个信号终止; main
进程!!
#include rn#include rn#include rn#include rnrnmain(void) rn rnpid_t child_1,child_2,child_3; rnrnrnif((child_1=fork())==-1) rn rnprintf("FORK ERROR:%d\n",child_1); rnexit(0); rn rnelse rnrn/*一些操作*/ rnexit(1); rn rnrnif((child_2=fork())==-1) rn rnprintf("FORK ERROR:%d\n",child_2); rnrnexit(0); rn rnelse rn/*一些操作*/ rnexit(1); rn rnrnif((child_3=fork())==-1) rn rnprintf("FORK ERROR:%d\n",child_3); rnexit(0); rn rnelse rn/*一些操作*/ rnexit(1); rn rnrn rn问一下各位! <em>进程</em>能这么用吗/?? 如果在主程序里申请多个<em>进程</em>一起操作? 要怎么写?要注意些什么?rn这个类似的程序我便已过去了! 但好像是逻辑问题,结果不是我想有的,或者说这几个<em>进程</em>根本就没有做操作! 请问怎么回事! 谢谢了!
进程(下)
n 从0基础开始讲解PYTHON并发编程。重磅推出,必是精品,不容错过。n
工控机通用检修流程下载
工控机通用检修流程,原创技术资料。 讲了工控机的常见故障和排除步骤,同时深层次普及了一下电脑基础知识。 相关下载链接:[url=//download.csdn.net/download/ab10001000/4515265?utm_source=bbsseo]//download.csdn.net/download/ab10001000/4515265?utm_source=bbsseo[/url]
360压缩包 V3.0正式版下载
360压缩包 V3.0正式版 相关下载链接:[url=//download.csdn.net/download/a576829/5012926?utm_source=bbsseo]//download.csdn.net/download/a576829/5012926?utm_source=bbsseo[/url]
STM32的时钟分布详解下载
STM32的时钟分布详解,讲述STM32F103RBT6的时钟分布 相关下载链接:[url=//download.csdn.net/download/lianshujian/5244563?utm_source=bbsseo]//download.csdn.net/download/lianshujian/5244563?utm_source=bbsseo[/url]
相关热词 c#异步发送kafka c#窗体编号 c# 操作二进制文件 c# 反射 机制 c#线程 窗体失去响应 c#角度转弧度 c# 解析gps数据 c# vs设置 语法版本 c# json含回车 c#多线程demo
我们是很有底线的