社区
网络及通讯开发
帖子详情
关于SendMessage的困惑,求救!!!!!!
wangfei0309
2005-12-25 10:45:59
各位高手:
大家节日快乐!
我的程序要调用别人的一个程序,然后给他发一个消息,他收到消息后就给我一个消息.等等...
SendMessage(他的程序的句柄,msg1,我的程序的句柄,0);
我现在可以取我的程序的句柄,msg1也是相互一样定义的,没有问题.
但我如何调用他的文件和取得他的文件的句柄呢?因为他的文件的句柄绝大多数情况下都不相同啊.
另外,他的程序是用VB写的.
可否举例给我看一下呀!!!
...全文
308
10
打赏
收藏
关于SendMessage的困惑,求救!!!!!!
各位高手: 大家节日快乐! 我的程序要调用别人的一个程序,然后给他发一个消息,他收到消息后就给我一个消息.等等... SendMessage(他的程序的句柄,msg1,我的程序的句柄,0); 我现在可以取我的程序的句柄,msg1也是相互一样定义的,没有问题. 但我如何调用他的文件和取得他的文件的句柄呢?因为他的文件的句柄绝大多数情况下都不相同啊. 另外,他的程序是用VB写的. 可否举例给我看一下呀!!!
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
10 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
zyyoung
2006-01-19
打赏
举报
回复
mr
santwy
2006-01-13
打赏
举报
回复
不同进程可以用WM_COPYDATA这个消息
南郁
2006-01-11
打赏
举报
回复
这样做比SendMessage方便得很,并且功能强大.比如:
假设要传一大串字符串:
AnsiString msg = "我是一个兵,来自老百姓....";
IdUdpClient->WriteLn(msg);
...
如果用SendMessage,是无法传递本进程内部(非共享内存)的字符串,或其它sizeof()超过4字节的东东.
南郁
2006-01-11
打赏
举报
回复
我建议不要用SendMessage做这种事. 你就用Socket控件吧. 用CB 带的 Indy控件,可以通过网络来在两个进程之间互相传数据.比如,在你和你朋友的程序上各放一对 IdUDPClient1 / IdUDPServer1,
设置好端口号, 就可以
//你的程序:
int a = 100;
IdUDPClient->WriteIntege(a);
...
//朋友的:
int b = IdUDPServer->ReadIntege();
这时,b 就是 100了...
说是走网络,其实由于在本机,系统会自动走共享内存.
FengSC
2006-01-11
打赏
举报
回复
这个可能有很多方法,不过我一般是在主程序(先启动的程序)中使用CreateProcess函数运行需要接收消息的程序,该函数运行一个程序,并且返回该程序的描述信息。
CreateProcess函数最后一个参数的一个LPPROCESS_INFORMATION类型,定义如下:
typedef struct _PROCESS_INFORMATION { // pi
HANDLE hProcess;
HANDLE hThread;
DWORD dwProcessId;
DWORD dwThreadId;
} PROCESS_INFORMATION;
donwmufromdying
2006-01-11
打赏
举报
回复
帖主看来没搞懂SendMessage(或者PostMessage)里面的消息跟进程间通信的消息根本就是两回事啊!从你的描述来看,显然是想进程间通信,或者进程间数据交换。那还是通过,文件、Socket、等等方法把
alloutoflove
2006-01-06
打赏
举报
回复
让他在消息中把文件的Handle返回给你就行了,VB没有直接的转Handle的函数的话就调用有关的API吧..
icwin
2006-01-05
打赏
举报
回复
,可以用socket,可以用邮槽,用命名管道。。。。???
能说明白一些吗?
南郁
2005-12-26
打赏
举报
回复
用 FindWindow() 函数来查找对方的窗口句柄吧。它需要两个参数,一个是窗口的类名,另一个是窗口的标题。 。。窗口类名可以用VC自带的syp++查出来。窗口标题可以用眼睛看到。如果这个窗口的标题很奇怪(保证绝不和其它的窗口相同),并且这个窗口的标题是固定内容,也可以不类名。。。。。。。
比如:对方的窗口标题是: “---哈哈哈,嘻嘻---”
HWND hWnd = ::FindWindow(0,“---哈哈哈,嘻嘻---”);
if (hWnd == 0)
{
ShowMessage("它的程序还没起床...);
}
::SendMessage(hWnd,.....);
最后说一句,根据你的需求,你想通过SendMessage这个API来实现,是完全不对的设计。
SendMessage中的Message指的是操作系统中的“消息”,根本不适合用来做进程间通讯。
你可以用 原子,互斥,旗语等同步信号量,可以用socket,可以用邮槽,用命名管道。。。。怎么会想到用sendmessage....
「已注销」
2005-12-25
打赏
举报
回复
同问~~~~学习````````````
Unity的
SendMessage
用法简述,以及
SendMessage
has no receiver!错误改正
我在学习Unity项目开发的时候,用到的
SendMessage
往往会出现以下错误。 就是:
SendMessage
has no receiver! **首先我们先明白错误的发生原因:**顾名思义是所发送的消息没有接收者,类比为假设你所定义的某个物体A,但A触发某个事件时,需要调用到物体B中所拥有的方法,你需要先找到B,然后再去
SendMessage
,如下: 这里是会报错的例子。 if(collis...
Unity3D
sendmessage
的用法
SendMessage
has no receiver!
Unity3D
sendmessage
的用法
SendMessage
has no receiver! 1.GameObject.
SendMessage
向一个物体发送一个消息。 假设有两个物体 A,B 实现在A中单击鼠标左键 发送消息调用B中的方法。 A中绑定的c#代码 void Update () { if
有关
Sendmessage
的内容!!!
请问各位知道哪些wmsg的具体信息,帮我用
sendmessage
写一个向窗体发送mousedown的程序,写时请带好参数,谢谢!!
使用
SendMessage
发送汉字!
向指定窗口发送汉字
m_Message CString类型 用来保存汉字
hwndSelect HWND类型 用来保存接收汉字的窗口句柄
char ch;
for(int i=0;i
{
ch=m_Message.GetAt(i);
::PostMessage(hwndSelected,WM_CHAR,ch&0x00F
关于Unity3D中的Unity
SendMessage
方法的使用!!!
Unity
SendMessage
这个方法相信很少朋友注意到它的使用,因为根本就无法在unity编辑时使用,但是它有一个神奇的地方就是可以完成dllimport的方法回调时使用,这样说好像有些抽象,我可以举一个例子。 很多朋友开发ios客户端游戏,难免有人会用到付费啊,排行榜之类的功能,我这里先不讲使用什么第三方插件什么的,我这里就说明下是通过在xcode下编辑相关的调用代码,最后通过dl
网络及通讯开发
1,317
社区成员
8,874
社区内容
发帖
与我相关
我的任务
网络及通讯开发
C++ Builder 网络及通讯开发
复制链接
扫一扫
分享
社区描述
C++ Builder 网络及通讯开发
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章