青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

道。道。道

安全特性不等于安全的特性

   :: 首頁 :: 聯(lián)系 :: 聚合  :: 管理

常用鏈接

搜索

  •  

最新評(píng)論

  摘要: 本文通過在VC中將外部swf格式文件內(nèi)嵌為VC的內(nèi)部資源,使其在程序運(yùn)行過程中從資源動(dòng)態(tài)釋放到臨時(shí)文件,從而實(shí)現(xiàn)VC對(duì)Flash動(dòng)畫的播放。


  引言

  Flash動(dòng)畫由于可以很方便地把用戶的想象通過動(dòng)畫顯現(xiàn)出來,使原本只屬于專業(yè)制作人員的動(dòng)畫制作變的異乎尋常的快捷、方便。由于Flash制作的動(dòng)畫在層次、內(nèi)容、表現(xiàn)形式等諸多方面均比較出色,因此在網(wǎng)絡(luò)上得到迅猛的發(fā)展,更有不少廠商用Flash在互聯(lián)網(wǎng)上做起了廣告和產(chǎn)品演示,效果絲毫不比視頻的差,而體積則要小的多。Flash不僅在網(wǎng)絡(luò)上有廣泛的應(yīng)用,在普通的應(yīng)用程序中也可以借助Flash實(shí)現(xiàn)一些VC、Delphi等編程語言所難以實(shí)現(xiàn)的特效,比如在一些演示版的程序中完全可以將程序運(yùn)行前的閃屏用Flash來制作。本文下面將通過對(duì)內(nèi)嵌資源的動(dòng)態(tài)釋放來實(shí)現(xiàn)VC對(duì)Flash動(dòng)畫的播放,并給出了部分實(shí)現(xiàn)代碼。

  嵌資源的動(dòng)態(tài)釋放

  Flash動(dòng)畫在此是作為程序的一個(gè)模塊,雖然也可以以文件的形式作為一個(gè)外部資源來使用,但為了避免因外部模塊遺失而造成程序的非正常運(yùn)行,可將由Flash 5.0預(yù)先制作好的swf格式的文件以資源的形式打包到應(yīng)用程序中去,而在程序運(yùn)行時(shí)再將其從資源恢復(fù)到文件,使用完畢再通過程序?qū)⑵鋸拇疟P刪除。

  在導(dǎo)入資源時(shí)由于swf格式文件并非VC的標(biāo)準(zhǔn)資源,所以在導(dǎo)入時(shí)需要在"Resource type"欄指定資源類型"SWF",特別需要注意的是在此必須要包含引號(hào)。加入到資源后可以通過資源視圖看到導(dǎo)入的SWF資源是以二進(jìn)制形式保存的,一但加入就不能再通過資源視圖對(duì)其進(jìn)行編輯了。

  在使用SWF資源前首先要將其動(dòng)態(tài)從應(yīng)用程序中釋放到文件中才可對(duì)資源做進(jìn)一步的使用??上韧ㄟ^宏MAKEINTRESOURCE()將資源標(biāo)識(shí)號(hào)IDR_SWF轉(zhuǎn)換成字符串Name,再分別通過FindResource()、LoadResource()函數(shù)查找、裝載該資源到內(nèi)存:

CString Type="swf";
HRSRC res=FindResource (NULL,Name,Type);
HGLOBAL gl=LoadResource (NULL,res);

  當(dāng)資源加載到內(nèi)存后,還要通過對(duì)資源內(nèi)存的鎖定來返回指向資源內(nèi)存的地址的指針,并籍此實(shí)現(xiàn)資源從內(nèi)存到磁盤的保存,至于存盤的操作則由文件函數(shù)CreateFile()、和WriteFile()來完成:

LPVOID lp=LockResource(gl); //返回指向資源內(nèi)存的地址的指針。
CString filename="Temp.swf"; //保存的臨時(shí)文件名
// CREATE_ALWAYS為不管文件存不存在都產(chǎn)生新文件。
fp= CreateFile(filename ,GENERIC_WRITE,0,NULL,CREATE_ALWAYS,0,NULL);
DWORD a;
//sizeofResource 得到資源文件的大小
if (!WriteFile (fp,lp,SizeofResource (NULL,res),&a,NULL))
return false;
CloseHandle (fp); //關(guān)閉句柄
FreeResource (gl); //釋放內(nèi)存

  通過上述代碼,可將SWF資源從應(yīng)用程序中提取并釋放到臨時(shí)文件Temp.swf中,在此后只對(duì)此臨時(shí)文件操作,與程序內(nèi)嵌資源無關(guān)。

  Flash動(dòng)畫的播放

  swf格式的Flash動(dòng)畫通常主要應(yīng)用在網(wǎng)頁上,也就是說IE瀏覽器本身可以支持Flash動(dòng)畫的播放。這樣就不必再單獨(dú)編寫用于播放swf文件的代碼,從而大大減少編程的工作量。在VC ++ 6.0中新增了一個(gè)從CView派生的、用于處理網(wǎng)頁的視類CHtmlView,由于該類是以Internet Explorer為后臺(tái)支持,因此在創(chuàng)建工程時(shí)只需在最后一步指定視類從CHtmlView派生就可以使程序不編一行代碼而具備IE瀏覽器的網(wǎng)頁顯示能力。

  程序剛生成的時(shí)候缺省的連接主頁是為微軟公司的主頁,需要對(duì)此修改,使程序在執(zhí)行時(shí)立即顯示剛才提取出來的Flash臨時(shí)文件Temp.swf。顯示缺省主頁的代碼是在視類的初始化函數(shù)中進(jìn)行的:

