Refactoring
This commit is contained in:
parent
fa81ea3e24
commit
0b2e49ecba
@ -11,12 +11,6 @@ using namespace std;
|
|||||||
extern WxCalls_t g_WxCalls;
|
extern WxCalls_t g_WxCalls;
|
||||||
extern DWORD g_WeChatWinDllAddr;
|
extern DWORD g_WeChatWinDllAddr;
|
||||||
|
|
||||||
typedef struct MemberList {
|
|
||||||
DWORD start;
|
|
||||||
DWORD end1;
|
|
||||||
DWORD end2;
|
|
||||||
} MemberList_t;
|
|
||||||
|
|
||||||
int AddChatroomMember(string roomid, string wxids)
|
int AddChatroomMember(string roomid, string wxids)
|
||||||
{
|
{
|
||||||
if (roomid.empty() || wxids.empty()) {
|
if (roomid.empty() || wxids.empty()) {
|
||||||
@ -29,20 +23,20 @@ int AddChatroomMember(string roomid, string wxids)
|
|||||||
DWORD addRoomMemberCall2 = g_WeChatWinDllAddr + g_WxCalls.arm.call2;
|
DWORD addRoomMemberCall2 = g_WeChatWinDllAddr + g_WxCalls.arm.call2;
|
||||||
DWORD addRoomMemberCall3 = g_WeChatWinDllAddr + g_WxCalls.arm.call3;
|
DWORD addRoomMemberCall3 = g_WeChatWinDllAddr + g_WxCalls.arm.call3;
|
||||||
|
|
||||||
TextStruct_t txtRoomid = { 0 };
|
WxString_t txtRoomid = { 0 };
|
||||||
wstring wsRoomid = String2Wstring(roomid);
|
wstring wsRoomid = String2Wstring(roomid);
|
||||||
txtRoomid.text = (wchar_t *)wsRoomid.c_str();
|
txtRoomid.text = (wchar_t *)wsRoomid.c_str();
|
||||||
txtRoomid.size = wsRoomid.size();
|
txtRoomid.size = wsRoomid.size();
|
||||||
txtRoomid.capacity = wsRoomid.capacity();
|
txtRoomid.capacity = wsRoomid.capacity();
|
||||||
|
|
||||||
vector<wstring> vMembers;
|
vector<wstring> vMembers;
|
||||||
vector<TextStruct_t> vTxtMembers;
|
vector<WxString_t> vTxtMembers;
|
||||||
wstringstream wss(String2Wstring(wxids));
|
wstringstream wss(String2Wstring(wxids));
|
||||||
while (wss.good()) {
|
while (wss.good()) {
|
||||||
wstring wstr;
|
wstring wstr;
|
||||||
getline(wss, wstr, L',');
|
getline(wss, wstr, L',');
|
||||||
vMembers.push_back(wstr);
|
vMembers.push_back(wstr);
|
||||||
TextStruct_t txtMember = { 0 };
|
WxString_t txtMember = { 0 };
|
||||||
txtMember.text = (wchar_t *)vMembers.back().c_str();
|
txtMember.text = (wchar_t *)vMembers.back().c_str();
|
||||||
txtMember.size = vMembers.back().size();
|
txtMember.size = vMembers.back().size();
|
||||||
txtMember.capacity = vMembers.back().capacity();
|
txtMember.capacity = vMembers.back().capacity();
|
||||||
|
@ -10,19 +10,11 @@ extern HANDLE g_hEvent;
|
|||||||
extern WxCalls_t g_WxCalls;
|
extern WxCalls_t g_WxCalls;
|
||||||
extern DWORD g_WeChatWinDllAddr;
|
extern DWORD g_WeChatWinDllAddr;
|
||||||
|
|
||||||
typedef struct AtList {
|
|
||||||
DWORD start;
|
|
||||||
DWORD end1;
|
|
||||||
DWORD end2;
|
|
||||||
} AtList_t;
|
|
||||||
|
|
||||||
void SendTextMessage(string wxid, string msg, string atWxids)
|
void SendTextMessage(string wxid, string msg, string atWxids)
|
||||||
{
|
{
|
||||||
char buffer[0x3B0] = { 0 };
|
char buffer[0x3B0] = { 0 };
|
||||||
AtList_t atList = { 0 };
|
WxString_t txtMsg = { 0 };
|
||||||
TextStruct_t txtMsg = { 0 };
|
WxString_t txtWxid = { 0 };
|
||||||
TextStruct_t txtWxid = { 0 };
|
|
||||||
TextStruct_t *tsArray = NULL;
|
|
||||||
|
|
||||||
// 发送消息Call地址 = 微信基址 + 偏移
|
// 发送消息Call地址 = 微信基址 + 偏移
|
||||||
DWORD sendCallAddress = g_WeChatWinDllAddr + g_WxCalls.sendTextMsg;
|
DWORD sendCallAddress = g_WeChatWinDllAddr + g_WxCalls.sendTextMsg;
|
||||||
@ -38,7 +30,7 @@ void SendTextMessage(string wxid, string msg, string atWxids)
|
|||||||
txtWxid.size = wsWxid.size();
|
txtWxid.size = wsWxid.size();
|
||||||
txtWxid.capacity = wsWxid.capacity();
|
txtWxid.capacity = wsWxid.capacity();
|
||||||
|
|
||||||
vector<TextStruct_t> vTxtAtWxids;
|
vector<WxString_t> vTxtAtWxids;
|
||||||
if (!atWxids.empty()) {
|
if (!atWxids.empty()) {
|
||||||
vector<wstring> vAtWxids;
|
vector<wstring> vAtWxids;
|
||||||
wstringstream wss(String2Wstring(atWxids));
|
wstringstream wss(String2Wstring(atWxids));
|
||||||
@ -46,7 +38,7 @@ void SendTextMessage(string wxid, string msg, string atWxids)
|
|||||||
wstring wstr;
|
wstring wstr;
|
||||||
getline(wss, wstr, L',');
|
getline(wss, wstr, L',');
|
||||||
vAtWxids.push_back(wstr);
|
vAtWxids.push_back(wstr);
|
||||||
TextStruct_t txtAtWxid = { 0 };
|
WxString_t txtAtWxid = { 0 };
|
||||||
txtAtWxid.text = (wchar_t *)vAtWxids.back().c_str();
|
txtAtWxid.text = (wchar_t *)vAtWxids.back().c_str();
|
||||||
txtAtWxid.size = vAtWxids.back().size();
|
txtAtWxid.size = vAtWxids.back().size();
|
||||||
txtAtWxid.capacity = vAtWxids.back().capacity();
|
txtAtWxid.capacity = vAtWxids.back().capacity();
|
||||||
@ -76,8 +68,8 @@ void SendImageMessage(string wxid, string path)
|
|||||||
DWORD tmpEAX = 0;
|
DWORD tmpEAX = 0;
|
||||||
char buf1[0x48] = { 0 };
|
char buf1[0x48] = { 0 };
|
||||||
char buf2[0x3B0] = { 0 };
|
char buf2[0x3B0] = { 0 };
|
||||||
TextStruct_t imgWxid = { 0 };
|
WxString_t imgWxid = { 0 };
|
||||||
TextStruct_t imgPath = { 0 };
|
WxString_t imgPath = { 0 };
|
||||||
|
|
||||||
wstring wsWxid = String2Wstring(wxid);
|
wstring wsWxid = String2Wstring(wxid);
|
||||||
wstring wspath = String2Wstring(path);
|
wstring wspath = String2Wstring(path);
|
||||||
@ -123,9 +115,9 @@ void SendFileMessage(string wxid, string path)
|
|||||||
}
|
}
|
||||||
DWORD tmpEAX = 0;
|
DWORD tmpEAX = 0;
|
||||||
char buffer[0x3B0] = { 0 };
|
char buffer[0x3B0] = { 0 };
|
||||||
TextStruct_t fileWxid = { 0 };
|
WxString_t fileWxid = { 0 };
|
||||||
TextStruct_t filePath = { 0 };
|
WxString_t filePath = { 0 };
|
||||||
TextStruct_t nullbuffer = { 0 };
|
WxString_t nullbuffer = { 0 };
|
||||||
|
|
||||||
wstring wsWxid = String2Wstring(wxid);
|
wstring wsWxid = String2Wstring(wxid);
|
||||||
wstring wspath = String2Wstring(path);
|
wstring wspath = String2Wstring(path);
|
||||||
|
@ -72,9 +72,9 @@ typedef struct WxCalls {
|
|||||||
RoomMember_t arm; // 添加群成员
|
RoomMember_t arm; // 添加群成员
|
||||||
} WxCalls_t;
|
} WxCalls_t;
|
||||||
|
|
||||||
typedef struct TextStruct {
|
typedef struct WxString {
|
||||||
wchar_t *text;
|
wchar_t *text;
|
||||||
DWORD size;
|
DWORD size;
|
||||||
DWORD capacity;
|
DWORD capacity;
|
||||||
char fill[8];
|
char fill[8];
|
||||||
} TextStruct_t;
|
} WxString_t;
|
||||||
|
Loading…
Reference in New Issue
Block a user