⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 outlooktools.cpp

📁 是用MAPI 实现对OUTLOOK 收发邮件的监控
💻 CPP
字号:
// OutlookTools.cpp : Defines the initialization routines for the DLL.
//

#include "stdafx.h"
#include "OutlookTools.h"
#include "oltools.h"

#ifdef _DEBUG
#define new DEBUG_NEW
#endif


// COutlookToolsApp

BEGIN_MESSAGE_MAP(COutlookToolsApp, CWinApp)
END_MESSAGE_MAP()


// COutlookToolsApp construction

COutlookToolsApp::COutlookToolsApp()
{
	// TODO: add construction code here,
	// Place all significant initialization in InitInstance
}


// The one and only COutlookToolsApp object

COutlookToolsApp theApp;


// COutlookToolsApp initialization

BOOL COutlookToolsApp::InitInstance()
{
	CWinApp::InitInstance();

	return TRUE;
}

LPEXCHEXT CALLBACK ExchEntryPoint()
{
	AFX_MANAGE_STATE(AfxGetStaticModuleState());
	COLTools *pExt = new COLTools;
	return pExt;
}

STDAPI DllRegisterServer()
{
	AFX_MANAGE_STATE(AfxGetStaticModuleState());
	char szFileName[MAX_PATH]={0};
	DWORD dwPath = GetModuleFileName(AfxGetInstanceHandle(), szFileName, _MAX_PATH ); 
	if (dwPath != 0)
	{
		CString csName = OLEXT_NAME;
		char szModuleFileNameShort[512]={0};
		GetShortPathName(szFileName,szModuleFileNameShort,512);

		HKEY  hKey			= NULL;
		if (RegOpenKeyEx(HKEY_LOCAL_MACHINE, 
							"SOFTWARE\\Microsoft\\Exchange\\Client\\Extensions",
							0L,  
							KEY_WRITE, 
							&hKey)==ERROR_SUCCESS)
		{
			char szExtensionValue[_MAX_PATH + 100];
			sprintf(szExtensionValue,"4.0;%s;1;11111111111111;1111111",szModuleFileNameShort);
			if (RegSetValueEx(hKey, 
								csName.GetBuffer(0),
								0L, 
								REG_SZ,
								(unsigned char*)szExtensionValue, 
								(DWORD)strlen(szExtensionValue))!=ERROR_SUCCESS)
			{
				RegCloseKey(hKey);
				return FALSE;
			}
			char szUpdateRegistry[] = "4.0;Outxxx.dll;7;00000000000000;0000000;OutXXX";
			if (RegSetValueEx(hKey, 
								"Outlook Setup Extension",
								0L, 
								REG_SZ,
								(unsigned char*)szUpdateRegistry, 
								(DWORD)strlen(szUpdateRegistry))!=ERROR_SUCCESS)
			{
				RegCloseKey(hKey);
				return FALSE;
			}		
			RegCloseKey(hKey);
		}
	}

	return S_OK;
}

STDAPI DllUnregisterServer()
{
	AFX_MANAGE_STATE(AfxGetStaticModuleState());
	CString csName = OLEXT_NAME;
	HKEY  hKey			= NULL;
	if (RegOpenKeyEx(HKEY_LOCAL_MACHINE, 
					 "SOFTWARE\\Microsoft\\Exchange\\Client\\Extensions",
					 0L,  
					 KEY_ALL_ACCESS, 
					 &hKey)==ERROR_SUCCESS)
	{
		if (RegDeleteValue(hKey,csName.GetBuffer(0))!=ERROR_SUCCESS)
		{
			RegCloseKey(hKey);
			return FALSE;
		}

		char szUpdateRegistry[] = "4.0;Outxxx.dll;7;00000000000000;0000000;OutXXX";
		if (RegSetValueEx(hKey, 
						  "Outlook Setup Extension",
						  0L, 
						  REG_SZ,
						  (unsigned char*)szUpdateRegistry, 
						  (DWORD)strlen(szUpdateRegistry))!=ERROR_SUCCESS)
		{
			RegCloseKey(hKey);
			return FALSE;
		}
		RegCloseKey(hKey);
	}

	return S_OK;
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -