今回はATLを使ってウィンドウ上にFlashを埋め込んでみます

flashwindow.JPG

	#include <tchar.h>
	#include <windows.h>

	// ウィンドウプロシージャ
	LRESULT CALLBACK WndProc(HWND hWnd, UINT msg, WPARAM wParam, LPARAM lParam)
	{
		if(msg == WM_DESTROY) PostQuitMessage(0);
		return (DefWindowProc(hWnd, msg, wParam, lParam));
	}

	int WINAPI WinMain(HINSTANCE hInstance,HINSTANCE hPrevInstance,LPSTR lpCmdLine,int nShowCmd) {

		const TCHAR* WC_BASIC = _T("Basic");		// ウィンドウクラス名

		/********************************************/
		/*	ウィンドウクラスの定義と登録	*/
		/********************************************/

		// シンプルウィンドウクラス設定
		WNDCLASSEX wcex ={sizeof(WNDCLASSEX), CS_HREDRAW | CS_VREDRAW | CS_DBLCLKS, WndProc, 0,0,hInstance,
			(HICON)LoadImage(NULL,MAKEINTRESOURCE(IDI_APPLICATION),IMAGE_ICON,0,0,LR_DEFAULTSIZE | LR_SHARED),
			(HCURSOR)LoadImage(NULL,MAKEINTRESOURCE(IDC_ARROW),IMAGE_CURSOR,0,0,LR_DEFAULTSIZE | LR_SHARED), 
			(HBRUSH)GetStockObject(WHITE_BRUSH), NULL, WC_BASIC , NULL};

		// シンプルウィンドウクラス登録
		RegisterClassEx(&wcex); 

		/********************************************/
		/*	ウィンドウの作成		*/
		/********************************************/

		HWND hWnd = CreateWindowEx(
			0,					//拡張ウィンドウスタイル
			WC_BASIC,				//ウィンドウクラス名
			_T("タイトル"),				//タイトルバーにこの名前が表示されます
			WS_OVERLAPPEDWINDOW | WS_VISIBLE,	//ウィンドウスタイル
			CW_USEDEFAULT,			//X座標
			CW_USEDEFAULT,			//Y座標
			640,				//幅
			480,				//高さ
			NULL,				//親ウィンドウのハンドル、親を作るときはNULL
			NULL,				//メニューハンドルorリソースID
			hInstance,			//インスタンスハンドル
			NULL);
		
		RECT rect;
		GetClientRect(hWnd,&rect);
		void* init = GetProcAddress(LoadLibrary(_T("atl")),"AtlAxWinInit"); _asm call init;
		CreateWindow(_T("AtlAxWin"), _T("C:\\k3.swf"),  WS_CHILD | WS_VISIBLE,0,0,rect.right - rect.top,rect.bottom - rect.top,hWnd,NULL,hInstance,NULL);
		MSG   msg={0}; 
		while (GetMessage(&msg,0,0,0)) DispatchMessage(&msg);
	};

全ソースコードは下から
filemain.cpp
今回使ったフラッシュは下から
filek3.swf

選択肢 投票
(^ω^)やったお 0  
何これwww意味不すぎwww 0  
。(`ω´#)。あぁん?最近、だらしねぇな 0  

トップ   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS