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

S.l.e!ep.¢%

像打了激速一樣,以四倍的速度運(yùn)轉(zhuǎn),開心的工作
簡單、開放、平等的公司文化;尊重個(gè)性、自由與個(gè)人價(jià)值;
posts - 1098, comments - 335, trackbacks - 0, articles - 1
  C++博客 :: 首頁 :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理

為了生成flash文件方便,寫了個(gè)工具

Posted on 2008-11-04 19:27 S.l.e!ep.¢% 閱讀(2298) 評論(4)  編輯 收藏 引用 所屬分類: VC
為了生成 swf 方法,寫了個(gè)工具,寫得,寫得很粗糙……

#include?<string>
#include?
<vector>
#include?
<iostream>
using?namespace?std;
#include?
<windows.h>
#include?
<atlbase.h>

namespace?std
{
????typedef?basic_string
<WCHAR,?char_traits<WCHAR>,?allocator<WCHAR>?>?tstring;
}


/*
?*?return?a?absolute?path?and?create?a?temporary?file?
?*?the?path?is?the?system?temp?directory,?
?*?the?filename?is?a?temporary?file?name?contains?[strTmp]?
?*?Tips!!!??Must?delete?the?temporary?file?after?used
?
*/

string?getTempFilePath(string?strTmp)
{
????TCHAR?szTmpPath[_MAX_PATH]?
=?{0},?szTmpFileName[_MAX_PATH]?=?{0};

????DWORD?dwLength?
=?::GetTempPath(_MAX_PATH,?szTmpPath);?

????
/*
?????*?If?the?function?[GetTempPath]?fails,?return?a?null?string
?????
*/

????
if?(?dwLength?==?0?)
????????
return?__TEXT("");

????DWORD?dwLength2?
=?::GetTempFileName(szTmpPath,?strTmp.c_str(),?0,?szTmpFileName);

????
/*
?????*?If?the?function?[GetTempFileName]?fails,?return?a?null?string
?????
*/

????
if?(?dwLength2?==?0?)
????????
return?__TEXT("");

????
return?szTmpFileName;
????
}
//?_getTempFilePath()

