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

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

?? initmain.c

?? 讀系統日志,功能強大喲
?? C
字號:
#include "SysMain.h"
#include "_Constants.h"
#include "_GlobalVars.h"
#include "_ExtraResources.h"
#include "_Utils.h"

#pragma data_seg(".text")
#include <objbase.h>
#define INITGUID
#include <initguid.h>
#define NO_SHDOCVW_GUIDS
#include <shlguid.h>
#include <shlobj.h>
#pragma data_seg()

void CopyStartupVariables(HINSTANCE hThisInstance, LPSTR lpszCmdLine)
{
	g_hInstance = hThisInstance;
	_tcscpy(g_lpszCmdLine, lpszCmdLine);
}

fatal		
InitializeCommonControls()
{
	fatal _retval = 0;
	INITCOMMONCONTROLSEX iccEx;

	iccEx.dwSize = sizeof(INITCOMMONCONTROLSEX);
	iccEx.dwICC	 = 
		ICC_LISTVIEW_CLASSES	|	//	list view
		ICC_PROGRESS_CLASS		|	//	progress bar
		ICC_TREEVIEW_CLASSES	|	//	tree view & tooltip
		ICC_BAR_CLASSES			|	//	toolbar, status bar, trackbar & tooltip
		ICC_UPDOWN_CLASS		|	//	up-down
		ICC_TAB_CLASSES			|	//	tab & tooltip
		ICC_USEREX_CLASSES		|	//	extended combo box 
		0
		;

	_retval = !InitCommonControlsEx(&iccEx);

	// check also version
//	g_hRichEditLibrary = LoadLibrary("riched32.dll");

	return _retval;
}

fatal		
RegisterWindowClasses()
{
	fatal _retval = 0;

	_retval = RegisterMainWindowClass();
	_retval = RegisterChildWindowClass();
	_retval = RegisterChildDataWindowClass();
	_retval = RegisterOtherWindowClasses();

	return _retval;
}

fatal 
RegisterMainWindowClass()
{
	WNDCLASSEX wcEx;

	wcEx.cbClsExtra		= 0;
	wcEx.cbSize			= sizeof(WNDCLASSEX);
	wcEx.cbWndExtra		= 0;
	wcEx.hbrBackground	= (HBRUSH)(COLOR_BTNFACE + 1);
	wcEx.hCursor		= LoadCursor(0, IDC_ARROW);
	wcEx.hIcon			= LoadIcon(g_hInstance, MAKEINTRESOURCE(IDI_SYS));
	wcEx.hIconSm		= 0;
	wcEx.hInstance		= g_hInstance;
	wcEx.lpfnWndProc	= SysMain_WndProc;
	wcEx.lpszClassName	= g_lpcszMainWindowClassName;
	wcEx.lpszMenuName	= MAKEINTRESOURCE(IDM_MAIN);
	wcEx.style			= 0; //CS_HREDRAW | CS_VREDRAW;

	return !RegisterClassEx(&wcEx);
}

fatal 
RegisterChildWindowClass()
{
	WNDCLASSEX wcEx;

	wcEx.cbClsExtra		= 0;
	wcEx.cbSize			= sizeof(WNDCLASSEX);
	wcEx.cbWndExtra		= CBWNDEXTRA;
	wcEx.hbrBackground	= (HBRUSH)(COLOR_BTNFACE + 1);
	wcEx.hCursor		= LoadCursor(0, IDC_ARROW);
	wcEx.hIcon			= LoadIcon(g_hInstance, MAKEINTRESOURCE(IDI_MACHINE));
	wcEx.hIconSm		= 0;
	wcEx.hInstance		= g_hInstance;
	wcEx.lpfnWndProc	= MDIChild_WndProc;
	wcEx.lpszClassName	= g_lpcszChildWindowClassName;
	wcEx.lpszMenuName	= 0;
	wcEx.style			= 0; //CS_HREDRAW | CS_VREDRAW;

	return !RegisterClassEx(&wcEx);
}

