Source code of Windows XP (NT5)
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
//+---------------------------------------------------------------------------
//
// Microsoft Windows
// Copyright (C) Microsoft Corporation, 1997-2001.
//
// File: App.cpp
//
// Contents:
//
//----------------------------------------------------------------------------
// App.cpp : Implementation of CSendConsoleMessageApp snapin
#include "stdafx.h"
#include "debug.h"
#include "util.h"
#include "resource.h"
#include "SendCMsg.h"
#include "dialogs.h"
#include "App.h"
// Menu IDs
#define cmSendConsoleMessage 100 // Menu Command Id to invoke the dialog
/////////////////////////////////////////////////////////////////////
// CSendConsoleMessageApp::IExtendContextMenu::AddMenuItems()
STDMETHODIMP CSendConsoleMessageApp::AddMenuItems( IN IDataObject * /*pDataObject*/, OUT IContextMenuCallback * pContextMenuCallback, INOUT long * /*pInsertionAllowed*/) { HRESULT hr; CONTEXTMENUITEM cmiSeparator = { 0 }; cmiSeparator.lInsertionPointID = CCM_INSERTIONPOINTID_3RDPARTY_TASK; cmiSeparator.fSpecialFlags = CCM_SPECIAL_SEPARATOR; hr = pContextMenuCallback->AddItem(IN &cmiSeparator); Assert(SUCCEEDED(hr)); TCHAR szMenuItem[128]; TCHAR szStatusBarText[256]; CchLoadString(IDS_MENU_SEND_MESSAGE, OUT szMenuItem, LENGTH(szMenuItem)); CchLoadString(IDS_STATUS_SEND_MESSAGE, OUT szStatusBarText, LENGTH(szStatusBarText)); CONTEXTMENUITEM cmi = { 0 }; cmi.lInsertionPointID = CCM_INSERTIONPOINTID_3RDPARTY_TASK; cmi.lCommandID = cmSendConsoleMessage; cmi.strName = szMenuItem; cmi.strStatusBarText = szStatusBarText; hr = pContextMenuCallback->AddItem(IN &cmi); Assert(SUCCEEDED(hr));
hr = pContextMenuCallback->AddItem(IN &cmiSeparator); Assert(SUCCEEDED(hr)); return S_OK; }
/////////////////////////////////////////////////////////////////////
// CSendConsoleMessageApp::IExtendContextMenu::Command()
STDMETHODIMP CSendConsoleMessageApp::Command(LONG lCommandID, IDataObject * pDataObject) { if (lCommandID == cmSendConsoleMessage) { (void)DoDialogBox( IDD_SEND_CONSOLE_MESSAGE, ::GetActiveWindow(), (DLGPROC)CSendConsoleMessageDlg::DlgProc, (LPARAM)pDataObject); } return S_OK; }
|