国产一级a片免费看高清,亚洲熟女中文字幕在线视频,黄三级高清在线播放,免费黄色视频在线看

打開APP
userphoto
未登錄

開通VIP,暢享免費(fèi)電子書等14項(xiàng)超值服

開通VIP
SWF to EXE 工具制作
 

最近要做一個(gè)電子書,利用的是FlashPaper將Word文件轉(zhuǎn)換為SWF格式文件,因?yàn)樾枰诠獗P上自動(dòng)運(yùn)行,所以在網(wǎng)上尋找Swf 轉(zhuǎn) Exe文件的工具,找到JerkFlashV2,試了一下,才發(fā)現(xiàn)該工具轉(zhuǎn)換成的EXE文件是基于Flash Player 6.0的,有許多Flash Palery的新功能無法使用,找了一下其它的工具,均為基于6.0版本的,無奈,只好動(dòng)手自己編寫一個(gè)。:)

 點(diǎn)此下載EXE文件

參照《FLASH工具的秘密》所說的方法,用VB6編寫了一個(gè),改掉了該方法中處理速度慢的問題,并能夠在沒有COMDLG32.OCX(該控件為VS6中用來顯示各種對(duì)話框的,如打開文件、保存文件、顯示打印機(jī)設(shè)置等)的計(jì)算機(jī)上運(yùn)行。工作摘要如下:

1、準(zhǔn)備最新版本的Flash Player,我用的是8.0(文件名為SAFlashPlayer.exe),9.0的我還沒用到

。

2、用VB6新建一個(gè)EXE項(xiàng)目,將SAFlashPlayer.exe添加為該工程的資源文件,在此,我使用了其默認(rèn)屬性:
      類型:CUSTOM
      編號(hào):101
      語言:中文(中國(guó))

3、新建一窗體,如下所示:

3、該窗體代碼如下,基本上類似于《FLASH工具的秘密——SWF2EXE》一文所說,但作了一些改動(dòng),并優(yōu)化了一些部分:
Private Sub Command1_Click()
    Dim strFile As String
    strFile = ShowOpenFileDialog(Me, "動(dòng)畫文件(*.swf)|*.swf|所有文件(*.*)|*.*", "")
    If strFile <> "" Then
        Text1.Text = strFile
    End If
End Sub

Private Sub Command2_Click()
    If Trim(Text1.Text) <> "" Then Text2.Text = Left(Text1.Text, InStr(1, Text1.Text, ".")) & "exe"
   
    Dim strFile As String
    strFile = ShowSaveFileDialog(Me, "EXE文件(*.exe)|*.exe", "")
    If strFile <> "" Then
        Text2.Text = strFile
    End If
   
End Sub

Private Sub Command3_Click()
    ‘暫時(shí)Disable掉按鈕
    Command1.Enabled = False
    Command2.Enabled = False
    Command3.Enabled = False
    
    Dim exetog As Long      ‘定義EXE形式標(biāo)識(shí)符
    Dim filelong As Long
    Dim copy() As Byte
    copy = LoadResData(101, "CUSTOM") ‘將資源文件存放在copy()中
    Open Text1.Text For Binary As #1 ‘打開待轉(zhuǎn)換的SWF文件
    Open Text2.Text For Binary As #2 ‘創(chuàng)建將生成的EXE文件
    ‘將播放器以二進(jìn)制形式寫入到中的內(nèi)容寫入文件2中
    Put #2, , copy
    ‘將SWF文件寫入到文件2中
    filelong = LOF(1)
    ReDim copy(filelong - 1) As Byte
    Get #1, , copy
    Put #2, , copy
    ‘寫入EXE形式文件標(biāo)識(shí)符
    filelong = LOF(2)
    exetog = 1193046 ‘1193046是EXE形式的標(biāo)識(shí)符(56 34 12 FA)中的前三個(gè)字節(jié)56 34 12的十進(jìn)制值
    Put #2, , exetog
    Seek #2, filelong + 4 ‘調(diào)整文件指針到filelong+4字節(jié)處
    exetog = 250 ‘250是EXE形式的標(biāo)識(shí)符的最后一個(gè)字節(jié)FA的十進(jìn)制值
    Put #2, , exetog
    Seek #2, filelong + 5 ‘調(diào)整文件指針到filelong+5字節(jié)處
    ‘寫入SWF文件長(zhǎng)度
    filelong = LOF(1)
    Put #2, , filelong
    Close #1
    Close #2
    MsgBox "轉(zhuǎn)換完畢!"
    Command1.Enabled = True
    Command2.Enabled = True
    Command3.Enabled = True
End Sub

 另外,為了能夠在沒有COMDLG32.OCX的計(jì)算機(jī)上運(yùn)行,該程序沒有使用CommonDialog控件,而采用API方式,為此建立了一個(gè)模塊General,內(nèi)容如下:Public Const OFN_ALLOWMULTISELECT = &H200