fatal 
RegisterChildDataWindowClass()
{
	WNDCLASSEX wcEx;

	wcEx.cbClsExtra		= 0;
	wcEx.cbSize			= sizeof(WNDCLASSEX);
	wcEx.cbWndExtra		= CBWNDEXTRA;
	wcEx.hbrBackground	= (HBRUSH)(COLOR_BTNFACE + 1);
	wcEx.hCursor		= LoadCursor(0, IDC_ARROW);
	wcEx.hIcon			= LoadIcon(g_hInstance, MAKEINTRESOURCE(IDI_DATA));
	wcEx.hIconSm		= 0;
	wcEx.hInstance		= g_hInstance;
	wcEx.lpfnWndProc	= MDIChildData_WndProc;
	wcEx.lpszClassName	= g_lpcszDataWindowClassName;
	wcEx.lpszMenuName	= 0;
	wcEx.style			= 0;

	return !RegisterClassEx(&wcEx);
}

fatal 
RegisterOtherWindowClasses()
{
	return 0;
}

fatal 
CreateWindows()
{
	fatal _retval = 0;

	_retval = CreateMainWindow();
	_retval = CreateToolbar();

	ShowWindow(g_hMainWnd, SW_SHOWMAXIMIZED);

	return _retval;
}

fatal 
CreateMainWindow()
{
	g_hMainWnd = CreateWindowEx(
		WS_EX_OVERLAPPEDWINDOW | WS_EX_WINDOWEDGE, 
		g_lpcszMainWindowClassName,
		g_lpcszApplicationName, 
		WS_OVERLAPPEDWINDOW | WS_VISIBLE | WS_CLIPCHILDREN | WS_CLIPSIBLINGS, 
		CW_USEDEFAULT, CW_USEDEFAULT, CW_USEDEFAULT, CW_USEDEFAULT, 
		0, 
		0, 
		g_hInstance, 
		0);
	if(g_hMainWnd)
	{
		ShowWindow(g_hMainWnd, SW_SHOW);
		UpdateWindow(g_hMainWnd);
	}

	return 0;
}

fatal 
CreateToolbar()
{
	int i, iNumButtons, iNumBitmaps = 0;
	for(iNumButtons = 0; g_arToolbarButtons[iNumButtons].iBitmap != -1; iNumButtons++)
		;
	for(i = 0; i < iNumButtons; i++)
	{
		if(!(g_arToolbarButtons[i].fsStyle & TBSTYLE_SEP))
			iNumBitmaps++;
	}

	g_hToolBarWnd = CreateToolbarEx(g_hMainWnd, 
		WS_CHILD | WS_BORDER | WS_VISIBLE | WS_CLIPSIBLINGS | WS_CLIPCHILDREN | 
		TBSTYLE_TOOLTIPS | TBSTYLE_ALTDRAG | TBSTYLE_FLAT | TBSTYLE_TRANSPARENT | TBSTYLE_WRAPABLE |
		CCS_ADJUSTABLE,
		ID_TOOLBAR_MAIN, iNumBitmaps, g_hInstance, IDB_TOOLBAR_MAIN, (LPCTBBUTTON)&g_arToolbarButtons, iNumButtons,
		16, 16, 16, 16, sizeof(TBBUTTON));

	if(g_hToolBarWnd)
		CreateToolbarComboBox();

	return 0;
}

