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

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

?? outproc.cpp

?? COM技術內幕配書源碼
?? CPP
字號:
#include <windows.h>
#include <stdlib.h>

#include "CUnknown.h"
#include "CFactory.h"
#include "Resource.h"

///////////////////////////////////////////////////////////
//
// Outproc.cpp
//   - the component server
//
HWND g_hWndListBox = NULL ;

BOOL InitWindow(int nCmdShow) ;
extern "C" LONG APIENTRY MainWndProc(HWND hWnd,
                                     UINT message,
                                     UINT wParam,
                                     LONG lParam) ;


//
// WinMain procedure
//
extern "C" int WINAPI WinMain(HINSTANCE hInstance, 
                              HINSTANCE hPrevInstance,
                              LPSTR lpCmdLine, 
                              int nCmdShow)
{
	// Controls whether UI is shown or not
	BOOL bUI = TRUE ;

	// If TRUE, don't loop.
	BOOL bExit = FALSE ;

	// Initialize the OLE Library.
	HRESULT hr = ::OleInitialize(NULL) ;  // OLE Automation
	if (FAILED(hr))
	{
		return 0 ;
	}
   
   
	// Get Thread ID.
	CFactory::s_dwThreadID = ::GetCurrentThreadId() ;
	CFactory::s_hModule = hInstance ;

	// Read the command line.
	char szTokens[] = "-/" ;

	char* szToken = strtok(lpCmdLine, szTokens) ; 
	while (szToken != NULL)
	{
		if (_stricmp(szToken, "UnregServer") == 0)
		{
			CFactory::UnregisterAll() ;
			// We are done, so exit.
			bExit = TRUE ;
			bUI = FALSE ;
		}
		else if (_stricmp(szToken, "RegServer") == 0)
		{
			CFactory::RegisterAll() ;
			// We are done, so exit.
			bExit = TRUE ;
			bUI = FALSE ;
		}
		else if (_stricmp(szToken, "Embedding") == 0)
		{
			// Don't display a window if we are embedded.
			bUI = FALSE ;
			break ;
		}
		szToken = strtok(NULL, szTokens) ;
	}

	// If the user started us, then show UI.
	if (bUI)
	{
		if (!InitWindow(nCmdShow))
		{
			// Exit since we can't show UI.
			bExit = TRUE ;
		}
		else
		{
			::InterlockedIncrement(&CFactory::s_cServerLocks) ;
		}
	}

	if (!bExit)
	{
		// Register all of the class factories.
		CFactory::StartFactories() ;

		// Wait for shutdown.
		MSG msg ;
		while (::GetMessage(&msg, 0, 0, 0))
		{
			::DispatchMessage(&msg) ;
		}

		// Unregister the class factories.
		CFactory::StopFactories() ;
	}

	// Uninitialize the OLE Library.
	::OleUninitialize() ;
	return 0 ;
}


//
// Initialize window
//
BOOL InitWindow(int nCmdShow) 
{
	// Fill in window class structure with parameters
	// that describe the main window.
	WNDCLASS wcListview ;
	wcListview.style = 0 ;                     
	wcListview.lpfnWndProc = (WNDPROC)MainWndProc ; 
	wcListview.cbClsExtra = 0 ;              
	wcListview.cbWndExtra = 0 ;              
	wcListview.hInstance = CFactory::s_hModule ;
	wcListview.hIcon = ::LoadIcon(CFactory::s_hModule,
	                              MAKEINTRESOURCE(IDC_ICON)) ;
	wcListview.hCursor = ::LoadCursor(NULL, IDC_ARROW) ;
	wcListview.hbrBackground = ::GetStockObject(WHITE_BRUSH) ; 
	wcListview.lpszMenuName = NULL ;  
	wcListview.lpszClassName = "MyServerWinClass" ;

	BOOL bResult = ::RegisterClass(&wcListview) ;
	if (!bResult)
	{
		return bResult ;
	}

	HWND hWndMain ;

	hWndMain = ::CreateWindow(
		"MyServerWinClass",
		"Component Server", 
		WS_OVERLAPPEDWINDOW,
		CW_USEDEFAULT, CW_USEDEFAULT,
		CW_USEDEFAULT, CW_USEDEFAULT,
		NULL,               
		NULL,               
		CFactory::s_hModule,          
		NULL) ;

	// If window could not be created, return "failure".
	if (!hWndMain)
	{
		return FALSE ;
	}

	// Make the window visible; update its client area;
	// and return "success".
	::ShowWindow(hWndMain, nCmdShow) ;
	::UpdateWindow(hWndMain) ;
	return TRUE ;
}

