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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? main.cpp

?? < VC++視頻音頻開發(fā)>> 這本書的源碼
?? CPP
?? 第 1 頁 / 共 5 頁
字號:
			   itemInfo.fType  = MFT_STRING;
			   itemInfo.dwTypeData = buffer;
			   itemInfo.cch = strlen(buffer);
			   itemInfo.wID = ID_RECENT_FILE1 + i;
		   
			   InsertMenuItem(menu, GetMenuItemCount(menu), TRUE, &itemInfo);
			}
	   }
    itemInfo.cbSize = sizeof(MENUITEMINFO);
    itemInfo.fMask  = MIIM_DATA | MIIM_TYPE | MIIM_ID;
    itemInfo.fType  = MFT_SEPARATOR;
    itemInfo.dwTypeData = "";
    itemInfo.cch = strlen("");
    itemInfo.wID = ID_RECENT_FILE1 + i;
		   
	InsertMenuItem(menu, GetMenuItemCount(menu), TRUE, &itemInfo);

    itemInfo.cbSize = sizeof(MENUITEMINFO);
    itemInfo.fMask  = MIIM_DATA | MIIM_TYPE | MIIM_ID;
    itemInfo.fType  = MFT_STRING;
    itemInfo.dwTypeData = "Clear list";
	itemInfo.cch = strlen("Clear list");
	itemInfo.wID = ID_CLEAR_LIST;
		   
	InsertMenuItem(menu, GetMenuItemCount(menu), TRUE, &itemInfo);

   }
   else {

	   count = GetMenuItemCount(menu);

	   for(i=0; i<count; i++)
		   RemoveMenu(menu, 0, MF_BYPOSITION);

	   itemInfo.cbSize = sizeof(MENUITEMINFO);
	itemInfo.fMask  = MIIM_DATA | MIIM_TYPE | MIIM_ID;
    itemInfo.fType  = MFT_STRING;
    itemInfo.dwTypeData = "No recent files...";
    itemInfo.cch = strlen("No recent files...");
    itemInfo.wID = ID_RECENT_FILE1;
		   
	InsertMenuItem(menu, GetMenuItemCount(menu), TRUE, &itemInfo);
	EnableMenuItem(menu, ID_RECENT_FILE1, MF_GRAYED);
   }

}

/**************************************************************************************
 *                                                                                    *
 * - UpdateRecentFilesMenu():                                                         *
 *                                                                                    *
 *   ———加入(如果可以)一個條目到文件鏈表                                         *
 *                                                                                    *
 **************************************************************************************/

void UpdateRecentFilesMenu(char *filename)
{
	DWORD i;
	DWORD insert = 1;

	for(i=0; i < 5; i++) {
				
		if(RecentFiles[i] != NULL && strcmp(RecentFiles[i], filename) == 0) {
			insert = 0;
		}
	}

	if(insert) {
		
		for(i=4; i > 0; i--) {
				
			RecentFiles[i] = RecentFiles[i - 1];
		}

		RecentFiles[0] = (char *) new char[(strlen(filename) + 1)];
		strncpy(RecentFiles[0], filename, strlen(filename));
		RecentFiles[0][strlen(filename)] = '\0';
	}
}


/**************************************************************************************
 *                                                                                    *
 * - PreparesDesktopMode():                                                           *
 *                                                                                    *
 *   ———設(shè)置桌面模式                                                               *
 *                                                                                    *
 **************************************************************************************/

