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

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

?? guidemo.cpp

?? 可以檢測到插入到USB的設備的插入或者拔出
?? CPP
字號:
// GUIDEMO.cpp : implementation file
//

#include "stdafx.h"
#include "usbdetectid.h"
#include "GUIDEMO.h"

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

/////////////////////////////////////////////////////////////////////////////
// CGUIDEMO dialog


CGUIDEMO::CGUIDEMO(CWnd* pParent /*=NULL*/)
	: CBitmapDialog(CGUIDEMO::IDD, pParent)
//	: CBkDialog(CGUIDEMO::IDD, pParent)
{
	//{{AFX_DATA_INIT(CGUIDEMO)
	//}}AFX_DATA_INIT
	//m_bFirstTime = TRUE;

}


void CGUIDEMO::DoDataExchange(CDataExchange* pDX)
{
	CBitmapDialog::DoDataExchange(pDX);
	//CBkDialog::DoDataExchange(pDX);
	//{{AFX_DATA_MAP(CGUIDEMO)
	DDX_Control(pDX, IDC_BUTTON_BTN9, m_btn9);
	DDX_Control(pDX, IDC_BUTTON_BTN8, m_btn8);
	DDX_Control(pDX, IDC_BUTTON_BTN7, m_btn7);
	DDX_Control(pDX, IDC_BUTTON_BTN6, m_btn6);
	DDX_Control(pDX, IDC_BUTTON_BTN5, m_btn5);
	DDX_Control(pDX, IDC_BUTTON_BTN4, m_btn4);
	DDX_Control(pDX, IDC_BUTTON_BTN3, m_btn3);
	DDX_Control(pDX, IDC_BUTTON_BTN2, m_btn2);
	DDX_Control(pDX, IDC_BUTTON_BTN10, m_btn10);
	DDX_Control(pDX, IDC_BUTTON_BTN1, m_btn1);
	DDX_Control(pDX, IDCANCEL, m_btnCancel);
	//}}AFX_DATA_MAP
}


BEGIN_MESSAGE_MAP(CGUIDEMO, CBitmapDialog)
	//{{AFX_MSG_MAP(CGUIDEMO)
	ON_BN_CLICKED(IDC_BUTTON_BTN1, OnButtonBtn1)
	ON_BN_CLICKED(IDC_BUTTON_BTN2, OnButtonBtn2)
	ON_BN_CLICKED(IDC_BUTTON_BTN3, OnButtonBtn3)
	ON_BN_CLICKED(IDC_BUTTON_BTN4, OnButtonBtn4)
	ON_BN_CLICKED(IDC_BUTTON_BTN5, OnButtonBtn5)
	ON_BN_CLICKED(IDC_BUTTON_BTN6, OnButtonBtn6)
	ON_BN_CLICKED(IDC_BUTTON_BTN7, OnButtonBtn7)
	ON_BN_CLICKED(IDC_BUTTON_BTN8, OnButtonBtn8)
	ON_BN_CLICKED(IDC_BUTTON_BTN9, OnButtonBtn9)
	ON_BN_CLICKED(IDC_BUTTON_BTN10, OnButtonBtn10)
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CGUIDEMO message handlers

