怎么使用sendmessage来更改第三方软件菜单caption,SendMessage(Integer(Edit1.Text),WM_SETTEXT,255,Integer(PChar(Edit2.text)))好像不生效,谢谢
解决方案 »
- 请教 TStrings 的初始化为何这样难
- 再请教问题,数据表有设有主键,三层中客户端ClientDataSet1.ApplyUpdates(0)保存一条相同的记录时有问题?
- 启动界面显示时会出现偏移不居中
- FastRepor缺陷:分组的最后一页的页脚上,提前出现了下一组的记录
- 关于URLDownloadToCacheFile(......),函数的几个问题。
- hint 问题
- 关于使用DBEDIT的掩码问题,第三次重贴,没有人能解决吗?
- 如何实现像Windows优化大师那样的下拉菜单(Delphi6)?
- 在DELPHI中如何用farstreport实现报表中按某列数据汇总合拼输出,即下表的结果该怎么实现?
- 各位大侠帮帮忙:在dbgrid控件上,当把所有的记录都选上后,怎么才能点其中一条纪录时,使这条记录不选中,而其他记录仍然选中?
- 【delphi开发】—论业余时间
- 用delphi 做抽奖系统
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
有个api函数是可以取得某个窗体的主菜单句柄的。
function SetWindowText(hWnd: HWND; lpString: PWideChar): BOOL; external user32 name 'SetWindowTextW';