Public Const OFN_CREATEPROMPT = &H2000
Public Const OFN_ENABLEHOOK = &H20
Public Const OFN_ENABLETEMPLATE = &H40
Public Const OFN_ENABLETEMPLATEHANDLE = &H80
Public Const OFN_EXPLORER = &H80000
Public Const OFN_EXTENSIONDIFFERENT = &H400
Public Const OFN_FILEMUSTEXIST = &H1000
Public Const OFN_HIDEREADONLY = &H4
Public Const OFN_LONGNAMES = &H200000
Public Const OFN_NOCHANGEDIR = &H8
Public Const OFN_NODEREFERENCELINKS = &H100000
Public Const OFN_NOLONGNAMES = &H40000
Public Const OFN_NONETWORKBUTTON = &H20000
Public Const OFN_NOREADONLYRETURN = &H8000
Public Const OFN_NOTESTFILECREATE = &H10000
Public Const OFN_NOVALIDATE = &H100
Public Const OFN_OVERWRITEPROMPT = &H2
Public Const OFN_PATHMUSTEXIST = &H800
Public Const OFN_READONLY = &H1
Public Const OFN_SHAREAWARE = &H4000
Public Const OFN_SHAREFALLTHROUGH = 2
Public Const OFN_SHAREWARN = 0
Public Const OFN_SHARENOWARN = 1
Public Const OFN_SHOWHELP = &H10
Public Const OFS_MAXPATHNAME = 256
 
Public Const LF_FACESIZE = 32
 
‘OFS_FILE_OPEN_FLAGS   and   OFS_FILE_SAVE_FLAGS   below
‘a(chǎn)re   mine   to   save   long   statements;   they‘re   not
‘a(chǎn)   standard   Win32   type.
Public Const OFS_FILE_OPEN_FLAGS = OFN_EXPLORER Or OFN_LONGNAMES Or OFN_CREATEPROMPT Or OFN_NODEREFERENCELINKS Or OFN_HIDEREADONLY Or OFN_ALLOWMULTISELECT
Public Const OFS_FILE_SAVE_FLAGS = OFN_EXPLORER Or OFN_LONGNAMES Or OFN_OVERWRITEPROMPT Or OFN_HIDEREADONLY

Declare Function GetOpenFileName Lib "comdlg32.dll" Alias _
        "GetOpenFileNameA" (pOpenfilename As OPENFILENAME) As Long

Declare Function GetSaveFileName Lib "comdlg32.dll" Alias _
        "GetSaveFileNameA" (pOpenfilename As OPENFILENAME) As Long

Type OPENFILENAME
     lStructSize As Long
     hwndOwner As Long
     hInstance As Long
     lpstrFilter As String
     lpstrCustomFilter As String
     nMaxCustFilter As Long
     nFilterIndex As Long
     lpstrFile As String
     nMaxFile As Long
     lpstrFileTitle As String
     nMaxFileTitle As Long
     lpstrInitialDir As String
     lpstrTitle As String
     flags As Long
     nFileOffset As Integer
     nFileExtension As Integer
     lpstrDefExt As String
     lCustData As Long
     lpfnHook As Long
     lpTemplateName As String
End Type

Public Function ShowOpenFileDialog(Form As Form, Filter As String, Optional OldFileName As String = "") As String
    Dim ofn As OPENFILENAME
    Dim rtn As Long
   
    ofn.hwndOwner = Form.hWnd
    ofn.hInstance = App.hInstance
    ofn.lpstrFilter = Replace(Filter, "|", Chr(0))
    ofn.lpstrFile = Space(2047)
    ofn.nMaxFile = Len(ofn.lpstrFile) + 1
    ofn.lpstrFileTitle = Space(510)
    ofn.nMaxFileTitle = Len(ofn.lpstrFileTitle) + 1
    ofn.lpstrInitialDir = App.Path
    ofn.lpstrTitle = "打開文件"
    ofn.flags = OFS_FILE_OPEN_FLAGS
    ofn.lStructSize = Len(ofn)
    rtn = GetOpenFileName(ofn)
   
    If rtn >= 1 Then
        Dim il As Integer
        il = InStr(1, ofn.lpstrFile, Chr(0))
        If il <= 0 Then il = Len(ofn.lpstrFile)
       
        ShowOpenFileDialog = Left(ofn.lpstrFile, il)
    Else
        ShowOpenFileDialog = OldFileName
    End If
End Function

Public Function ShowSaveFileDialog(Form As Form, Filter As String, Optional OldFileName As String = "") As String
    Dim ofn As OPENFILENAME
    Dim rtn As Long
   
    ofn.hwndOwner = Form.hWnd
    ofn.hInstance = App.hInstance
    ofn.lpstrFilter = Replace(Filter, "|", Chr(0))
    ofn.lpstrFile = Space(2047)
    ofn.nMaxFile = Len(ofn.lpstrFile) + 1
    ofn.lpstrFileTitle = Space(510)
    ofn.nMaxFileTitle = Len(ofn.lpstrFileTitle) + 1
    ofn.lpstrInitialDir = App.Path
    ofn.lpstrTitle = "打開文件"
    ofn.lpstrDefExt = ""
    ofn.flags = OFS_FILE_SAVE_FLAGS
    ofn.lStructSize = Len(ofn)
    rtn = GetSaveFileName(ofn)
   
    If rtn >= 1 Then
        Dim il As Integer
        il = InStr(1, ofn.lpstrFile, Chr(0))
        If il <= 0 Then il = Len(ofn.lpstrFile)
       
        ShowSaveFileDialog = Left(ofn.lpstrFile, il)
    Else
        ShowSaveFileDialog = OldFileName
    End If
End Function

本站僅提供存儲(chǔ)服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊舉報(bào)。
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
Java筆記(八 圖形界面編程)
Wincc打開標(biāo)準(zhǔn)對(duì)話框代碼
【新提醒】【Unity選擇本地文件夾和文件】
C#序列化和反序列化 (BinaryFormatter、SoapFormatter、XML序列化)
VC打開多個(gè)文件
List導(dǎo)入Excel文件
更多類似文章 >>
生活服務(wù)
分享 收藏 導(dǎo)長(zhǎng)圖 關(guān)注 下載文章
綁定賬號(hào)成功
后續(xù)可登錄賬號(hào)暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服