int?main(int?argc,?char*?argv[])??
{????
????
int?nArgs?=?0;
????std::vector
<std::tstring>?vecToken;

????LPWSTR?
*?szArglist?=?::CommandLineToArgvW(::GetCommandLineW(),?&nArgs);

????
if(?NULL?==?szArglist?)
????
{
????????cout?
<<?"Invalid?Parameter!"?<<?endl;
????????
return?1;
????}

????
else
????
{
????????
for(int?i?=?0;?i?<?nArgs;?i++)?
?????????????vecToken.push_back(szArglist[i]);

????}
//?if(?NULL?==?szArglist?)

????
//?Free?memory?allocated?for?CommandLineToArgvW?arguments.
????LocalFree(szArglist);

????
if?(?vecToken.size()?!=?3?)
????
{
????????cout?
<<?"Invalid?Parameter!?"?<<?vecToken.size()?<<?endl;
????????
return?1;
????}


????USES_CONVERSION;
????
//cout?<<?(char*)W2A(vecToken[1].c_str())?<<?endl;
????
//cout?<<?(char*)W2A(vecToken[2].c_str())?<<?endl;

????
//?獲取目標(biāo)目錄所有?*.fla?文件
????WIN32_FIND_DATA?filedata;
????
char?strResultLogPath[MAX_PATH]?=?{0};
????sprintf(strResultLogPath,?_T(
"%s\\*.fla"),?W2A(vecToken[1].c_str())?);
????std::vector
<string>?vecFlaLogs;

????HANDLE?hFind?
=?::FindFirstFile(strResultLogPath,?&filedata);?
????
if?(hFind?==?INVALID_HANDLE_VALUE)?
????
{
????????
//?一個(gè)?.fla?文件都沒有
????}

????
else
????
{
????????
do?
????????
{
????????????
//?filedata.cFileName?為?fla?的文件名
????????????vecFlaLogs.push_back(filedata.cFileName);
????????????OutputDebugString(filedata.cFileName);
????????????OutputDebugString(
"\n");
????????}
?while(?FindNextFile(hFind,?&filedata)?);

????}
//?if?(hFind?==?INVALID_HANDLE_VALUE)?
????::FindClose(hFind);

????
//?存放臨時(shí)文件
????string?strFile??=?getTempFilePath("fl");
????
string?strFile1?=?strFile;
????strFile?
+=?".jsfl";

????FILE
*?pFile?=?fopen(strFile.c_str(),?"wb");
????
if?(?pFile?==?NULL?)
????
{
????????cout?
<<?"failed?to?open?file:?"?<<?strFile.c_str()?<<?endl;
????????
return?1;
????}


????std::vector
<string>::iterator?iter_t;
????
for?(?iter_t?=?vecFlaLogs.begin();?iter_t?!=?vecFlaLogs.end();?iter_t++?)
????
{
????????
string?strFlaFile?=?*iter_t;
????????
string?strSwfFile?=?*iter_t;

????????strSwfFile?
=?strSwfFile.substr(0,?strSwfFile.length()?-?4);
????????strSwfFile?
+=?".swf";
????????
????????fprintf(pFile,?
"var?sourceFile?=?\"file:///%s/%s\";\r\n",?W2A(vecToken[1].c_str()),?strFlaFile.c_str());
????????fprintf(pFile,?"var?outputFile?=?\"file:///%s/%s\";\r\n",?W2A(vecToken[2].c_str()),?strSwfFile.c_str());
????????fprintf(pFile,?"var?doc?=?fl.openDocument(sourceFile);\r\n");
????????fprintf(pFile,?
"doc.exportSWF(outputFile,?true);\r\n");
????????fprintf(pFile,?
"doc.close(false);\r\n");

????}
//?for?(?iter_t?=?vecFlaLogs.begin();?iter_t?!=?vecFlaLogs.end();?iter_t++?)

????fprintf(pFile,?
"fl.quit();\r\n");
????
????
//?關(guān)閉文件時(shí)才保存文件內(nèi)容
????fclose(pFile);

????
//?讀取注冊表
????HKEY?hk;
????LPCTSTR?data_Get
="Flash.JSCommandFile\\shell\\open\\command";
????
//在注冊表里的位置?
????long?ret0?=?::RegOpenKeyEx(HKEY_CLASSES_ROOT,?//
???????????????????????????????data_Get,?0,?//必須為0,保留?
???????????????????????????????KEY_READ,???????//安全訪問屏蔽字,具體見MSDN,列出了所有的值?
???????????????????????????????&hk);
????
????
//通過ERROR_SUCCESS判斷打開是否成功。?
????if(?ret0?!=?ERROR_SUCCESS)?
????
{
????????cout?
<<?"failed?to?read?regedit"?<<?endl;
????????
return?1;
????}


????LPBYTE?win_version?
=?new?BYTE[80];
????DWORD?type
=REG_SZ;
????DWORD?cbData
=80;
????
long?ret1?=?::RegQueryValueEx(hk,?"",?//請求得到的鍵的名稱
??????????????????????????????????NULL,????????????????//保留,必須為
??????????????????????????????????NULL,???????????//值的類型,具體見MSDN
??????????????????????????????????win_version,?????????//接受值的緩沖區(qū)?
??????????????????????????????????&cbData);????????????//緩沖區(qū)大小
????
????
if?(?ret1?!=?ERROR_SUCCESS?)
????
{
????????cout?
<<?"failed?to?read?regedit"?<<?endl;
????????
return?1;
????}
?

????
string?strRegValue?=?(char*)win_version;
????delete[]?win_version;
????::RegCloseKey(hk);
????
????strRegValue?
=?strRegValue.substr(0,?strRegValue.length()?-?5);

????
//?調(diào)用?flash.exe
????
//strRegValue
????strRegValue?+=?"?";
????strRegValue?
+=?"\"";
????strRegValue?+=?strFile;????
????strRegValue?
+=?"\"";

????UINT?rlt?
=?WinExec(strRegValue.c_str(),?SW_HIDE);
????
????
switch?(rlt)?
????
{
????
case?0:
????????
{
????????????cout?
<<?"The?system?is?out?of?memory?or?resources."?<<?endl;
????????????
return?1;
????????}

????????
break;

????
case?ERROR_BAD_FORMAT:
????????
{
????????????cout?
<<?"The?.exe?file?is?invalid."?<<?endl;
????????????
return?1;
????????}

????????
break;

????
case?ERROR_FILE_NOT_FOUND:
????????
{
????????????cout?
<<?"The?specified?file?was?not?found."?<<?endl;
????????????
return?1;
????????}

????????
break;
????????
????
case?ERROR_PATH_NOT_FOUND:
????????
{
????????????cout?
<<?"The?specified?path?was?not?found."?<<?endl;
????????????
return?1;
????????}

????????
break;????????
????}


????
//?刪除臨時(shí)文件
????::DeleteFile(strFile.c_str());
????::DeleteFile(strFile1.c_str());

????
return?0;
}

