主要函数开启线程 CreateThread 需要时时获取或步骤繁琐的建议开启线程
CreateThread(NULL, 0, (LPTHREAD_START_ROUTINE)调用写好的函数或者CALL, 这个可以是自定义的参数, 0, NULL);
封装调用call函数。就可以直接使用这个SendTextMessage函数
//************************************************************
// 函数名称: SendTextMessage
// 函数说明: 发送文本消息
// 参 数: wxid 微信ID msg消息内容
// 返 回 值: void
//************************************************************
void SendTextMessage(wchar_t* wxid, wchar_t* msg)
{
//拿到发送消息的call的地址
DWORD dwSendCallAddr = (DWORD)GetModuleHandle(TEXT("WeChatWin.dll")) + WxSendMessage;
//组装微信ID/群ID的结构体
wxMsg id = { 0 };
id.pMsg = wxid;
id.msgLen = wcslen(wxid);
id.buffLen = wcslen(wxid) * 2;
//消息内容
wxMsg text = { 0 };
text.pMsg = msg;
text.msgLen = wcslen(msg);
text.buffLen = wcslen(msg) * 2;
//取出微信ID和消息的地址
char* pWxid = (char*)&id.pMsg;
char* pWxmsg = (char*)&text.pMsg;
char buff[0x81C] = { 0 };
//调用微信发送消息call
__asm {
mov edx, pWxid;
push 0x1;
push 0;
mov ebx, pWxmsg;
push ebx;
lea ecx, buff;
call dwSendCallAddr;
add esp, 0xC;
}
}
如有侵权请联系删除!