void CEmbedModuleView::OnInitialUpdate()
{
CHtmlView::OnInitialUpdate();
Navigate2(_T("http://www.microsoft.com"),NULL,NULL);
}

  顯然要將Navigate2()函數(shù)的第一個(gè)參數(shù)改成Temp.swf的存放路徑。剛才在釋放資源到文件時(shí)并沒有指定絕對(duì)路徑,因此釋放出來的資源文件應(yīng)當(dāng)和應(yīng)用程序處于同一目錄。但是在此處如果不寫明絕對(duì)路徑是無法顯示該臨時(shí)文件的。獲取該臨時(shí)文件的絕對(duì)路徑可用如下方法實(shí)現(xiàn):先獲取應(yīng)用程序本身的絕對(duì)路徑,然后去處應(yīng)用程序全名(程序名和擴(kuò)展名)此時(shí)得到的是應(yīng)用程序和臨時(shí)文件所處文件夾的路徑,最后只需在此基礎(chǔ)上加上臨時(shí)文件的文件名Temp.swf即可得到臨時(shí)文件的全路徑。下面是實(shí)現(xiàn)的主要代碼:


//獲取應(yīng)用程序的全路徑
char exeFullPath[MAX_PATH];
GetModuleFileName(NULL,exeFullPath,MAX_PATH);
//將其格式化為字符串
m_TempFile.Format("%s",exeFullPath);
//去掉應(yīng)用程序的全名(15為應(yīng)用程序文件全名的長度)
exeFullPath[m_TempFile.GetLength()-15]='\0';
//得到應(yīng)用程序所在路徑
m_TempFile.Format("%s",exeFullPath);
//得到臨時(shí)文件的全路徑
m_TempFile+="Temp.swf";

  最后將得到的臨時(shí)文件的全路徑m_TempFile作為參數(shù)傳遞給Navigate2()即可在程序運(yùn)行時(shí)把Flash動(dòng)畫作為主頁而顯示
  由于臨時(shí)文件Temp.swf是在程序運(yùn)行過程中從應(yīng)用程序的資源中提取出來的,因此在程序退出之前需要將其刪除。一般是在消息WM_DESTORY的響應(yīng)函數(shù)里通過DeleteFile()函數(shù)來加以實(shí)現(xiàn)的。

  小結(jié)

  本文通過對(duì)CHtmlView和內(nèi)嵌資源的動(dòng)態(tài)釋放實(shí)現(xiàn)了Flash動(dòng)畫在VC程序中的播放,并對(duì)資源的動(dòng)態(tài)釋放作了較為清晰的描述。通過類似的方法,可以將動(dòng)態(tài)鏈接庫、HTML文件等程序模塊作為資源嵌入其中,在使用時(shí)再動(dòng)態(tài)釋放到臨時(shí)文件,這樣可有效避免文件模塊過多時(shí)的雜亂以及程序模塊丟失導(dǎo)致程序非正常運(yùn)行等情況的發(fā)生。本文所述程序在Windows 98下,由Microsoft Visual C++ 6.0編譯通過。Flash動(dòng)畫由 Macromedia Flash 5.0制作,所需瀏覽器支持為Internet Explorer 6.0。
