SendMessage 的问题

2558068694 2014-12-07 10:29:49
怎么使用sendmessage来更改第三方软件菜单caption,SendMessage(Integer(Edit1.Text),WM_SETTEXT,255,Integer(PChar(Edit2.text)))好像不生效,谢谢
...全文
685 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
菜单有菜单的API函数, sendmessage是没有用的
st15921335562 2015-01-09
  • 打赏
  • 举报
回复
setwindowlong
2558068694 2014-12-21
  • 打赏
  • 举报
回复
SetWindowText(N1.Handle,PWideChar(TntEdit1.Text)); 提示:[Error] Unit1.pas(55): Incompatible types: 'WideChar' and 'Char'
qizhf 2014-12-14
  • 打赏
  • 举报
回复
用SetWindowTex: function SetWindowText(hWnd: HWND; lpString: PWideChar): BOOL; external user32 name 'SetWindowTextW';
不得闲 2014-12-11
  • 打赏
  • 举报
回复
引用 3 楼 yanhan 的回复:
谢谢回复,我的edit.text里面是人为的输入的真实句柄,整个调用语法肯定是没有问题的。只是可以改变button的caption,对菜单没用而已。
。。人为的输入的,也不是Integer(Edit1.text)吧,而是Inttostr(Edit1.text)啊,你确定,你那样能改?如果是真的,那我就默默的匿去吧,水太深,我趟不了
2558068694 2014-12-10
  • 打赏
  • 举报
回复
谢谢回复,我的edit.text里面是人为的输入的真实句柄,整个调用语法肯定是没有问题的。只是可以改变button的caption,对菜单没用而已。
不得闲 2014-12-10
  • 打赏
  • 举报
回复
SendMessage(Integer(Edit1.Text),WM_SETTEXT,255,Integer(PChar(Edit2.text))) 这个第一个参数亮了,SendMessage不是这样用的,第一个需要的是窗口句柄,你把Edit1.Text的Integer的地址传过去搞飞机? 首先用FindWindow获得第三方窗口的Handle 然后SendMessage(找到的Handle,WM_SetText来处理,而且你后面的参数也不对,WParam这个对于这个消息来说,根本没用,用0就行,最后一个参数应该是一个Buf地址,比如buf: array[0..255] of AnsiChar;然后Integer(@buf[0]),请看MSDN
Playmaster 2014-12-10
  • 打赏
  • 举报
回复
菜单文本的改变不像其他窗口,要先获得菜单的句柄,再改各个菜单项的文本。 有个api函数是可以取得某个窗体的主菜单句柄的。
2558068694 2014-12-09
  • 打赏
  • 举报
回复
没有人,自己顶起

1,183

社区成员

发帖
与我相关
我的任务
社区描述
Delphi Windows SDK/API
社区管理员
  • Windows SDK/API社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