BOOL CGUIDEMO::OnInitDialog() 
{
	CBitmapDialog::OnInitDialog();
	
	// TODO: Add extra initialization here
	/*
	CBitmap m_bitmap; //建立一個位圖對象
	HBITMAP hbitmap;//建立一個位圖句柄
	hbitmap =(HBITMAP)::LoadImage(NULL,"test.bmp",IMAGE_BITMAP,0,0,LR_LOADFROMFILE);
	m_bitmap.DeleteObject(); //調用CGdiObject的DeleteObject函數將以前的BITMAP對象刪除。
	m_bitmap.Attach(hbitmap);//把得到的位圖句柄附到m_bitmap對象。
	*/

	// 首先找出檢查到的ID
	bool bFoundID = false;
	for (UINT j = 0; j < g_nTotalDetectNum; ++j)
	{
		if (g_pUsbID[j].m_bFound)
		{
			bFoundID = true;
			break;
		}
	}
	
	if (!bFoundID)
	{
		j = 0;
	}

	struUSB_ID &UsbId = g_pUsbID[j];
	g_nCurUsbId = j;

	if (LoadBitmap(NULL, UsbId.m_szBKfile))
	{
		CBitmap *bmp = GetBitmap ();

		BITMAP bm;
		bmp->GetBitmap (&bm);

		m_nWidth = bm.bmWidth;
		m_nHeight = bm.bmHeight;

		RECT rWorkArea;
		BOOL bResult = SystemParametersInfo(SPI_GETWORKAREA,  
							sizeof(RECT),
							&rWorkArea,
							0);    
		CRect rcWA;
		if(!bResult)
		{//如果調用不成功就利用GetSystemMetrics獲取屏幕面積
			int iSX=GetSystemMetrics(SM_CXFULLSCREEN);
			int iSY=GetSystemMetrics(SM_CYFULLSCREEN);
			rcWA=CRect(0,0,iSX,iSY);
		}
		else
			rcWA=rWorkArea;

		int xc = rcWA.right - m_nWidth;
		if (xc < 0) xc = rcWA.right;

		int yc = rcWA.bottom - m_nHeight;
		if (yc < 0) yc = 0;

		SetWindowPos(&wndTop,xc/2,yc/2, m_nWidth, m_nHeight, SWP_SHOWWINDOW);
	}

	SetClickAnywhereMove (TRUE);

// init button
	InItButton(m_btn1, UsbId.m_pButtonSet[0].m_szBmpFileName,0, UsbId);
	InItButton(m_btn2, UsbId.m_pButtonSet[1].m_szBmpFileName,1, UsbId);
	InItButton(m_btn3, UsbId.m_pButtonSet[2].m_szBmpFileName,2, UsbId);
	InItButton(m_btn4, UsbId.m_pButtonSet[3].m_szBmpFileName,3, UsbId);
	InItButton(m_btn5, UsbId.m_pButtonSet[4].m_szBmpFileName,4, UsbId);
	InItButton(m_btn6, UsbId.m_pButtonSet[5].m_szBmpFileName,5, UsbId);
	InItButton(m_btn7, UsbId.m_pButtonSet[6].m_szBmpFileName,6, UsbId);
	InItButton(m_btn8, UsbId.m_pButtonSet[7].m_szBmpFileName,7, UsbId);
	InItButton(m_btn9, UsbId.m_pButtonSet[8].m_szBmpFileName,8, UsbId);
	InItButton(m_btn10, UsbId.m_pButtonSet[9].m_szBmpFileName,9, UsbId);

	if (UsbId.m_szExitfile[0])
	{
		InItButton(m_btnCancel, UsbId.m_szExitfile,10, UsbId);
	}
	else
	{
		m_btnCancel.SetBitmaps(IDB_BITMAP_EXIT, RGB(0, 0, 255));
		m_btnCancel.DrawBorder(FALSE, FALSE);
	}

	if (UsbId.m_szSound)
	{
		m_btnCancel.SetSound (UsbId.m_szSound, NULL);
	}

	SetWindowText("USB Util");
	SetForegroundWindow();

	return TRUE;  // return TRUE unless you set the focus to a control
	              // EXCEPTION: OCX Property Pages should return FALSE
}


struct struButtonPos
{
	UINT	m_nLeft;
	UINT	m_nTop;
};

struButtonPos ButtonPos[11] = 
{
	{52,43},
	{52,85},
	{52,127},
	{52,166},
	{52,210},

	{178,43},
	{178,85},
	{178,127},
	{178,166},
	{178,210},

	{268,332}
};

int g_nOrgWidth = 360;
int g_nOrgHigth = 385;


