WeChatRobot.h 3.4 KB
Newer Older
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58
// WeChatRobot.h: CWeChatRobot 的声明

#pragma once
#include "resource.h"       // 主符号



#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

class ATL_NO_VTABLE CWeChatRobot :
	public CComObjectRootEx<CComSingleThreadModel>,
	public CComCoClass<CWeChatRobot, &CLSID_WeChatRobot>,
	public IDispatchImpl<IWeChatRobot, &IID_IWeChatRobot, &LIBID_WeChatRobotCOMLib, /*wMajor =*/ 1, /*wMinor =*/ 0>
{
public:
	CWeChatRobot()
	{
	}

DECLARE_REGISTRY_RESOURCEID(106)


BEGIN_COM_MAP(CWeChatRobot)
	COM_INTERFACE_ENTRY(IWeChatRobot)
	COM_INTERFACE_ENTRY(IDispatch)
END_COM_MAP()



	DECLARE_PROTECT_FINAL_CONSTRUCT()

	HRESULT FinalConstruct()
	{
		return S_OK;
	}

	void FinalRelease()
	{
	}

public:

	STDMETHODIMP CStartRobotService(int* __result);
	STDMETHODIMP CStopRobotService(int* __result);
	STDMETHODIMP CSendImage(BSTR wxid, BSTR imagepath, int* __result);
	STDMETHODIMP CSendText(BSTR wxid, BSTR wxmsg, int* __result);
	STDMETHODIMP CSendFile(BSTR wxid, BSTR filepath, int* __result);
L
ljc545w 已提交
59
	STDMETHODIMP CSendArticle(BSTR wxid, BSTR title, BSTR abstract, BSTR url, BSTR imgpath, int* __result);
60
	STDMETHODIMP CSendCard(BSTR receiver, BSTR sharedwxid, BSTR nickname, int* __result);
L
ljc545w 已提交
61
	STDMETHODIMP CSendAtText(BSTR chatroomid, VARIANT* wxid, BSTR wxmsg, BOOL AutoNickName, int* __result);
L
ljc545w 已提交
62 63
	STDMETHODIMP CGetFriendList(VARIANT* __result);
	STDMETHODIMP CGetFriendListString(BSTR* __result);
64 65 66 67
	STDMETHODIMP CGetWxUserInfo(BSTR wxid, BSTR* __result);
	STDMETHODIMP CGetSelfInfo(BSTR* __result);
	STDMETHODIMP CCheckFriendStatus(BSTR wxid, int* __result);
	STDMETHODIMP CGetComWorkPath(BSTR* __result);
L
ljc545w 已提交
68
	STDMETHODIMP CStartReceiveMessage(int port, int* __result);
69
	STDMETHODIMP CStopReceiveMessage(int* __result);
L
ljc545w 已提交
70
	STDMETHODIMP CGetChatRoomMembers(BSTR chatroomid, VARIANT* __result);
L
ljc545w 已提交
71 72 73
	STDMETHODIMP CGetDbHandles(VARIANT* __result);
	STDMETHODIMP CExecuteSQL(DWORD DbHandle, BSTR sql, VARIANT* __result);
	STDMETHODIMP CBackupSQLiteDB(DWORD DbHandle, BSTR savepath, int* __result);
L
ljc545w 已提交
74
	STDMETHODIMP CVerifyFriendApply(BSTR v3, BSTR v4, int* __result);
L
ljc545w 已提交
75 76
	STDMETHODIMP CAddFriendByWxid(BSTR wxid, BSTR message, int* __result);
	STDMETHODIMP CAddFriendByV3(BSTR v3, BSTR message, int AddType, int* __result);
L
ljc545w 已提交
77 78
	STDMETHODIMP CGetWeChatVer(BSTR* __result);
	STDMETHODIMP CStartWeChat(int* __result);
L
ljc545w 已提交
79
	STDMETHODIMP CSearchContactByNet(BSTR keyword, VARIANT* __result);
L
ljc545w 已提交
80
	STDMETHODIMP CAddBrandContact(BSTR PublicId, int* __result);
L
ljc545w 已提交
81 82 83 84 85
	STDMETHODIMP CHookVoiceMsg(BSTR savepath, int* __result);
	STDMETHODIMP CUnHookVoiceMsg(int* __result);
	STDMETHODIMP CHookImageMsg(BSTR savepath, int* __result);
	STDMETHODIMP CUnHookImageMsg(int* __result);
	STDMETHODIMP CChangeWeChatVer(BSTR verStr, int* __result);
L
ljc545w 已提交
86 87
	STDMETHODIMP CSendAppMsg(BSTR wxid, BSTR appid, int* __result);
	STDMETHODIMP CDeleteUser(BSTR wxid, int* __result);
L
ljc545w 已提交
88
	STDMETHODIMP CIsWxLogin(int* __result);
89 90 91
};

OBJECT_ENTRY_AUTO(__uuidof(WeChatRobot), CWeChatRobot)