retcode 
FillComputersCombo()
{
	retcode _retval = 0;
	LPENUMIDLIST lpe = 0;
	LPITEMIDLIST lpi = 0;
	LPMALLOC lpMalloc = 0;
	ULONG ulFetched = 0L;
	HRESULT hr = 0;
	TCHAR lpszItemName[_MAX_PATH + 1];
	LPSHELLFOLDER lpsf = 0; 
	LPITEMIDLIST lpi1 = 0;
	LPSHELLFOLDER lpsfNetworkNeighborhood = 0;
	ULONG ulAttrs;
	STRRET strretName;

	hr = SHGetDesktopFolder(&lpsf);
	if(FAILED (hr))
	{
		_retval = -1;
		goto _cleanup_;
	}

	hr = SHGetSpecialFolderLocation(g_hMainWnd, CSIDL_NETWORK, &lpi1);
	if(FAILED (hr))
	{
		_retval = -2;
		goto _cleanup_;
	}

	hr = lpsf->lpVtbl->BindToObject(lpsf, lpi1, 0, &IID_IShellFolder, (LPVOID *)&lpsfNetworkNeighborhood);
	if(FAILED (hr))
	{
		_retval = -3;
		goto _cleanup_;
	}

	hr = SHGetMalloc(&lpMalloc);
	if(FAILED (hr))
	{
		_retval = -4;
		goto _cleanup_;
	}

	if(SUCCEEDED(hr))
	{
		hr = lpsfNetworkNeighborhood->lpVtbl->EnumObjects(lpsfNetworkNeighborhood, 
			g_hMainWnd, SHCONTF_FOLDERS | SHCONTF_NONFOLDERS, &lpe);
		if (SUCCEEDED (hr))
		{
			while (S_OK == lpe->lpVtbl->Next(lpe, 1, &lpi, &ulFetched))
			{
				ulAttrs = SFGAO_HASSUBFOLDER;
				hr = lpsfNetworkNeighborhood->lpVtbl->GetAttributesOf(lpsfNetworkNeighborhood, 
					1, (const struct _ITEMIDLIST **)&lpi, &ulAttrs);
				if(SUCCEEDED(hr))
				{
					if(ulAttrs & SFGAO_HASSUBFOLDER)
					{
						strretName.uType = STRRET_CSTR;
						hr = lpsfNetworkNeighborhood->lpVtbl->GetDisplayNameOf(lpsfNetworkNeighborhood, 
							lpi, SHGDN_NORMAL, &strretName);
						if(SUCCEEDED(hr))
						{
							switch(strretName.uType)
							{
								case STRRET_CSTR:
									_tcscpy(lpszItemName, strretName.cStr);
									break;
								case STRRET_WSTR:
									_tcscpy(lpszItemName, _MBSTR(strretName.pOleStr));
									break;
								case STRRET_OFFSET:
									_tcscpy(lpszItemName, (char *)lpi + strretName.uOffset);
									break;
								default:
									break;
							}

							ComboBox_AddString(g_hComboToolbarWnd, 
								_tcsicmp(lpszItemName, g_lpcszNetworkNeighborhood) != 0 ? lpszItemName : _T("<Select>"));
						}
					}
				}

				lpMalloc->lpVtbl->Free(lpMalloc, lpi); 
				lpi = 0;
			}
		}
	}
	else
		_retval = -5;

_cleanup_:
	if(lpe)
		lpe->lpVtbl->Release(lpe);
	if(lpi && lpMalloc)
		lpMalloc->lpVtbl->Free(lpMalloc, lpi);
	if(lpi1 && lpMalloc)
		lpMalloc->lpVtbl->Free(lpMalloc, lpi1);
	if(lpMalloc)
		lpMalloc->lpVtbl->Release(lpMalloc);
	if(lpsf)
		lpsf->lpVtbl->Release(lpsf);
	if(lpsfNetworkNeighborhood)
		lpsfNetworkNeighborhood->lpVtbl->Release(lpsf);

	return _retval;
}

fatal 
CreateStatusBar()
{
	return 0;
}

retcode 
CreateToolbarComboBox()
{
	g_hComboToolbarWnd = CreateWindowEx(0L, "COMBOBOX", "", 
		WS_CHILD | WS_BORDER | WS_VISIBLE | CBS_HASSTRINGS | CBS_DROPDOWNLIST, 
		2, 2, 100, 250, 
		g_hToolBarWnd, (HMENU)IDM_COMPUTERCOMBO, g_hInstance, 0);

	if(g_hComboToolbarWnd)
	{
		FillComputersCombo();
		InitComputersCombo();
	}

	return 0;
}

retcode
InitComputersCombo()
{
	SubclassToolbarCombo();
	AddToolbarComboTooltip();
	SetToolbarComboFont();

	return 0;
}