void	CGUIDEMO::InItButton(CButtonST &btn, char *szBmpFileName, int nBtnIdx, struUSB_ID &UsbId)
{
	btn.ShowWindow(SW_HIDE);

	if (!szBmpFileName || !szBmpFileName[0])
		return;

	HBITMAP hbitmap_btn;
	hbitmap_btn = (HBITMAP)::LoadImage (NULL, szBmpFileName, IMAGE_BITMAP, 0, 0, LR_LOADFROMFILE);

	if (!hbitmap_btn)
	{
		CString strMsg;
		strMsg.Format ("Can't load %s!", szBmpFileName);
		AfxMessageBox(strMsg);
	}
	else
	{
		btn.ShowWindow(SW_SHOW);
		btn.SetBitmaps(hbitmap_btn, RGB(0, 0, 255));
		//m_btnBanner1.SetBitmaps(IDB_BITMAP_BANNER1, RGB(0, 0, 255));
		btn.DrawBorder(FALSE, FALSE);

		CBitmap	*bmBitmap = CBitmap::FromHandle (hbitmap_btn);

		BITMAP bm;
		bmBitmap->GetBitmap (&bm);

		int width = bm.bmWidth;
		int heigth = bm.bmHeight;

		int	x = (m_nWidth * ButtonPos[nBtnIdx].m_nLeft) / g_nOrgWidth;
		int	y = (m_nHeight* ButtonPos[nBtnIdx].m_nTop) / g_nOrgHigth;

		btn.MoveWindow(x,y,width,heigth);
	}

	if (UsbId.m_szSound)
	{
		btn.SetSound (UsbId.m_szSound, NULL);
	}

	//int shBtnColor = 30;
	//btn.OffsetColor(CButtonST::BTNST_COLOR_BK_IN, shBtnColor);
	//btn.SetColor(CButtonST::BTNST_COLOR_FG_IN, RGB(0, 128, 0));
	//btn.SetAlign(CButtonST::ST_ALIGN_HORIZ_RIGHT);
}

void CGUIDEMO::ExeAct(int nEntry)
{
	char *szAct = g_pUsbID[g_nCurUsbId].m_pButtonSet[nEntry].m_szact;

	if (!szAct || !szAct[0])
		return;

/*
	if (!strncmp (szAct, "URL ", 4))
	{
		GotoURL(&szAct[4], SW_SHOW, "htm");
	}
	else if (!strncmp (szAct, "PDF ", 4))
	{
		GotoURL(&szAct[4], SW_SHOW, "pdf");
	}
*/
	if (!strncmp (szAct, "FILE ", 5))
	{
		char *szFileExt = GetFileExt(&szAct[5]);

		GotoURL(&szAct[5], SW_SHOW, szFileExt);
	}
	else if (!strncmp (szAct, "MENU", 4))
	{
		OnMenu(nEntry);
	}
	else if (!strncmp (szAct, "EXEC ", 5))
	{
		WinExec(&szAct[5], SW_SHOW);
	}
}

LONG CGUIDEMO::GetRegKey(HKEY key, LPCTSTR subkey, LPTSTR retdata)
{
    HKEY hkey;
    LONG retval = RegOpenKeyEx(key, subkey, 0, KEY_QUERY_VALUE, &hkey);

    if (retval == ERROR_SUCCESS) {
        long datasize = MAX_PATH;
        TCHAR data[MAX_PATH];
        RegQueryValue(hkey, NULL, data, &datasize);
        lstrcpy(retdata,data);
        RegCloseKey(hkey);
    }

    return retval;
}


