首页 > 试题广场 >

关于WM_COPYDATA消息的处理,下面描述错误的是()

[单选题]
关于WM_COPYDATA消息的处理,下面描述错误的是()
  • 可以在不同进程之间传递少量只读数据
  • 只能通过sendmessage方式来发送该消息
  • 只能在窗口过程函数中处理该消息
  • 可以在消息队列或窗口过程函数中处理该消息
推荐
C
A:WM_COPYDATA消息的主要目的是允许在进程间传递只读数据。Windows在通过WM_COPYDATA消息传递期间,不提供继承同步方式。
B;该消息只能由SendMessage()来发送,而不能使用PostMessage()。因为系统必须管理用以传递数据的缓冲区的生命期,如果使用了PostMessage(),数据缓冲区会在接收方(线程)有机会处理该数据之前,就被系统清除和回收。
D:可以在消息队列或窗口过程函数中处理该消息
编辑于 2015-01-30 15:58:31 回复(0)
答案:C

WM_COPYDATA消息,在win32中用来进行进程间的数据传输。
typedef struct tagCOPYDATASTRUCT {  
    DWORD dwData; 
    DWORD cbData; 
    PVOID lpData; 
} COPYDATASTRUCT;
其中dwData为32位的自定义数据, lpData为指向数据的指针,cbData为lpData指针指向数据的大小(字节数)。
一般推荐用SendMessage函数进行发送,这样就能确保在接收方复制数据前避免发送方能修改或删除数据;
可以在消息队列或窗口过程函数中处理该消息
发表于 2015-01-29 17:41:51 回复(0)