我现在用postMessage(whwnd,WM_keyUP,53,0)可以发送一个字符,
但如何发送一个字符串呢?
但如何发送一个字符串呢?
解决方案 »
- FR中如何把一MEMO的数字经过转换成大写后写到另一个MEMO中
- 请问如何用delphi创建文件夹,及删除文件加,文件.
- 怎样获得一字串的从右数的若干字符
- 如何用ado编写一把文件(例如word之类的文件)存到oracle数据库中!
- 如何用Delphi工具---Image Editor 将已存在的位图文件编辑成资源文件?
- 小MM问大家一个问题,非常急
- 急!!!!带日期型参数动态视图的创建问题!!
- 改变word中graph图表背景色的问题,有知道的请进
- 一个极菜的问题,主菜单种中‘[系统维护]’中的‘[’怎样实现(不出现热键)
- 请指教在dll中调用ChartFx控件并将统计图保存为bmp或gif的方法
- 关于hash函数的问题
- 如何做通过串口找到PDA上的文件并COPy到本地来
var
S:string;
begin
S:='Hello World';
SendMessage(edt1.Handle, WM_SETTEXT, 0, Integer(s));
end;
TCommInfo = array[0..50] of Char;
szCommInfo : TCommInfo;
SendMessage(FormHandle, WM_COMMINFOMSG, 0, Integer(PChar(CommInfo)));
2.
CommInfo : String;
SendMessage(FormHandle, WM_COMMINFOMSG, 0, Integer(PChar(CommInfo)));
S:=pchar;
begin
S:='Hello word';
SendMessage(Handle, WM_SETTEXT, 0, Integer(s));
end;我向用VB写的程序的文本框成功的, 另外你接收消息对象的是什么类?
因为字符串在你的程序的内存空间,发送过去的地址是没有意义的.
WM_SETTEXT 消息是系统特殊处理过的,会先将内容保存到一个临时的内存映射文件中.然后给目标通知的.就算是同一个程序中用POSTMESSAGE发送字符串也要保证在收到消息的时候这个字符串还在原来的位置存在才可以.
这样就可以了,但只能每次传一个字符
如果可以用sendmessage,可以考虑用wm_copydata传。
如果字符数多,POST的时候控制一下速度.另外,建议用WM_CHAR代替WM_KEYUP
PostMessage(HWnd, WM_XYZ, wParam, 0)
接收方:str = GlobalGetAtomName(wParam)
GlobalDeleteAtom(wParam)
sTemp := Pchar(sData);
SendMessage(wHandle,WM_SETTEXT,0,Integer(sTemp)); 这是给其它程序输入框送东东的,验证过要不用Loop发一系列按键消息也可行,关键是楼主想做啥?我觉得自已留RPC接口的话原子操作不错
begin
setlength(s,100);
s:='1111111';
postmessage(frm_handle,wm_user+100,integer(@s[1]),0);