HINSTANCE CGUIDEMO::GotoURL(LPCTSTR url, int showcmd, char *szType)
{
    TCHAR key[MAX_PATH + MAX_PATH];

    // First try ShellExecute()
    HINSTANCE result = ShellExecute(NULL, _T("open"), url, NULL,NULL, showcmd);

    // If it failed, get the .htm regkey and lookup the program
    if ((UINT)result <= HINSTANCE_ERROR) {

		if (!szType || !szType[0])
			return 0;

		char szThisType[_MAX_PATH];
		strcpy (szThisType, ".");
		strcat (szThisType, szType);

        if (GetRegKey(HKEY_CLASSES_ROOT, szThisType, key) == ERROR_SUCCESS) {
            lstrcat(key, _T("\\shell\\open\\command"));

            if (GetRegKey(HKEY_CLASSES_ROOT,key,key) == ERROR_SUCCESS) {
                TCHAR *pos;
                pos = _tcsstr(key, _T("\"%1\""));
                if (pos == NULL) {                     // No quotes found
                    pos = _tcsstr(key, _T("%1"));       // Check for %1, without quotes 
                    if (pos == NULL)                   // No parameter at all...
                        pos = key+lstrlen(key)-1;
                    else
                        *pos = '\0';                   // Remove the parameter
                }
                else
                    *pos = '\0';                       // Remove the parameter

                lstrcat(pos, _T(" "));
                lstrcat(pos, url);

#ifdef _UNICODE
                USES_CONVERSION;
                result = (HINSTANCE) WinExec(T2A(key),showcmd);
#else
                result = (HINSTANCE) WinExec(key,showcmd);
#endif
            }
        }
    }

    return result;
}


void CGUIDEMO::OnButtonBtn1() 
{
	// TODO: Add your control notification handler code here
	ExeAct(0);
}

void CGUIDEMO::OnButtonBtn2() 
{
	// TODO: Add your control notification handler code here
	ExeAct(1);
}

void CGUIDEMO::OnButtonBtn3() 
{
	// TODO: Add your control notification handler code here
	ExeAct(2);
}

void CGUIDEMO::OnButtonBtn4() 
{
	// TODO: Add your control notification handler code here
	ExeAct(3);
}

void CGUIDEMO::OnButtonBtn5() 
{
	// TODO: Add your control notification handler code here
	ExeAct(4);
}

void CGUIDEMO::OnButtonBtn6() 
{
	// TODO: Add your control notification handler code here
	ExeAct(5);
}

void CGUIDEMO::OnButtonBtn7() 
{
	// TODO: Add your control notification handler code here
	ExeAct(6);
}

void CGUIDEMO::OnButtonBtn8() 
{
	// TODO: Add your control notification handler code here
	ExeAct(7);
	
}

void CGUIDEMO::OnButtonBtn9() 
{
	// TODO: Add your control notification handler code here
	ExeAct(8);
}

void CGUIDEMO::OnButtonBtn10() 
{
	// TODO: Add your control notification handler code here
	ExeAct(9);
}

void CGUIDEMO::OnMenu(int nEntry) 
{
	// TODO: Add your control notification handler code here
	UINT nMenuItem = 2;

	if (!(nMenuItem > 0))
		return;

	CMenu menu;
	int pMenuID = 0;
	DWORD SelectionMade;
	
	// Create a new menu for the application window.
	VERIFY(menu.CreateMenu());

	CMenu	m_PopMenu;
	VERIFY(m_PopMenu.CreatePopupMenu());

    // insert a separator item at the top
    //m_PopMenu.InsertMenu(0, MF_BYPOSITION | MF_SEPARATOR, 0, "title");
    //m_PopMenu.InsertMenu(0, MF_BYPOSITION | MF_STRING | MF_DISABLED, 0, "menu");
    SetMenuDefaultItem(m_PopMenu.m_hMenu, 0, TRUE);

	//g_pMenuSet[i].m_aMenuStr.Add(szTmpMenuItem);
	//g_pMenuSet[i].m_aMenuAct.Add(szTmpMenuAct);


	for (int i = 0; i < g_pUsbID[g_nCurUsbId].m_pMenuSet[nEntry].m_aMenuStr.GetSize(); i++)
	{
		CString strName;
		strName.Format("%s", g_pUsbID[g_nCurUsbId].m_pMenuSet[nEntry].m_aMenuStr[i]);

		m_PopMenu.AppendMenu(MF_STRING, i+100, (LPCTSTR)strName);
	}

	menu.AppendMenu(MF_POPUP, (UINT) m_PopMenu.m_hMenu, "&Popup");
	
	CMenu* pPopup = menu.GetSubMenu(pMenuID);
	ASSERT(pPopup != NULL);
	
	POINT pp;
	GetCursorPos(&pp);
	SelectionMade = pPopup->TrackPopupMenu(
		TPM_LEFTALIGN | TPM_LEFTBUTTON | TPM_NONOTIFY | TPM_RETURNCMD,
		pp.x,pp.y,this);
	
	pPopup->DestroyMenu();

	if (SelectionMade)
	{
		//CString strDispMsg;
		//strDispMsg.Format("%d", SelectionMade);
		//MessageBox(strDispMsg);

		int nSel = SelectionMade - 100;
		if (nSel < 0 || nSel > g_pUsbID[g_nCurUsbId].m_pMenuSet[nEntry].m_aMenuStr.GetSize())
		{
			return;
		}
		else
		{
			char *szAct = (char *&)g_pUsbID[g_nCurUsbId].m_pMenuSet[nEntry].m_aMenuAct[nSel];

			if (!szAct || !szAct[0])
				return;

			if (!strncmp (szAct, "FILE ", 5))
			{
				char *szFileExt = GetFileExt(&szAct[5]);

				GotoURL(&szAct[5], SW_SHOW, szFileExt);
			}
			else if (!strncmp (szAct, "EXEC ", 5))
			{
				WinExec(&szAct[5], SW_SHOW);
			}
		}
	}
}