void PrepareDesktopMode() {

	HRESULT hr;
	IActiveDesktop *pActiveDesktop;

	/*
	 * 活動桌面填充
	 * --------------------
	 */

	hr = CoCreateInstance(CLSID_ActiveDesktop, NULL, CLSCTX_INPROC_SERVER,
					      IID_IActiveDesktop, (void**)&pActiveDesktop);


	if(hr == S_OK) {

		wchar_t *wstr;

		pActiveDesktop->GetWallpaper((LPWSTR) &wallpaper, MAX_PATH, 0);
		pActiveDesktop->GetPattern((LPWSTR) &pattern, MAX_PATH, 0);

		wstr = (wchar_t *) new char[2*MAX_PATH];
		mbtowc(wstr, "None", MAX_PATH);
		pActiveDesktop->SetWallpaper((WCHAR *) wstr, 0);
		pActiveDesktop->SetPattern((WCHAR *) wstr, 0);
	
		pActiveDesktop->ApplyChanges(AD_APPLY_ALL);

		pActiveDesktop->Release();
	}

	/*
	 * 標準填充
	 * --------------
	 */

	COLORREF colorref;
	INT      background;

	background = COLOR_DESKTOP;
	colorref   = DD_OVERLAY_COLORREF;

	/*
	 * 得到設(shè)置
	 */

	backColor = GetSysColor(COLOR_DESKTOP);
				
	/*
	 * 設(shè)置
	 */

	SystemParametersInfo(SPI_SETDESKWALLPAPER, 0, "", 0);
	SetSysColors(1, &background, &colorref);
}

/**************************************************************************************
 *                                                                                    *
 * - UnPreparesDesktopMode():                                                         *
 *                                                                                    *
 *   ———取消桌面模式的設(shè)置                                                         *
 *                                                                                    *
 **************************************************************************************/

void UnPrepareDesktopMode() {

	HRESULT hr;
	IActiveDesktop *pActiveDesktop;

	/*
	 * 活動桌面填充
	 * --------------------
	 */

	hr = CoCreateInstance(CLSID_ActiveDesktop, NULL, CLSCTX_INPROC_SERVER,
					      IID_IActiveDesktop, (void**)&pActiveDesktop);


	if(hr == S_OK) {

		pActiveDesktop->SetWallpaper(wallpaper, 0);
		pActiveDesktop->SetPattern(pattern, 0);
	
		pActiveDesktop->ApplyChanges(AD_APPLY_ALL);

		pActiveDesktop->Release();
	}

	/*
	 * API填充
	 */

	INT background = COLOR_DESKTOP;
		
	SetSysColors(1, &background, &backColor);
	SystemParametersInfo(SPI_SETDESKWALLPAPER, 0, NULL, 0);

	playback->SetDesktopMode(FALSE);
}

/**************************************************************************************
 *                                                                                    *
 * - PrepareCompactMode():                                                            *
 *                                                                                    *
 *   ———設(shè)置桌面模型                                                               *
 *                                                                                    *
 **************************************************************************************/

void PrepareCompactMode() {

	HMENU        menu;
	MENUITEMINFO itemInfo;

	menu = GetSubMenu(popupMenu, 0);

	memset(&itemInfo, 0, sizeof(MENUITEMINFO));
	
	itemInfo.cbSize     = sizeof(MENUITEMINFO);
	itemInfo.fType      = MFT_STRING;
	itemInfo.fMask      = MIIM_TYPE;
	itemInfo.dwTypeData = "&Standard Mode\tAlt+C";
		
	SetMenuItemInfo(menu, ID_COMPACT, FALSE, &itemInfo);
}

/**************************************************************************************
 *                                                                                    *
 * - UnPrepareCompactMode():                                                          *
 *                                                                                    *
 *   ———取消桌面模式的設(shè)置                                                         *
 *                                                                                    *
 **************************************************************************************/

