亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? plugin_one.cpp

?? 基于wince的智能嵌入式設備開發
?? CPP
字號:
// PlugIn_one.cpp : Defines the initialization routines for the DLL.
//


#include "stdafx.h"
#include "PlugIn_one.h"

#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif

//
//	Note!
//
//		If this DLL is dynamically linked against the MFC
//		DLLs, any functions exported from this DLL which
//		call into MFC must have the AFX_MANAGE_STATE macro
//		added at the very beginning of the function.
//
//		For example:
//
//		extern "C" BOOL PASCAL EXPORT ExportedFunction()
//		{
//			AFX_MANAGE_STATE(AfxGetStaticModuleState());
//			// normal function body here
//		}
//
//		It is very important that this macro appear in each
//		function, prior to any calls into MFC.  This means that
//		it must appear as the first statement within the 
//		function, even before any object variable declarations
//		as their constructors may generate calls into the MFC
//		DLL.
//
//		Please see MFC Technical Notes 33 and 58 for additional
//		details.
//

/////////////////////////////////////////////////////////////////////////////
// CPlugIn_oneApp
//定義按鈕標識
#define  ID_BUTTON_PLUGIN_CALC 12001
//定義插件名稱
const TCHAR szPlugName[] = _T("計算器");

#define PLUG_EXPORT __declspec(dllexport)
//初始化插件,這里主要設置主程序ToolBar指針
extern "C" PLUG_EXPORT UINT InitPlugIn(CToolBar *pWndToolbar);
//釋放插件,主要是刪除掉ToolBar上的按鈕
extern "C" PLUG_EXPORT void DestroyPlugIn();
//當點擊ToolBar上的按鈕事件
extern "C" PLUG_EXPORT void HandleOnClick(); 
//得到插件圖標和插件標題
extern "C" PLUG_EXPORT void GetPlugInResources(HICON *hIcon, CString *szLabel);
//得到插件名
extern "C" PLUG_EXPORT void GetPlugInName(CString *szPlugInName);


BEGIN_MESSAGE_MAP(CPlugIn_oneApp, CWinApp)
	//{{AFX_MSG_MAP(CPlugIn_oneApp)
		// NOTE - the ClassWizard will add and remove mapping macros here.
		//    DO NOT EDIT what you see in these blocks of generated code!
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// The one and only CPlugIn_oneApp object

CPlugIn_oneApp theApp;
/*
*函數介紹:初始化插件,這里主要設置主程序ToolBar指針
*入口參數:pWndToolBar : 指向主程序的ToolBar指針
*出口參數:無
*返回值:  無
*/
PLUG_EXPORT UINT InitPlugIn(CToolBar *pWndToolBar)
{
	AFX_MANAGE_STATE(AfxGetStaticModuleState());
	theApp.SetToolBarPointer(pWndToolBar);
	theApp.AddButtonToToolBar();

	return ID_BUTTON_PLUGIN_CALC;
}

/*
*函數介紹:釋放插件,主要是刪除掉ToolBar上的按鈕
*入口參數:無
*出口參數:無
*返回值:  無
*/
PLUG_EXPORT void DestroyPlugIn()
{
	AFX_MANAGE_STATE(AfxGetStaticModuleState());
	theApp.RemoveButtonFromToolBar();
}


/*
*函數介紹:當點擊ToolBar上的按鈕事件
*入口參數:無
*出口參數:無
*返回值:  無
*/
PLUG_EXPORT void HandleOnClick()
{
   AFX_MANAGE_STATE(AfxGetStaticModuleState());
    if (!theApp.WinExec(_T("calc")))
	{
		AfxMessageBox(_T("計算器程序未被執行"));
	}
}

/*
*函數介紹:得到插件圖標和插件標題
*入口參數:無
*出口參數:hIcon : 插件圖標句柄
           szLabel : 插件標題
*返回值:  無
*/
PLUG_EXPORT void GetPlugInResources(HICON *hIcon, CString *szLabel)
{
	hIcon = theApp.GetPlugInIcon();
	*szLabel = _T("計算器插件");
}

/*
*函數介紹:得到插件名
*入口參數:無
*出口參數:szPlugInName : 插件名
*返回值:  無
*/
PLUG_EXPORT void GetPlugInName(CString *szPlugInName)
{
	*szPlugInName = szPlugName;
}

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



/*
*函數介紹:用于設置主窗體工具欄指針
*入口參數:pWndToolBar : 指向主程序的ToolBar指針
*出口參數:無
*返回值:  無
*/
void CPlugIn_oneApp::SetToolBarPointer(CToolBar *pwndToolBar)
{
	m_pwndToolBar = pwndToolBar;
}

