WeChatRobot.h 5.3 KB
Newer Older
1 2 3
// WeChatRobot.h: CWeChatRobot 的声明

#pragma once
L
ljc545w 已提交
4
#include "resource.h" // 主符号
5 6 7 8 9 10 11 12 13 14 15

#include "WeChatRobotCOM_i.h"

#if defined(_WIN32_WCE) && !defined(_CE_DCOM) && !defined(_CE_ALLOW_SINGLE_THREADED_OBJECTS_IN_MTA)
#error "Windows CE 平台(如不提供完全 DCOM 支持的 Windows Mobile 平台)上无法正确支持单线程 COM 对象。定义 _CE_ALLOW_SINGLE_THREADED_OBJECTS_IN_MTA 可强制 ATL 支持创建单线程 COM 对象实现并允许使用其单线程 COM 对象实现。rgs 文件中的线程模型已被设置为“Free”,原因是该模型是非 DCOM Windows CE 平台支持的唯一线程模型。"
#endif

using namespace ATL;

// CWeChatRobot

L
ljc545w 已提交
16 17 18
class ATL_NO_VTABLE CWeChatRobot : public CComObjectRootEx<CComSingleThreadModel>,
                                   public CComCoClass<CWeChatRobot, &CLSID_WeChatRobot>,
                                   public IDispatchImpl<IWeChatRobot, &IID_IWeChatRobot, &LIBID_WeChatRobotCOMLib, /*wMajor =*/1, /*wMinor =*/0>