void UnPrepareCompactMode() {

	HMENU        menu;
	MENUITEMINFO itemInfo;
	
	compact_mode = 0;
	skin->SetCompact(FALSE);

	/*
	 * 改變菜單項文本
	 */	

	menu = GetSubMenu(popupMenu, 0);

	memset(&itemInfo, 0, sizeof(MENUITEMINFO));

	itemInfo.cbSize     = sizeof(MENUITEMINFO);
	itemInfo.fType      = MFT_STRING;
	itemInfo.fMask      = MIIM_TYPE;
	itemInfo.dwTypeData = "&Compact Mode\tAlt+C";

	SetMenuItemInfo(menu, ID_COMPACT, FALSE, &itemInfo);

	/*
	 * 調(diào)整窗口大小
	 */

	GetWindowRect(hwnd, &windowRect);
	
	MoveWindow( hwnd, windowRect.left - 7, 
				windowRect.top - 22, 
				cwindowRect.right - cwindowRect.left, 
				cwindowRect.bottom - cwindowRect.top, TRUE);
				
	playback->SetVideoRect(skin->GetVideoRect());
}

/**************************************************************************************
 *                                                                                    *
 * - ChangeMenuForNormalMode():                                                       *
 *                                                                                    *
 *   ———重新產(chǎn)生播放鏈表浮動菜單                                                   *
 *                                                                                    *
 **************************************************************************************/

void ChangeMenuForNormalMode() 
{
	HMENU menu;

	menu = GetSubMenu(popupMenu, 0);

	/*
	 * 字幕及其屬性菜單
	 */

	MENUITEMINFO itemInfo;
				
	/*
	 * 更新菜單項
	 */

	EnableMenuItem(popupMenu, ID_COMPACT, MF_ENABLED);
	EnableMenuItem(popupMenu, ID_FULLSCREEN, MF_ENABLED);

	EnableMenuItem(popupMenu, (UINT)ID_ON_TOP,      MF_ENABLED);

	EnableMenuItem(popupMenu, (UINT)ID_ASPECT_ORIGINAL, MF_ENABLED);
	EnableMenuItem(popupMenu, (UINT)ID_ASPECT_FREE,     MF_ENABLED);
	EnableMenuItem(popupMenu, (UINT)ID_ASPECT_43,       MF_ENABLED);
	EnableMenuItem(popupMenu, (UINT)ID_ASPECT_169,      MF_ENABLED);
	EnableMenuItem(popupMenu, (UINT)ID_ASPECT_CUSTOM,   MF_ENABLED);

	menu = GetSubMenu(popupMenu, 0);

	memset(&itemInfo, 0, sizeof(MENUITEMINFO));
	
	itemInfo.cbSize     = sizeof(MENUITEMINFO);
	itemInfo.fType      = MFT_STRING;
	itemInfo.fMask      = MIIM_TYPE;
	itemInfo.dwTypeData = "&Desktop mode\tAlt+D";
		
	SetMenuItemInfo(menu, ID_DESKTOP, FALSE, &itemInfo);

	EnableMenuItem(popupMenu, (UINT)ID_PROPERTIES,      MF_ENABLED);
	EnableMenuItem(popupMenu, (UINT)ID_DESKTOP,         MF_ENABLED);
}

/**************************************************************************************
 *                                                                                    *
 * - ChangeMenuForFullscreenlMode():                                                  *
 *                                                                                    *
 *   ———重新產(chǎn)生播放鏈表浮動菜單                                                   *
 *                                                                                    *
 **************************************************************************************/

void ChangeMenuForFullscreenMode() 
{
	HMENU        menu;
	MENUITEMINFO itemInfo;

	GetWindowRect(hwnd, &fullwindowRect);

	/*
	 * 使某些項無效
	 */

	EnableMenuItem(popupMenu, ID_COMPACT, MF_GRAYED);
	EnableMenuItem(popupMenu, ID_FULLSCREEN, MF_GRAYED);
	
	EnableMenuItem(popupMenu, (UINT)ID_ON_TOP,      MF_GRAYED);

	EnableMenuItem(popupMenu, (UINT)ID_ASPECT_ORIGINAL, MF_GRAYED);
	EnableMenuItem(popupMenu, (UINT)ID_ASPECT_FREE,     MF_GRAYED);
	EnableMenuItem(popupMenu, (UINT)ID_ASPECT_43,       MF_GRAYED);
	EnableMenuItem(popupMenu, (UINT)ID_ASPECT_169,      MF_GRAYED);
	EnableMenuItem(popupMenu, (UINT)ID_ASPECT_CUSTOM,   MF_GRAYED);

	menu = GetSubMenu(popupMenu, 0);

	memset(&itemInfo, 0, sizeof(MENUITEMINFO));
	
	itemInfo.cbSize     = sizeof(MENUITEMINFO);
	itemInfo.fType      = MFT_STRING;
	itemInfo.fMask      = MIIM_TYPE;
	itemInfo.dwTypeData = "Go back to normal mode\tAlt+Enter";
		
	SetMenuItemInfo(menu, ID_DESKTOP, FALSE, &itemInfo);
}