posted on 2006-12-02 21:36 獨(dú)孤九劍 閱讀(360) 評(píng)論(0)  編輯 收藏 引用 所屬分類: Win32Visual C++ 8.0
青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            亚洲国产一区二区三区a毛片| 亚洲伦理久久| 亚洲国产精品久久久久久女王| 国产精品色午夜在线观看| 欧美日韩亚洲一区二区三区| 欧美日韩国产免费| 欧美日韩少妇| 国产精品日韩精品欧美精品| 国产老女人精品毛片久久| 欧美一区二区三区电影在线观看 | 欧美激情片在线观看| 欧美激情网友自拍| 国产精品乱码久久久久久| 国产欧美在线视频| 亚洲丶国产丶欧美一区二区三区| 亚洲蜜桃精久久久久久久| 亚洲欧美国产精品va在线观看| 久久aⅴ乱码一区二区三区| 老**午夜毛片一区二区三区| 亚洲精品久久7777| 亚洲曰本av电影| 久久亚洲电影| 国产精品久久久久久亚洲毛片| 国产婷婷精品| 一本色道精品久久一区二区三区 | 久久久久女教师免费一区| 久久一综合视频| 欧美日韩一级黄| 激情综合色丁香一区二区| 99视频精品| 蜜桃av一区二区三区| 中文国产一区| 欧美国产日韩精品免费观看| 国产精品免费小视频| 亚洲国产成人在线播放| 久久gogo国模裸体人体| aa国产精品| 欧美激情第二页| 韩国女主播一区二区三区| 亚洲欧美第一页| 亚洲日本成人女熟在线观看| 先锋影音久久久| 欧美性大战久久久久| 亚洲精品中文字| 免费观看成人网| 欧美亚洲三级| 国产精品福利影院| 日韩午夜在线电影| 亚洲国产精品v| 久久久久国产精品厨房| 国产午夜一区二区三区| 午夜免费久久久久| 亚洲视频免费在线观看| 欧美日韩免费一区二区三区视频 | 在线观看国产成人av片| 久久精品2019中文字幕| 这里是久久伊人| 国产精品theporn88| 在线视频精品一| 99成人在线| 欧美色欧美亚洲另类二区 | 亚洲欧美一区二区视频| 美玉足脚交一区二区三区图片| 午夜伦欧美伦电影理论片| 欧美亚男人的天堂| 亚洲欧美中文日韩在线| 亚洲欧美在线看| 国产一区二区三区日韩| 久久久久九九九九| 久久一区二区三区四区| 亚洲国产欧美精品| 亚洲片在线观看| 欧美日韩综合另类| 亚洲欧美偷拍卡通变态| 亚洲一区美女视频在线观看免费| 国产伦精品一区二区三区高清版| 亚洲欧美日韩天堂一区二区| 亚洲欧美日产图| 韩国av一区二区三区四区| 久久综合色一综合色88| 欧美二区在线观看| 午夜伦理片一区| 久久综合国产精品| 一本色道久久综合亚洲精品婷婷| 中日韩美女免费视频网址在线观看| 国产精品海角社区在线观看| 欧美中文字幕精品| 麻豆亚洲精品| 亚洲一区二区三区三| 欧美一区二区免费| 日韩午夜黄色| 欧美一区二区三区另类| 日韩一级精品视频在线观看| 亚洲欧美在线高清| 亚洲精品乱码久久久久久黑人 | 欧美综合第一页| 一本色道久久| 久久国产精彩视频| 在线一区日本视频| 久久精品一区| 亚洲免费一在线| 欧美成人小视频| 久久精品最新地址| 欧美日韩国产在线播放网站| 久久综合久久综合这里只有精品| 欧美日韩成人在线播放| 美女国产精品| 国产欧美一区二区三区国产幕精品 | 亚洲香蕉伊综合在人在线视看| 亚洲在线免费视频| 亚洲九九爱视频| 久久久久五月天| 欧美一区2区三区4区公司二百| 欧美二区在线| 久久最新视频| 国产一区欧美| 亚洲欧美日韩成人| 亚洲制服丝袜在线| 欧美精品xxxxbbbb| 裸体歌舞表演一区二区| 欧美成人一区二区| 久久免费99精品久久久久久| 香蕉成人伊视频在线观看| 欧美精品久久久久a| 欧美国产激情| 在线观看日韩av先锋影音电影院| 亚洲自拍偷拍视频| 亚洲视频在线观看| 欧美激情中文字幕在线| 欧美国产1区2区| 樱桃国产成人精品视频| 久久国内精品视频| 久久久91精品国产一区二区三区 | 欧美激情中文字幕乱码免费| 麻豆成人综合网| 精品91免费| 久久精品五月| 蜜桃av噜噜一区二区三区| 国内精品一区二区三区| 久久成人一区| 久久―日本道色综合久久| 国产自产女人91一区在线观看| 亚洲免费视频成人| 欧美在线啊v一区| 国产欧美一区二区精品性色| 欧美一级成年大片在线观看| 久久久久久久久久看片| 影音先锋成人资源站| 另类天堂av| 亚洲精品久久久蜜桃| 亚洲桃色在线一区| 国产精品网曝门| 久久精品综合一区| 亚洲成色www8888| 在线视频亚洲| 国产午夜久久久久| 久久久亚洲午夜电影| 亚洲成在人线av| 国产精品99久久不卡二区| 国产精品一区免费在线观看| 欧美伊人久久| 亚洲黄色一区| 午夜久久久久| 一区二区三区在线免费观看| 免费日韩成人| 亚洲一区二区三区影院| 久久综合一区| 亚洲一区二区三区免费观看| 国产自产v一区二区三区c| 欧美电影在线播放| 亚洲欧美国产毛片在线| 欧美激情精品久久久久久免费印度| 中文精品视频| 亚洲成人在线观看视频| 欧美午夜国产| 久久久久久久综合狠狠综合| avtt综合网| 欧美大片在线观看| 久久av在线看| 在线亚洲成人| 一区二区三区中文在线观看| 欧美日韩精品久久| 久久久综合香蕉尹人综合网| 9色porny自拍视频一区二区| 免费看亚洲片| 久久激情一区| 亚洲专区免费| 亚洲精品免费在线| 伊人久久大香线蕉av超碰演员| 欧美午夜精品久久久久久孕妇| 一区二区三区www| 一区二区三区在线免费视频 | 欧美www视频| 亚洲欧美日韩国产| 99热免费精品| 亚洲国产成人久久综合一区| 老司机一区二区三区| 久久爱www久久做| 亚洲自拍电影| 亚洲午夜av在线|