retcode 
SubclassToolbarCombo()
{
	g_lpfnDefTlbCB_WndProc = (WNDPROC)GetWindowLong(g_hComboToolbarWnd, GWL_WNDPROC);
	SetWindowLong(g_hComboToolbarWnd, GWL_WNDPROC, (LONG)ToolbarCombo_WndProc);

	return 0;
}

retcode 
AddToolbarComboTooltip()
{
    static HWND hWndTT;
	static CHAR szBuf[128];
    TOOLINFO lpToolInfo;

	hWndTT = (HWND)SendMessage(g_hToolBarWnd, TB_GETTOOLTIPS, 0, 0);
    if(hWndTT)
    {
		lpToolInfo.cbSize	= sizeof(lpToolInfo);
		lpToolInfo.uFlags	= TTF_IDISHWND | TTF_CENTERTIP;
		lpToolInfo.lpszText = (LPSTR)IDM_COMPUTERCOMBO;
		lpToolInfo.hwnd		= g_hMainWnd;
		lpToolInfo.uId		= (UINT)g_hComboToolbarWnd;
		lpToolInfo.hinst	= g_hInstance;
		
		SendMessage(hWndTT, TTM_ADDTOOL, 0, (LPARAM)(LPTOOLINFO)&lpToolInfo);
    }

	return 0;
}