char *CGUIDEMO::GetFileExt (char *szFileName)
{
	if (!szFileName || !szFileName[0] || !strchr (szFileName, '.'))
		return NULL;

	char *szDot = strchr (szFileName, '.');
	return szDot+1;
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日韩精品一区二区三区三区免费 | 三级精品在线观看| 日本va欧美va欧美va精品| 国产91丝袜在线观看| 欧美美女直播网站| 国产精品视频在线看| 免费一级片91| 欧美又粗又大又爽| 国产精品久久久久久久岛一牛影视 | 91视频在线看| 日韩免费高清电影| 亚洲午夜精品17c| 成人黄色软件下载| 精品国产91乱码一区二区三区 | 在线观看国产精品网站| 国产欧美一区二区三区网站| 青青草原综合久久大伊人精品优势| 97精品电影院| 国产精品网站在线播放| 国产精选一区二区三区| 日韩欧美国产一区二区三区| 日日摸夜夜添夜夜添国产精品| 色噜噜狠狠成人中文综合| 国产精品久久久久久久浪潮网站 | 亚洲超碰精品一区二区| av在线不卡电影| 国产精品人人做人人爽人人添| 精品一区二区三区视频在线观看| 在线视频你懂得一区二区三区| 亚洲欧美中日韩| 国产成人精品免费看| 久久欧美一区二区| 国产精华液一区二区三区| 国产亚洲综合av| 国产成人av电影在线| 国产精品全国免费观看高清| 国产suv精品一区二区三区| 久久―日本道色综合久久| 国产一区二区免费在线| 久久久高清一区二区三区| 国产高清在线观看免费不卡| 国产视频亚洲色图| 成人久久18免费网站麻豆| 国产精品国产三级国产普通话蜜臀 | 欧美一区二区三区系列电影| 日本欧美一区二区| 精品欧美久久久| 国产美女视频91| 国产精品毛片高清在线完整版| 99久久久久久| 一区二区三区 在线观看视频| 欧美性猛片xxxx免费看久爱| 日韩二区在线观看| 久久亚洲精品国产精品紫薇| 成人综合婷婷国产精品久久免费| 中文字幕欧美一区| 欧美性猛交xxxx黑人交| 国产成人精品一区二| 国产精品久久久久久久久免费樱桃| 99精品欧美一区二区三区综合在线| 亚洲视频中文字幕| 欧美一区二区精品| 成人亚洲精品久久久久软件| 亚洲午夜在线视频| 精品女同一区二区| 91免费在线看| 乱一区二区av| 亚洲色图色小说| 日韩一区二区三区四区| 国产.欧美.日韩| 亚洲成av人综合在线观看| 久久综合国产精品| 91国偷自产一区二区开放时间 | 欧美电视剧免费全集观看| 丁香另类激情小说| 日韩综合一区二区| 国产拍揄自揄精品视频麻豆| 在线欧美一区二区| 国产裸体歌舞团一区二区| 亚洲黄色小说网站| 国产三级一区二区| 欧美挠脚心视频网站| 成人综合婷婷国产精品久久免费| 日韩黄色免费网站| 亚洲人成网站在线| 久久综合色综合88| 欧美精品久久一区| 成人国产亚洲欧美成人综合网| 日韩和欧美一区二区| 亚洲精品视频在线观看网站| 久久婷婷国产综合精品青草| 欧美日韩国产精品成人| 99久久er热在这里只有精品66| 亚洲国产成人午夜在线一区| 波多野结衣中文一区| 青青青爽久久午夜综合久久午夜| 亚洲视频你懂的| 国产欧美一区二区精品性| 日韩欧美自拍偷拍| 欧美一a一片一级一片| 成人小视频免费在线观看| 国产一区二区三区美女| 水野朝阳av一区二区三区| 亚洲精品网站在线观看| 国产精品天美传媒沈樵| 久久午夜电影网| 日韩一二三四区| 欧美精品在线观看一区二区| 欧美亚洲尤物久久| 99精品视频在线播放观看| 国产91在线|亚洲| 国产传媒日韩欧美成人| 国产精品一区二区在线播放| 久久精品国产网站| 激情都市一区二区| 精品一区二区三区免费| 美女免费视频一区二区| 蜜桃一区二区三区在线| 久久激五月天综合精品| 美女网站一区二区| 国内一区二区在线| 国产一区二区成人久久免费影院| 美女视频黄免费的久久| 久国产精品韩国三级视频| 久久99国产精品麻豆| 狠狠网亚洲精品| 国产成人在线免费观看| 成人精品视频一区二区三区尤物| 国产999精品久久久久久绿帽| 成人污视频在线观看| 成人理论电影网| 91福利在线看| 欧美另类久久久品| 69久久99精品久久久久婷婷| 日韩精品自拍偷拍| 久久九九久久九九| 综合色天天鬼久久鬼色| 午夜影院久久久| 久久丁香综合五月国产三级网站 | 亚洲免费观看在线视频| 亚洲在线观看免费| 美女国产一区二区三区| 国产成人精品网址| 色婷婷精品大视频在线蜜桃视频| 欧美撒尿777hd撒尿| 日韩你懂的电影在线观看| 中文字幕免费一区| 亚洲国产成人va在线观看天堂| 肉色丝袜一区二区| 国产不卡视频在线播放| 欧美在线免费观看视频| 日韩精品专区在线| 亚洲美女视频在线观看| 蜜芽一区二区三区| 成人动漫一区二区| 欧美一级夜夜爽| 亚洲桃色在线一区| 麻豆国产一区二区| 91浏览器入口在线观看| 日韩欧美一二区| 亚洲精品乱码久久久久久久久| 麻豆视频一区二区| 色婷婷久久久亚洲一区二区三区| 日韩一级黄色片| 亚洲精品免费视频| 国产成人8x视频一区二区| 欧美一区2区视频在线观看| 欧美韩国日本一区| 蜜臀91精品一区二区三区| 色香蕉久久蜜桃| 久久久美女毛片| 三级欧美在线一区| 91色综合久久久久婷婷| 国产色婷婷亚洲99精品小说| 秋霞影院一区二区| 91麻豆精东视频| 欧美激情综合在线| 久久er99精品| 欧美一区午夜精品| 伊人开心综合网| 成人免费黄色在线| 久久综合九色综合97_久久久| 日韩国产欧美一区二区三区| 91香蕉视频黄| 国产精品三级在线观看| 九九精品一区二区| 制服丝袜av成人在线看| 亚洲精品老司机| 99精品视频在线观看免费| 国产精品女同互慰在线看| 国模娜娜一区二区三区| 日韩视频中午一区| 日av在线不卡| 日韩一区二区三区免费看 | 欧美日韩视频在线一区二区 | 免费不卡在线视频| 在线成人高清不卡| 天天免费综合色| 欧美日本韩国一区二区三区视频| 亚洲国产综合人成综合网站|