19 20
{
public:
L
ljc545w 已提交
21 22 23
    CWeChatRobot()
    {
    }
24

L
ljc545w 已提交
25
    DECLARE_REGISTRY_RESOURCEID(106)
26

L
ljc545w 已提交
27 28 29 30
    BEGIN_COM_MAP(CWeChatRobot)
    COM_INTERFACE_ENTRY(IWeChatRobot)
    COM_INTERFACE_ENTRY(IDispatch)
    END_COM_MAP()
31

L
ljc545w 已提交
32
    DECLARE_PROTECT_FINAL_CONSTRUCT()
33

L
ljc545w 已提交
34 35 36 37
    HRESULT FinalConstruct()
    {
        return S_OK;
    }
38

L
ljc545w 已提交
39 40 41
    void FinalRelease()
    {
    }
42 43

public:
L
ljc545w 已提交
44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87
    STDMETHODIMP CStartRobotService(DWORD pid, int *__result);
    STDMETHODIMP CStopRobotService(DWORD pid, int *__result);
    STDMETHODIMP CSendImage(DWORD pid, BSTR wxid, BSTR imagepath, int *__result);
    STDMETHODIMP CSendText(DWORD pid, BSTR wxid, BSTR wxmsg, int *__result);
    STDMETHODIMP CSendFile(DWORD pid, BSTR wxid, BSTR filepath, int *__result);
    STDMETHODIMP CSendArticle(DWORD pid, BSTR wxid, BSTR title, BSTR abstract, BSTR url, BSTR imgpath, int *__result);
    STDMETHODIMP CSendCard(DWORD pid, BSTR receiver, BSTR sharedwxid, BSTR nickname, int *__result);
    STDMETHODIMP CSendAtText(DWORD pid, BSTR chatroomid, VARIANT *wxid, BSTR wxmsg, BOOL AutoNickName, int *__result);
    STDMETHODIMP CGetFriendList(DWORD pid, VARIANT *__result);
    STDMETHODIMP CGetFriendListString(DWORD pid, BSTR *__result);
    STDMETHODIMP CGetWxUserInfo(DWORD pid, BSTR wxid, BSTR *__result);
    STDMETHODIMP CGetSelfInfo(DWORD pid, BSTR *__result);
    STDMETHODIMP CCheckFriendStatus(DWORD pid, BSTR wxid, int *__result);
    STDMETHODIMP CGetComWorkPath(BSTR *__result);
    STDMETHODIMP CStartReceiveMessage(DWORD pid, int port, int *__result);
    STDMETHODIMP CStopReceiveMessage(DWORD pid, int *__result);
    STDMETHODIMP CGetChatRoomMembers(DWORD pid, BSTR chatroomid, VARIANT *__result);
    STDMETHODIMP CGetDbHandles(DWORD pid, VARIANT *__result);
    STDMETHODIMP CExecuteSQL(DWORD pid, DWORD DbHandle, BSTR sql, VARIANT *__result);
    STDMETHODIMP CBackupSQLiteDB(DWORD pid, DWORD DbHandle, BSTR savepath, int *__result);
    STDMETHODIMP CVerifyFriendApply(DWORD pid, BSTR v3, BSTR v4, int *__result);
    STDMETHODIMP CAddFriendByWxid(DWORD pid, BSTR wxid, BSTR message, int *__result);
    STDMETHODIMP CAddFriendByV3(DWORD pid, BSTR v3, BSTR message, int AddType, int *__result);
    STDMETHODIMP CGetWeChatVer(BSTR *__result);
    STDMETHODIMP CStartWeChat(int *__result);
    STDMETHODIMP CSearchContactByNet(DWORD pid, BSTR keyword, VARIANT *__result);
    STDMETHODIMP CAddBrandContact(DWORD pid, BSTR PublicId, int *__result);
    STDMETHODIMP CHookVoiceMsg(DWORD pid, BSTR savepath, int *__result);
    STDMETHODIMP CUnHookVoiceMsg(DWORD pid, int *__result);
    STDMETHODIMP CHookImageMsg(DWORD pid, BSTR savepath, int *__result);
    STDMETHODIMP CUnHookImageMsg(DWORD pid, int *__result);
    STDMETHODIMP CChangeWeChatVer(DWORD pid, BSTR verStr, int *__result);
    STDMETHODIMP CSendAppMsg(DWORD pid, BSTR wxid, BSTR appid, int *__result);
    STDMETHODIMP CDeleteUser(DWORD pid, BSTR wxid, int *__result);
    STDMETHODIMP CIsWxLogin(DWORD pid, int *__result);
    STDMETHODIMP CEditRemark(DWORD pid, BSTR wxid, BSTR remark, int *__result);
    STDMETHODIMP CSetChatRoomName(DWORD pid, BSTR chatroomid, BSTR name, int *__result);
    STDMETHODIMP CSetChatRoomAnnouncement(DWORD pid, BSTR chatroomid, BSTR announcement, int *__result);
    STDMETHODIMP CSetChatRoomSelfNickname(DWORD pid, BSTR chatroomid, BSTR nickname, int *__result);
    STDMETHODIMP CGetChatRoomMemberNickname(DWORD pid, BSTR chatroomid, BSTR wxid, BSTR *__result);
    STDMETHODIMP CDelChatRoomMember(DWORD pid, BSTR chatroomid, VARIANT *wxids, int *__result);
    STDMETHODIMP CAddChatRoomMember(DWORD pid, BSTR chatroomid, VARIANT *wxids, int *__result);
    STDMETHODIMP COpenBrowser(DWORD pid, BSTR url, int *__result);
    STDMETHODIMP CGetHistoryPublicMsg(DWORD pid, BSTR PublicId, BSTR Offset, VARIANT *__result);
88 89
    STDMETHODIMP CForwardMessage(DWORD pid, BSTR wxid, ULONG64 msgid, int *__result);
    STDMETHODIMP CGetQrcodeImage(DWORD pid, VARIANT *__result);
L
ljc545w 已提交
90
    STDMETHODIMP CGetA8Key(DWORD pid, BSTR url, BSTR *__result);
L
ljc545w 已提交
91 92
    STDMETHODIMP CSendXmlMsg(DWORD pid, BSTR wxid, BSTR xml, BSTR imgpath, int *__result);
    STDMETHODIMP CLogout(DWORD pid, int *__result);
L
ljc545w 已提交
93
    STDMETHODIMP CGetTransfer(DWORD pid, BSTR wxid, BSTR transcationid, BSTR transferid, int *__result);
L
ljc545w 已提交
94 95
    STDMETHODIMP CSendEmotion(DWORD pid, BSTR wxid, BSTR img_path, int *__result);
    STDMETHODIMP CWeChatRobot::CGetMsgCDN(DWORD pid, ULONG64 msgid, BSTR *__result);
96 97 98
};

OBJECT_ENTRY_AUTO(__uuidof(WeChatRobot), CWeChatRobot)