如何使用sendmessage发送WM_COPYDATA消息???

228 2000-07-27 09:11:00
sendmessage的第四个参数LPARAM为长整型,而WM_COPYDATA需传送一COPYDATASTRUCT类型,如何转换,怎么做???
...全文
365 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
zxtyhy 2000-09-21
  • 打赏
  • 举报
回复
定义TCopyDataStruct结构,分配内存,赋值,得到要传递到窗口的句柄,
发送消息,释放内存.
var
CDS: TCopyDataStruct;
HD: THandle;
begin
CDS.cbData:=Length(Edit1.Text)+1;
GetMem(CDS.lpData, CDS.cbData );
StrCopy(CDS.lpData, PChar(Edit1.Text));
HD:=FindWindow(nil, 'Form2');
if HD<>0 then
SendMessage(HD, WM_COPYDATA, Handle, Cardinal(@CDS))
else ShowMessage('The window is not found!');
RreeMem(CDS.lpData, CDS.cbData );
supershan 2000-09-19
  • 打赏
  • 举报
回复
listen...
zxtyhy 2000-09-18
  • 打赏
  • 举报
回复
有兴趣!
huntout 2000-07-27
  • 打赏
  • 举报
回复
LPARAM應為COPYDATASTRUCT類型指針!

WM_COPYDATA
wParam = (WPARAM) (HWND) hwnd; // handle of sending window
lParam = (LPARAM) (PCOPYDATASTRUCT) pcds; // pointer to structure with data

Parameters
hwnd
Handle to the window passing the data.
pcds
Pointer to a COPYDATASTRUCT structure that contains the data to be passed.

5,386

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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