/**************************************************************************************
 *                                                                                    *
 * - ReBuildPlaylistMenu():                                                           *
 *                                                                                    *
 *   ———重新產(chǎn)生播放鏈表浮動菜單                                            *
 *                                                                                    *
 **************************************************************************************/

void ReBuildPlaylistMenu()
{
	HMENU menu;
	DWORD i;
	DWORD count;
	MENUITEMINFO itemInfo;

	menu = GetSubMenu(GetSubMenu(GetSubMenu(popupMenu, 0), 9), 0);

	count = GetMenuItemCount(menu);

	for(i=0; i < count; i++) {
						
		RemoveMenu(menu, 0, MF_BYPOSITION);				
	}

	/*
	 * 增加標準項
	 *
	 */

	itemInfo.cbSize = sizeof(MENUITEMINFO);
	itemInfo.fMask  = MIIM_DATA | MIIM_TYPE | MIIM_ID;
	itemInfo.fType  = MFT_STRING;
	itemInfo.dwTypeData = "Add Files...\tAlt+A";
	itemInfo.cch = strlen("Add Files...\tAlt+A");
	itemInfo.wID = ID_MENU_PLAYBACK_FILES_ADDFILES;
		   
	InsertMenuItem(menu, GetMenuItemCount(menu), TRUE, &itemInfo);

	itemInfo.cbSize = sizeof(MENUITEMINFO);
	itemInfo.fMask  = MIIM_DATA | MIIM_TYPE | MIIM_ID;
	itemInfo.fType  = MFT_SEPARATOR;
	itemInfo.dwTypeData = "-";
	itemInfo.cch = strlen("-");
	itemInfo.wID = 0;
		   
	InsertMenuItem(menu, GetMenuItemCount(menu), TRUE, &itemInfo);


	/*
	 * 增加文件
	 */
   
    for(i=0; i < playlist->GetItemCount(); i++) {
	   
		char *name;

		if(strrchr(playlist->GetItemAt(i)->filename, '\\') != NULL) {

			name = strrchr(playlist->GetItemAt(i)->filename, '\\') + 1;
		}
		else {

			name = playlist->GetItemAt(i)->filename;
		}

	  itemInfo.cbSize     = sizeof(MENUITEMINFO);
	  itemInfo.fMask      = MIIM_DATA | MIIM_TYPE | MIIM_ID;
	  itemInfo.fType      = MFT_STRING;
	  itemInfo.dwTypeData = name;
	  itemInfo.cch        = strlen(name);
	  itemInfo.wID        = ID_PLAYLIST1 + i;
	  itemInfo.dwItemData = i;
		   
	  InsertMenuItem(menu, GetMenuItemCount(menu), TRUE, &itemInfo);
   }

	/*
	 * 選擇當前的項
	 *
	 */

	CheckMenuItem(menu, ID_PLAYLIST1 + playlist->GetCurrentPosition(), MF_CHECKED);
}

/**************************************************************************************
 *                                                                                    *
 * - UpdateMainWindow():                                                              *
 *                                                                                    *
 *   ———重新繪制主窗口                                                             *
 *                                                                                    *
 **************************************************************************************/