Feedback

# re: 為了生成flash文件方便,寫了個(gè)工具  回復(fù)  更多評論   

2008-11-05 02:11 by 女王
這個(gè)代碼好像在www.zuiwanting.com見過

# re: 為了生成flash文件方便,寫了個(gè)工具  回復(fù)  更多評論   

2008-11-05 12:55 by 阿福
好像是在命令行調(diào)用什么工具來編譯fla文件為swf
其實(shí)用C++寫這樣的功能太浪費(fèi)了
用一個(gè)bat或VBS完全能搞定的

# re: 為了生成flash文件方便,寫了個(gè)工具  回復(fù)  更多評論   

2008-11-05 14:19 by tuzki
該頁面有木馬………………
最近發(fā)現(xiàn)cppblog好多頁面都被掛了木馬,大家小心一下

# re: 為了生成flash文件方便,寫了個(gè)工具  回復(fù)  更多評論   

2008-11-10 22:21 by mscorp
你是指這個(gè)頁面有馬?
暈,我沒裝殺毒軟件啊!!!!
青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <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>
            午夜一区二区三区在线观看| 亚洲午夜性刺激影院| 91久久在线观看| 亚洲第一精品久久忘忧草社区| 国产日韩精品一区二区| 国产视频一区免费看| 黄色日韩网站视频| 亚洲黄色在线| 一区二区三欧美| 久久精品亚洲一区二区三区浴池| 久久亚洲一区二区| 亚洲国产精品第一区二区三区| 亚洲国产精品悠悠久久琪琪| 亚洲人体偷拍| 午夜激情综合网| 久久综合久久88| 国产精品久久久久一区二区| 一色屋精品视频免费看| 一本一本大道香蕉久在线精品| 午夜精品福利一区二区三区av| 欧美成人一品| 欧美日韩在线三区| 狠狠干综合网| 亚洲午夜精品在线| 欧美成人一区二免费视频软件| 亚洲精品视频在线观看免费| 久久av资源网| 欧美视频日韩视频| 在线视频成人| 欧美伊人久久久久久久久影院| 久热这里只精品99re8久| 一区二区三区高清视频在线观看| 久久麻豆一区二区| 国产欧美成人| 亚洲女同性videos| 91久久国产综合久久| 欧美在线观看一区二区| 欧美三级黄美女| 日韩视频在线永久播放| 免费日韩av片| 久久精彩免费视频| 国产精品伦一区| 久热re这里精品视频在线6| 国产精品99免费看| 亚洲人成在线观看网站高清| 久久久综合免费视频| 亚洲免费在线播放| 欧美日韩情趣电影| aa级大片欧美| 亚洲伦伦在线| 欧美日韩视频在线| 一区二区三区毛片| 亚洲级视频在线观看免费1级| 美日韩精品视频| 精品二区视频| 巨胸喷奶水www久久久免费动漫| 亚洲欧美在线免费| 国产欧美精品在线| 香港成人在线视频| 亚洲欧美日韩一区在线| 国产精品无人区| 久久大逼视频| 欧美在线播放视频| 韩国av一区二区三区四区| 久久九九精品99国产精品| 小黄鸭精品aⅴ导航网站入口| 国产日韩成人精品| 久久久久se| 久久精品视频免费播放| 黄色日韩网站视频| 亚洲国产欧美一区| 欧美日韩另类在线| 亚洲自拍都市欧美小说| 午夜精品久久久久久久| 好吊色欧美一区二区三区四区| 久久躁狠狠躁夜夜爽| 蜜臀久久99精品久久久久久9| 亚洲日本视频| 亚洲一区久久久| 国产一区二区三区久久久| 国产精品久久久久久久久久直播| 羞羞答答国产精品www一本| 欧美一区二区成人6969| 伊人久久大香线蕉综合热线| 亚洲国产成人午夜在线一区| 欧美日韩一区二区三区免费| 久久国产精品99久久久久久老狼| 欧美在线视频免费| 亚洲美女网站| 亚洲欧美经典视频| 91久久久久久久久| 亚洲免费在线精品一区| 亚洲第一中文字幕| 一区二区三区精密机械公司| 国产亚洲成av人片在线观看桃| 欧美激情一二区| 国产日产精品一区二区三区四区的观看方式 | 久久精品亚洲| 免费欧美电影| 久久精品1区| 欧美日韩国产精品| 免费欧美日韩国产三级电影| 国产精品一区二区你懂的| 日韩视频在线你懂得| 午夜精品久久| 亚洲一二三四区| 蜜臀av性久久久久蜜臀aⅴ四虎| 欧美一区二区三区四区在线观看| 美日韩丰满少妇在线观看| 久久国内精品视频| 欧美日韩一区综合| 亚洲大胆人体视频| 国产一区视频在线观看免费| 一区二区三区欧美亚洲| 亚洲人永久免费| 久久精品二区| 久久大逼视频| 国产精品资源在线观看| 亚洲美女在线视频| 亚洲精选视频免费看| 久久天天躁狠狠躁夜夜av| 久久都是精品| 国产欧美日韩一区| 亚洲视频在线观看一区| 9色国产精品| 欧美精品久久99久久在免费线| 欧美不卡视频一区| 激情校园亚洲| 久久久久久9| 你懂的成人av| 在线看片日韩| 老司机午夜精品视频| 卡通动漫国产精品| 亚洲丶国产丶欧美一区二区三区| 欧美在线亚洲在线| 久久免费99精品久久久久久| 好吊一区二区三区| 久久久久网站| 亚洲第一在线综合网站| 亚洲人成在线观看一区二区| 午夜免费日韩视频| 国产精品国码视频| 亚洲一区在线视频| 午夜精品免费在线| 国产视频在线观看一区 | 女女同性精品视频| 最新国产成人在线观看| 一区二区欧美亚洲| 国产精品一卡| 久久久精品国产一区二区三区| 蜜臀av性久久久久蜜臀aⅴ四虎| 亚洲第一毛片| 欧美日韩成人一区二区| 亚洲网站视频| 久久综合亚州| 日韩亚洲欧美高清| 国产精品毛片a∨一区二区三区|国| 亚洲一区二区3| 免费久久99精品国产| 亚洲乱码国产乱码精品精可以看| 欧美日韩亚洲视频| 欧美一区二区播放| 亚洲欧洲三级| 欧美在线视频免费| 在线日韩精品视频| 欧美日韩专区| 久久精品人人做人人综合| 亚洲精品美女久久久久| 翔田千里一区二区| 亚洲精品1区| 国产精品欧美久久| 久久综合伊人| 久久久精品日韩| 亚洲日本视频| 国产一区二区成人| 欧美日产在线观看| 久久精品日产第一区二区| 日韩一级在线观看| 美女视频网站黄色亚洲| 亚洲午夜在线视频| 亚洲成色www8888| 国产精品日韩欧美| 欧美另类在线播放| 久久久九九九九| 亚洲一级免费视频| 亚洲欧洲精品一区| 老司机一区二区| 香蕉久久夜色精品国产使用方法| 亚洲日韩欧美视频一区| 国产一区二区三区高清| 欧美精品日韩三级| 老色鬼精品视频在线观看播放| 午夜精品一区二区三区在线| 亚洲精品视频免费在线观看| 欧美大片免费观看| 亚洲专区国产精品| 一区二区三区日韩欧美| 亚洲人成在线影院| 136国产福利精品导航| 国产综合激情|