//
// Main window procedure
//
extern "C" LONG APIENTRY MainWndProc(
	HWND hWnd,                // window handle
	UINT message,             // type of message
	UINT wParam,              // additional information
	LONG lParam)              // additional information
{
	DWORD dwStyle ;

	switch (message) 
	{
	case WM_CREATE:
		{
			// Get size of main window
			CREATESTRUCT* pcs = (CREATESTRUCT*) lParam ;

			// Create a listbox for output.
			g_hWndListBox = ::CreateWindow(
				"LISTBOX",
				NULL, 
				WS_CHILD | WS_VISIBLE | LBS_USETABSTOPS
					| WS_VSCROLL | LBS_NOINTEGRALHEIGHT,
				0, 0, pcs->cx, pcs->cy,
				hWnd,               
				NULL,               
				CFactory::s_hModule,          
				NULL) ;
			if (g_hWndListBox  == NULL)
			{
				// Listbox not created.
				::MessageBox(NULL,
				             "Listbox not created!",
				             NULL,
				             MB_OK) ;
				return -1 ;
			}
		}
		break ;

	case WM_SIZE:
		::MoveWindow(g_hWndListBox, 0, 0,
			LOWORD(lParam), HIWORD(lParam), TRUE) ;
		break;

	case WM_DESTROY:          // message: window being destroyed
		if (CFactory::CanUnloadNow() == S_OK)
		{
			// Only post the quit message, if there is
			// no one using the program.
			::PostQuitMessage(0) ;
		}
		break ;

	case WM_CLOSE:
		// Decrement the lock count.
		::InterlockedDecrement(&CFactory::s_cServerLocks) ;

		// The list box is going away.
		g_hWndListBox = NULL ;

		//Fall through 
	default:
		return (DefWindowProc(hWnd, message, wParam, lParam)) ;
	}
	return 0 ;
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美裸体bbwbbwbbw| 亚洲欧美日韩人成在线播放| 国产精品久久久久影院老司 | 欧美成人性战久久| 亚洲午夜免费电影| 成人激情免费网站| 日韩免费观看2025年上映的电影| 国产精品久久久久久久久免费相片 | 精品系列免费在线观看| 日本高清无吗v一区| 国产清纯美女被跳蛋高潮一区二区久久w| 亚洲一区在线电影| 日本福利一区二区| 国产精品沙发午睡系列990531| 久久99国产精品久久| 欧美精品123区| 亚洲大片在线观看| 91国内精品野花午夜精品| **性色生活片久久毛片| 成人激情免费网站| 亚洲国产精品黑人久久久| 国产精品一区二区在线播放| 欧美电影免费提供在线观看| 免费不卡在线观看| 51精品久久久久久久蜜臀| 亚洲国产精品一区二区久久| 91色九色蝌蚪| 亚洲在线视频网站| 欧美三级中文字| 天天色综合成人网| 欧美一卡二卡在线观看| 麻豆精品久久精品色综合| 日韩精品一区二区三区视频播放| 日本成人中文字幕在线视频 | 久久成人精品无人区| 91精品欧美一区二区三区综合在| 天天色天天操综合| 日韩精品最新网址| 九一久久久久久| 久久久亚洲午夜电影| 国产a久久麻豆| 亚洲日本在线天堂| 欧美亚洲愉拍一区二区| 蜜臀av在线播放一区二区三区| 日韩免费成人网| 成人免费高清视频| 亚洲色图视频网| 91精品久久久久久久99蜜桃| 韩国理伦片一区二区三区在线播放| 久久无码av三级| 91麻豆高清视频| 天堂午夜影视日韩欧美一区二区| 7777精品伊人久久久大香线蕉超级流畅| 天天操天天综合网| 久久久久国色av免费看影院| 99热99精品| 奇米影视7777精品一区二区| 欧美激情综合五月色丁香小说| 色综合天天综合网天天狠天天| 亚洲综合成人在线视频| 精品奇米国产一区二区三区| 99re视频精品| 美女www一区二区| 成人欧美一区二区三区在线播放| 欧美丝袜第三区| 国产一二三精品| 亚洲一级片在线观看| 久久婷婷国产综合精品青草| 日本韩国精品在线| 国产一区二区三区不卡在线观看 | 56国语精品自产拍在线观看| 国产成人亚洲综合a∨猫咪| 一区二区三区欧美日| 精品国产第一区二区三区观看体验| 成人午夜免费av| 久久精品国产亚洲a| 亚洲美女免费视频| 久久综合999| 欧美日韩情趣电影| 91麻豆123| 成人在线综合网站| 精品亚洲国内自在自线福利| 亚洲一区成人在线| 亚洲欧美另类在线| 国产夜色精品一区二区av| 制服丝袜亚洲色图| 在线视频国内一区二区| 福利视频网站一区二区三区| 久色婷婷小香蕉久久| 亚洲国产日产av| 国产精品亲子乱子伦xxxx裸| 久久午夜电影网| 精品女同一区二区| 欧美一区二区三区影视| 欧美中文字幕久久| 91视频在线观看| 成人av电影在线观看| 国产成人免费在线| 国产精品一区二区不卡| 韩国女主播成人在线观看| 秋霞成人午夜伦在线观看| 亚洲国产综合91精品麻豆| 一区二区三区视频在线看| 最新久久zyz资源站| 国产精品美女视频| 国产精品视频观看| 国产精品大尺度| 亚洲免费视频成人| 一区二区三区在线观看网站| 综合色中文字幕| 亚洲欧美欧美一区二区三区| 亚洲另类一区二区| 一区二区三区久久久| 亚洲永久免费视频| 午夜精品久久久久久久99樱桃| 五月天欧美精品| 蜜臂av日日欢夜夜爽一区| 激情图片小说一区| 成人精品国产福利| 91亚洲精品乱码久久久久久蜜桃| 91免费版在线| 欧美日韩一级片在线观看| 欧美群妇大交群中文字幕| 91精品国产高清一区二区三区蜜臀 | 日本成人超碰在线观看| 日产国产高清一区二区三区| 日韩福利电影在线| 韩国一区二区三区| a4yy欧美一区二区三区| 欧洲另类一二三四区| 欧美一区二区三区免费大片| 久久久精品国产免大香伊| 国产精品色哟哟| 亚洲国产精品一区二区尤物区| 日本美女一区二区| 国产成人一区在线| 欧美曰成人黄网| 日韩一区二区视频在线观看| 国产午夜精品理论片a级大结局| 中文字幕一区二区三区视频| 亚洲成人中文在线| 国产一区亚洲一区| 91看片淫黄大片一级在线观看| 在线观看网站黄不卡| 精品成人免费观看| 亚洲人成网站在线| 精品一区二区三区视频 | 日韩一区和二区| 国产精品国产三级国产三级人妇| 性做久久久久久久久| 国产成人自拍网| 欧美日韩1234| 国产精品电影一区二区| 日韩中文字幕91| jvid福利写真一区二区三区| 欧美一三区三区四区免费在线看 | 丰满少妇在线播放bd日韩电影| 欧美午夜不卡在线观看免费| 久久久亚洲午夜电影| 日韩国产欧美在线视频| 99精品欧美一区| 精品国产乱码久久久久久老虎| 亚洲欧美电影一区二区| 精品一区中文字幕| 欧美日韩久久不卡| 亚洲欧美日韩在线播放| 国产一区二区影院| 欧美一区二区视频在线观看 | 欧美午夜片在线看| 中文字幕一区在线观看视频| 久久国产精品第一页| 欧美日韩国产综合一区二区| 综合久久久久综合| 国产91在线观看| 欧美不卡一区二区三区四区| 天堂成人免费av电影一区| 色综合色狠狠综合色| 国产精品欧美精品| 国产一区美女在线| 日韩一级免费观看| 日韩影院在线观看| 欧美日韩免费一区二区三区视频| 日本一区二区三区四区 | 中文字幕日韩av资源站| 国产成人三级在线观看| 精品奇米国产一区二区三区| 免费欧美在线视频| 欧美群妇大交群的观看方式| 亚洲成av人**亚洲成av**| 欧美色大人视频| 亚洲一二三专区| 欧美男女性生活在线直播观看 | 国产精品理论片| 成人免费毛片片v| 国产情人综合久久777777| 成人一道本在线| 1000精品久久久久久久久| 一本到高清视频免费精品| 亚洲一区二区在线免费看| 欧美日韩国产另类不卡|