void UpdateMainWindow()
{
	RECT rect;

	GetClientRect(hwnd, &rect);
	InvalidateRect(hwnd, &rect, TRUE); 
	UpdateWindow(hwnd);
}

/**************************************************************************************
 *                                                                                    *
 *                                      退出                                          *
 *                                    --------                                        *
 **************************************************************************************/

void Quit() 
{
	SaveOptions();
	playback->Close();

	if(playback->desktopMode) {

		UnPrepareDesktopMode();
	}
		
	if(options.disable_screen_saver) {

		SystemParametersInfo(SPI_SETSCREENSAVEACTIVE, screenSaverActive, NULL, 0);
	}

	Cleanup();

	PostQuitMessage(0);
}

/**************************************************************************************
 *                                                                                    *
 * - WinMain():                                                                       *
 *                                                                                    *
 *   ———程序入口                                                                   *
 *                                                                                    *
 **************************************************************************************/

int WINAPI WinMain(HINSTANCE hInst, HINSTANCE hPrevInstance, LPSTR lpszCmdParam, int nCmdShow)

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美福利一区二区| 91视频免费看| 精品欧美一区二区在线观看| 日韩制服丝袜av| 欧美电影影音先锋| 日本不卡视频在线| 欧美不卡一区二区三区四区| 国产又黄又大久久| 国产精品丝袜久久久久久app| 成人aaaa免费全部观看| 亚洲欧洲日韩一区二区三区| 色哟哟一区二区在线观看| 亚洲免费观看高清完整版在线观看| 91免费版在线看| 午夜精品久久久久久久久| 精品国产一二三| 成人综合在线观看| 亚洲午夜精品在线| 亚洲精品在线电影| aaa欧美大片| 日本网站在线观看一区二区三区| 2020国产精品| 色8久久人人97超碰香蕉987| 日本亚洲三级在线| 国产精品私房写真福利视频| 欧美午夜不卡视频| 国产成人久久精品77777最新版本 国产成人鲁色资源国产91色综 | 福利一区二区在线| 亚洲一区二区影院| 国产喂奶挤奶一区二区三区| 欧洲国内综合视频| 奇米四色…亚洲| 欧美一二三四在线| 亚洲成人动漫一区| 日韩一区二区在线观看| 成人免费av网站| 亚洲国产精品精华液网站| 亚洲精品在线免费观看视频| 91色视频在线| 国内精品嫩模私拍在线| 亚洲毛片av在线| 久久伊人中文字幕| 欧美性色aⅴ视频一区日韩精品| 韩国精品主播一区二区在线观看| 亚洲欧美另类图片小说| 日韩天堂在线观看| 在线精品视频一区二区| 国产美女久久久久| 免费久久99精品国产| 中文字幕佐山爱一区二区免费| 欧美一级欧美三级| 色偷偷成人一区二区三区91| 国产精品66部| 另类中文字幕网| 香蕉乱码成人久久天堂爱免费| 中文字幕亚洲视频| 久久久精品国产免费观看同学| 在线综合视频播放| 在线亚洲高清视频| 91蜜桃婷婷狠狠久久综合9色| 狠狠色丁香久久婷婷综合_中 | 国产精品免费网站在线观看| 久久这里都是精品| 日韩欧美专区在线| 在线综合视频播放| 337p亚洲精品色噜噜| 欧美亚洲国产一卡| 色女孩综合影院| 97aⅴ精品视频一二三区| 国产一区二区福利视频| 看片网站欧美日韩| 精品影视av免费| 日本vs亚洲vs韩国一区三区| 无吗不卡中文字幕| 亚洲va欧美va国产va天堂影院| 依依成人综合视频| 亚洲一区二区三区四区五区黄| 一区二区三区毛片| 亚洲国产精品久久人人爱蜜臀| 一区二区三区日韩欧美| 亚洲欧美日韩电影| 亚洲伊人色欲综合网| 亚洲国产色一区| 日韩精品国产欧美| 日韩和欧美的一区| 另类小说色综合网站| 极品少妇一区二区三区精品视频| 捆绑调教美女网站视频一区| 韩国女主播成人在线| 国产成人精品免费一区二区| 成人一区二区三区| 91在线一区二区| 欧美性色aⅴ视频一区日韩精品| 欧美三区在线观看| 日韩区在线观看| 久久精品一区四区| 自拍偷拍国产精品| 五月婷婷综合激情| 久久av中文字幕片| 成人小视频免费在线观看| 97精品国产露脸对白| 欧美网站大全在线观看| 91麻豆精品久久久久蜜臀| 久久新电视剧免费观看| 亚洲欧洲日产国码二区| 亚洲一区二区综合| 国内精品在线播放| 99久久久无码国产精品| 欧美午夜精品一区| 欧美成人官网二区| 中文字幕亚洲不卡| 天天免费综合色| 国产美女精品在线| 欧美在线免费播放| 久久一区二区视频| 亚洲人成网站精品片在线观看| 亚洲18女电影在线观看| 国产一区二三区好的| 一本大道av伊人久久综合| 91精品国产免费久久综合| 国产精品免费网站在线观看| 天堂va蜜桃一区二区三区 | 日韩午夜激情视频| 国产精品久久久久国产精品日日| 亚洲成a人片在线不卡一二三区| 国产福利一区二区三区| 欧美日韩一区二区三区高清 | 99精品久久只有精品| 日韩一区二区视频| 亚洲黄色录像片| 成人av影院在线| 精品欧美乱码久久久久久1区2区| 国产精品电影一区二区三区| 久久99久久99| 欧美日韩精品一区二区三区 | 日韩小视频在线观看专区| 亚洲猫色日本管| 国产精品一区二区无线| 欧美在线播放高清精品| 中文子幕无线码一区tr | 久久久综合精品| 偷拍自拍另类欧美| 成人美女视频在线观看18| 欧美精品在线观看播放| 国产精品天美传媒| 国产成人av一区二区三区在线| 欧美性videosxxxxx| 国产无人区一区二区三区| 亚洲观看高清完整版在线观看| 99在线精品观看| 26uuu欧美日本| 一区二区三区精品视频在线| 乱中年女人伦av一区二区| 91福利国产精品| 久久精品日产第一区二区三区高清版| 亚洲欧美自拍偷拍| 午夜精品久久一牛影视| 91丨porny丨国产入口| 日韩亚洲欧美综合| 午夜精品久久久久久久久久久| 成人久久久精品乱码一区二区三区| 欧美高清hd18日本| 日韩电影在线观看电影| 欧美在线不卡一区| 亚洲人吸女人奶水| 国产69精品久久99不卡| 中文字幕免费不卡| 韩国三级在线一区| 51精品秘密在线观看| 国产精品二区一区二区aⅴ污介绍| 成人自拍视频在线观看| 久久夜色精品国产欧美乱极品| 日韩精品91亚洲二区在线观看| 成人av在线一区二区| 亚洲色图制服诱惑| 99视频一区二区| 亚洲国产成人午夜在线一区| 国产精品原创巨作av| 久久婷婷综合激情| 国产乱码精品一区二区三区av| 欧美成人性战久久| 国产不卡在线视频| 国产精品不卡视频| 97久久精品人人做人人爽| 亚洲视频中文字幕| 在线精品亚洲一区二区不卡| 一区二区在线观看免费视频播放 | 成人性色生活片免费看爆迷你毛片| 国产精品久久看| 不卡的看片网站| 国产精品久久久久久亚洲毛片 | 从欧美一区二区三区| 国产精品女上位| 91视频免费播放| 亚洲视频一二区| 欧美日韩免费在线视频| 日韩二区在线观看| 欧美不卡一二三| 99久久婷婷国产综合精品| 亚洲精品v日韩精品|