/*
*函數介紹:用于添加按鈕到主窗體工具欄上
*入口參數:無
*出口參數:無
*返回值:  無
*/
void CPlugIn_oneApp::AddButtonToToolBar()
{

	CToolBarCtrl& pToolbarCtrl = m_pwndToolBar->GetToolBarCtrl();

	//得到工具欄已有的按鈕數
	int nButCount = pToolbarCtrl.GetButtonCount();

	//將插件按鈕位圖添加到工具欄上
	int nImageCount = pToolbarCtrl.AddBitmap(1, IDB_PLUGIN_CALC);

	//定義一個新按鈕
	TBBUTTON tb;
	//設置按鈕按鈕圖片
	tb.iBitmap = nImageCount;
	//設置按鈕標識
	tb.idCommand = ID_BUTTON_PLUGIN_CALC;
	//設置按鈕狀態
	tb.fsState = TBSTATE_ENABLED;
	//設置按鈕演示
	tb.fsStyle = TBSTYLE_BUTTON;
	tb.dwData = 0;
	tb.iString = NULL;

	//將按鈕添加到工具欄上
	pToolbarCtrl.InsertButton(nImageCount, &tb);
}

/*
*函數介紹:用于從主窗體上刪除掉添加的按鈕
*入口參數:無
*出口參數:無
*返回值:  無
*/
void CPlugIn_oneApp::RemoveButtonFromToolBar()
{
	if (m_pwndToolBar != NULL)
	{
		CToolBarCtrl& pToolbarCtrl = m_pwndToolBar->GetToolBarCtrl();
		
		TBBUTTON tbButton;
		
		int nButtonCount = pToolbarCtrl.GetButtonCount();
		for (int i=0; i<nButtonCount; ++i)
		{
			pToolbarCtrl.GetButton(i, &tbButton);
			//當按鈕是本插件按鈕時,則刪除之。
			if (tbButton.idCommand == ID_BUTTON_PLUGIN_CALC)
			{
				pToolbarCtrl.DeleteButton(i);
				break;
			}
		}
	}
}

/*
*函數介紹:用于得到插件按鈕的標識
*入口參數:無
*出口參數:無
*返回值:  插件按鈕標識
*/
UINT CPlugIn_oneApp::GetToolBarButtonInfo(void)
{
	return ID_BUTTON_PLUGIN_CALC;
}

/*
*函數介紹:用于得到插件的圖標
*入口參數:pWndToolBar : 指向主程序的ToolBar指針
*出口參數:無
*返回值:  圖標句柄
*/
HICON *CPlugIn_oneApp::GetPlugInIcon(void)
{
	return (HICON *)LoadIcon(IDI_PLUGIN_CALC);
}
/*
*函數介紹:用于執行外部程序
*入口參數:FileName : 表示可執行文件名
*出口參數:無
*返回值:  TRUE:執行成功,FALSE:執行失敗
*/
bool CPlugIn_oneApp::WinExec(LPCTSTR FileName)
{
    PROCESS_INFORMATION processInfo; //進程相關信息
    if (!CreateProcess(FileName, NULL, NULL, NULL, NULL
      , CREATE_NEW_CONSOLE
      , NULL, NULL, NULL, &processInfo))
    {
		return false;
	}
    CloseHandle(processInfo.hThread);
	CloseHandle(processInfo.hProcess);
	return true ;
}


