请解c++ CopyMemory问题

来源:百度知道 编辑:UC知道 时间:2024/05/31 21:44:11
请解CopyMemory问题,CopyMemory要如何写才对?我的代码贴上

//---------------------------------------------------------------------------

#include <vcl.h>
#pragma hdrstop

#include "Unit1.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
LRESULT CALLBACK CallMouseHookProc(int nCode, WPARAM wParam, LPARAM lParam);
LRESULT CALLBACK CallKeyHookProc(int nCode, WPARAM wParam, LPARAM lParam);
MouseMsgs MouseMsg;
KeyMsgs keyMsg;
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
: TForm(Owner)
{
}
//---------------------------------------------------------------------------

void __fastcall TForm1::FormCreate(TObject *Sender)
{
//注册 钩子
if (hHookMous != NULL) return;

MouseMsg是一个结构对象,当然不能转成指针啦,加个取址运算符试试!
CopyMemory((PVOID)&MouseMsg, (PVOID)lParam, sizeof(MOUSEMSGS));

使用
CopyMemory((PVOID)MouseMsg, (PVOID)lParam, sizeof(MOUSEMSGS));
后出现以下错误
[C++ Error] Unit1.cpp(52): E2031 Cannot cast from 'MOUSEMSGS' to 'void *'

CopyMemory((PVOID)MouseMsg, (PVOID)lParam, sizeof(MOUSEMSGS));