retcode 
SetToolbarComboFont()
{
	return SendMessage(g_hComboToolbarWnd, WM_SETFONT, 
		(WPARAM)(HFONT)SendMessage(g_hToolBarWnd, WM_GETFONT, 0, 0), MAKELPARAM(1, 0));
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美在线免费播放| 中文字幕在线一区二区三区| 久久精品一区二区三区四区| 亚洲综合区在线| 福利一区二区在线| 日韩精品一区二区三区视频| 亚洲香肠在线观看| 白白色 亚洲乱淫| 欧美成人乱码一区二区三区| 亚洲国产日韩一级| 91欧美激情一区二区三区成人| 2欧美一区二区三区在线观看视频 337p粉嫩大胆噜噜噜噜噜91av | 九九国产精品视频| 欧美日韩国产一二三| 一区二区三区四区中文字幕| 国产成人av电影免费在线观看| 日韩欧美综合一区| 日本午夜一本久久久综合| 在线观看成人小视频| 中文字幕亚洲综合久久菠萝蜜| 国产一区二区成人久久免费影院| 日韩视频一区二区在线观看| 婷婷丁香激情综合| 欧美日韩久久不卡| 亚洲一二三区在线观看| 欧美午夜一区二区三区免费大片| 亚洲精品高清视频在线观看| 色婷婷av一区二区三区软件| 亚洲婷婷国产精品电影人久久| 成人自拍视频在线观看| 国产精品网站在线播放| 97精品视频在线观看自产线路二| 国产精品美女久久久久久久久久久 | 欧美午夜片在线观看| 亚洲一区中文日韩| 欧美另类久久久品| 日韩成人一区二区| 精品国一区二区三区| 激情综合色丁香一区二区| 精品卡一卡二卡三卡四在线| 久久国产三级精品| 国产三级精品在线| av一区二区三区四区| 亚洲欧美视频在线观看视频| 欧美性色欧美a在线播放| 视频一区在线视频| 欧美精品一区二区三区高清aⅴ| 国产麻豆午夜三级精品| 国产精品无遮挡| 欧美在线制服丝袜| 午夜精品爽啪视频| 精品国产伦理网| 99久久精品免费精品国产| 一二三区精品视频| 精品欧美一区二区久久| 成人免费视频一区二区| 亚洲精品视频免费看| 日韩一级视频免费观看在线| 国产91精品在线观看| 亚洲一二三区不卡| 久久精品亚洲一区二区三区浴池| 色综合咪咪久久| 麻豆一区二区99久久久久| 中文字幕一区二区5566日韩| 4438成人网| 成人动漫一区二区在线| 亚洲a一区二区| 中文文精品字幕一区二区| 欧美三级欧美一级| 国产成人日日夜夜| 日韩国产精品91| 亚洲视频精选在线| 欧美大片在线观看一区二区| 色综合视频在线观看| 国产在线视频一区二区三区| 一二三四区精品视频| 国产视频911| 制服丝袜日韩国产| 色综合久久99| 国产剧情一区二区| 日韩电影在线看| 亚洲人123区| 国产精品美女久久久久久久久| 欧美一区二区久久久| 色综合久久久久| 成人免费黄色大片| 久久99久久久欧美国产| 亚洲va国产va欧美va观看| 国产精品无人区| 国产偷国产偷亚洲高清人白洁| 91精品国产欧美日韩| 色婷婷综合久久久中文一区二区| 国产xxx精品视频大全| 久久精品国产77777蜜臀| 性久久久久久久久久久久| 亚洲男人的天堂在线观看| 国产精品久久久久久久久晋中| 26uuu色噜噜精品一区二区| 51精品视频一区二区三区| 精品视频999| 在线观看视频一区二区| 91免费看片在线观看| eeuss鲁片一区二区三区在线观看| 韩国av一区二区| 国产曰批免费观看久久久| 日本不卡的三区四区五区| 日韩高清不卡一区| 日本亚洲天堂网| 奇米影视在线99精品| 日韩国产欧美在线视频| 日本不卡一区二区| 奇米色一区二区三区四区| 日韩高清中文字幕一区| 蜜臀av一区二区| 久久99久久99| 国产麻豆精品视频| 国产成a人亚洲精| av午夜精品一区二区三区| 99热这里都是精品| 91成人在线观看喷潮| 欧美色倩网站大全免费| 91精品国产综合久久精品| 日韩一区二区精品葵司在线| 日韩欧美电影一二三| 久久五月婷婷丁香社区| 国产精品全国免费观看高清| 亚洲三级理论片| 婷婷开心久久网| 韩国成人在线视频| 99久久久免费精品国产一区二区| 91丨九色丨蝌蚪富婆spa| 欧美日韩一区中文字幕| 日韩欧美电影在线| 国产精品久久久久aaaa樱花| 一区二区三区免费在线观看| 日韩精彩视频在线观看| 精品亚洲国内自在自线福利| 大胆欧美人体老妇| 欧美在线视频不卡| 精品国产髙清在线看国产毛片| 欧美韩国一区二区| 亚洲国产成人tv| 韩日精品视频一区| 色网综合在线观看| 精品999在线播放| 中文字幕欧美一| 青草av.久久免费一区| 波多野结衣亚洲| 91精品啪在线观看国产60岁| 国产精品天干天干在观线| 亚洲线精品一区二区三区| 国产精品一区二区久久精品爱涩| 91在线小视频| 精品少妇一区二区三区在线播放| 国产精品乱码人人做人人爱 | 91精品综合久久久久久| 中文字幕不卡在线播放| 天天色天天操综合| 波多野结衣精品在线| 欧美一区二区视频网站| 自拍av一区二区三区| 国模冰冰炮一区二区| 欧美日韩精品一区视频| 中文字幕日本乱码精品影院| 韩国女主播一区| 欧美猛男gaygay网站| 中文字幕中文字幕在线一区 | 亚洲欧美日韩国产另类专区| 九九**精品视频免费播放| 欧美色视频一区| 1024成人网| 国产成人丝袜美腿| 精品国产91乱码一区二区三区| 亚洲一级二级三级在线免费观看| 国产精品1区二区.| 欧美xxxx在线观看| 日本亚洲最大的色成网站www| 色94色欧美sute亚洲线路一ni | 欧美大片在线观看| 日本亚洲免费观看| 欧美视频在线一区| 一区二区三区**美女毛片| 波多野结衣精品在线| 欧美激情中文不卡| 国产一区中文字幕| 欧美大度的电影原声| 视频一区视频二区中文| 欧美私人免费视频| 亚洲一二三四区不卡| 91久久精品一区二区三| 国产精品免费av| av在线免费不卡| 国产精品国产精品国产专区不片| 国产91精品免费| 久久久久久久网| 国产福利91精品一区二区三区| 久久网站热最新地址| 国产黑丝在线一区二区三区| 久久精品一区八戒影视| 高清shemale亚洲人妖|