?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日韩欧美国产午夜精品| 国内精品视频一区二区三区八戒| 欧美v亚洲v综合ⅴ国产v| 欧美日韩一区 二区 三区 久久精品| 色婷婷亚洲精品| 成人性生交大片免费看在线播放 | 成人黄色免费短视频| 国产色91在线| 99re6这里只有精品视频在线观看| 亚洲色图在线看| 欧美挠脚心视频网站| 经典三级视频一区| 亚洲日本乱码在线观看| 欧美一区二区三区视频免费 | a级高清视频欧美日韩| 亚洲美女在线一区| 91精品国产综合久久久久| 国产麻豆一精品一av一免费| 亚洲欧洲日韩在线| 91精品国产一区二区| 成人看片黄a免费看在线| 亚洲国产中文字幕| 久久久久国产精品麻豆ai换脸| 99re视频精品| 美女爽到高潮91| 日韩一区有码在线| 欧美日韩在线播放三区四区| 极品少妇xxxx精品少妇| 亚洲图片另类小说| 欧美成人一区二区| 在线欧美日韩精品| 国产精品亚洲一区二区三区在线| 亚洲精品国产a久久久久久 | 欧美精品123区| 成人综合婷婷国产精品久久| 视频一区视频二区中文字幕| 中文一区二区完整视频在线观看| 欧美区视频在线观看| 成人av免费在线观看| 天天操天天综合网| 亚洲品质自拍视频| 久久久精品日韩欧美| 欧美日韩三级视频| 99国产精品久久久久久久久久| 久久精品国产在热久久| 亚洲一区二区av在线| 国产精品伦理在线| 久久久久久久精| 日韩一卡二卡三卡四卡| 在线观看成人小视频| 91在线观看高清| 国产成人免费视频精品含羞草妖精| 午夜天堂影视香蕉久久| 亚洲精选视频在线| 国产精品久久久久久久久图文区 | 亚洲欧洲在线观看av| 久久夜色精品一区| 91麻豆精品国产综合久久久久久| 色国产综合视频| 91女厕偷拍女厕偷拍高清| 国产成人综合自拍| 麻豆精品国产91久久久久久| 天天操天天综合网| 日韩激情一区二区| 亚洲一区视频在线| 一区二区三区资源| 亚洲青青青在线视频| 亚洲乱码精品一二三四区日韩在线| 久久久99精品免费观看不卡| 精品国免费一区二区三区| 欧美tk—视频vk| 欧美va亚洲va国产综合| 日韩欧美激情四射| 精品三级在线观看| 久久五月婷婷丁香社区| 精品久久久久久久久久久久久久久 | 亚洲精品一区二区三区99| 在线成人免费观看| 日韩欧美国产成人一区二区| 欧美日本视频在线| 91精品国产高清一区二区三区蜜臀| 欧美性猛交xxxxxxxx| 在线观看免费一区| 欧美色男人天堂| 91精品久久久久久蜜臀| 精品乱码亚洲一区二区不卡| 久久久久久久免费视频了| 久久久不卡网国产精品二区| 亚洲国产精品精华液ab| 日韩美女视频一区二区| 亚洲制服欧美中文字幕中文字幕| 亚洲午夜久久久久久久久久久 | 在线观看91视频| 在线成人小视频| 精品免费国产二区三区| 国产精品色一区二区三区| 尤物视频一区二区| 日韩av在线播放中文字幕| 精品一区二区三区影院在线午夜| 国产传媒欧美日韩成人| 色94色欧美sute亚洲线路一久| 欧美日韩视频在线第一区 | voyeur盗摄精品| 91在线你懂得| 欧美日韩国产系列| 精品国产污污免费网站入口 | 中日韩av电影| 亚洲综合999| 久久精品二区亚洲w码| 成人黄色一级视频| 91精选在线观看| 亚洲国产精品ⅴa在线观看| 亚洲一区国产视频| 国产尤物一区二区| 欧美自拍偷拍一区| 日产国产欧美视频一区精品| 精东粉嫩av免费一区二区三区| www.综合网.com| 日韩欧美中文字幕精品| 国产精品国产三级国产a | 蜜桃av一区二区| 99久久久无码国产精品| 欧美日韩视频在线一区二区| 欧美激情综合网| 日韩电影一区二区三区| 99久久国产综合精品女不卡| 欧美电影免费观看完整版| 一区二区三区电影在线播| 国产成人综合亚洲91猫咪| 欧美日韩久久一区| 国产精品久久网站| 久久精品国产精品青草| 欧美午夜寂寞影院| 中文一区二区完整视频在线观看| 免费欧美在线视频| 欧美性xxxxx极品少妇| 国产精品视频线看| 韩日av一区二区| 日韩一区二区在线看片| 一区二区三区精品久久久| 成人午夜视频福利| 久久伊99综合婷婷久久伊| 秋霞电影网一区二区| 在线看不卡av| 一区二区三区四区在线| 成人晚上爱看视频| 国产日产亚洲精品系列| 捆绑变态av一区二区三区| 欧美在线你懂得| 亚洲最色的网站| 91丨九色丨蝌蚪丨老版| 亚洲欧美综合另类在线卡通| 国产精品影视在线| 久久久久久影视| 激情伊人五月天久久综合| 日韩一区二区免费在线电影| 日韩制服丝袜先锋影音| 欧美三级韩国三级日本一级| 亚洲精品成人精品456| 91性感美女视频| 亚洲欧美二区三区| 91视频免费看| 亚洲激情在线播放| 欧洲一区二区av| 亚洲123区在线观看| 欧美日韩久久久久久| 日韩精品一二三区| 日韩欧美国产一区二区三区| 激情五月激情综合网| 精品1区2区在线观看| 国产不卡免费视频| 亚洲国产成人私人影院tom | 韩国欧美国产1区| 久久众筹精品私拍模特| 国产一区二区在线观看视频| 国产色一区二区| 9久草视频在线视频精品| 亚洲丝袜精品丝袜在线| 在线观看亚洲成人| 午夜av区久久| 精品久久一区二区三区| 国产99久久久国产精品| 亚洲品质自拍视频| 6080yy午夜一二三区久久| 久久99国产乱子伦精品免费| 久久久噜噜噜久久中文字幕色伊伊| 高清不卡一区二区在线| 亚洲精选免费视频| 欧美一区二区三区在线观看 | 国产精品一品二品| 中文字幕一区二区三中文字幕| 99久久精品国产麻豆演员表| 亚洲一区二区av电影| 精品国产乱码久久| av男人天堂一区| 日韩激情视频网站| 久久久99精品久久| 欧美综合色免费| 韩日精品视频一区| 一区二区三区在线影院|