现在的位置: 首页 > 综合 > 正文

[VB.net]关于exe格式flash文件的播放器的剥除(11.01)(exe2swf格式转换器)

2012年10月31日 ⁄ 综合 ⁄ 共 3363字 ⁄ 字号 评论关闭

经过几天的奋战,程序已经成形,现在给出源代码.基于Visual Studio 2010 + .net Framework 3.5  ,在Windows 7下调试通过。

以下是代码(写注释真的好烦):

Imports System
Imports System.IO
Public Class exe2swf
    Dim FPBB1 As Integer    '定义一个变量用于保存Flash Player的版本
    Private Sub ZH1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ZH1.Click
        Dim MBWJ1 As String
        If MBWenJianLJ1.Text = "" Then                '当目标文件路径未填写时
            MBWJ1 = Mid(YWenJianLJ1.Text, 1, YWenJianLJ1.Text.Length - 3) & "swf"  '生成默认路径,即与源文件相同
        Else
            MBWJ1 = MBWenJianLJ1.Text                 '否则则使用已填写的目标文件路径
        End If
        If File.Exists(YWenJianLJ1.Text) = False Then '判断源文件是否存在
            MsgBox("无法打开文件,可能源文件路径错误或不存在!", MsgBoxStyle.OkOnly, "打开文件错误")
        Else
            Select Case FPBB1                         '使用Select函数分开处理不同版本的文件
                Case 1      '使用Flash Player 8.0 r22版播放器的文件处理方法
                    Dim wjsj() As Byte
                    FileOpen(1, YWenJianLJ1.Text, OpenMode.Binary)  '打开源文件
                    ReDim wjsj(LOF(1) - 1581057)                    '读取源文件
                    FileGet(1, wjsj, 1581057)
                    FileClose(1)
                    FileOpen(1, MBWJ1, OpenMode.Binary)             '打开目标文件
                    FilePut(1, wjsj, -1)                            '写入目标文件
                    FileClose(1)
                Case 2      '使用Flash Player 9.0 r45版播放器的文件处理方法
                    Dim wjsj() As Byte
                    FileOpen(1, YWenJianLJ1.Text, OpenMode.Binary)  '打开源文件
                    ReDim wjsj(LOF(1) - 2447561)                    '读取源文件
                    FileGet(1, wjsj, 2447561)
                    FileClose(1)
                    FileOpen(1, MBWJ1, OpenMode.Binary)             '打开目标文件
                    FilePut(1, wjsj, -1)                            '写入目标文件
                    FileClose(1)
                Case 3      '使用Flash Player 9.0 r115版播放器的文件处理方法
                    Dim wjsj() As Byte
                    FileOpen(1, YWenJianLJ1.Text, OpenMode.Binary)  '打开源文件
                    ReDim wjsj(LOF(1) - 3391489)                    '读取源文件
                    FileGet(1, wjsj, 3391489)
                    FileClose(1)
                    FileOpen(1, MBWJ1, OpenMode.Binary)             '打开目标文件
                    FilePut(1, wjsj, -1)                            '写入目标文件
                    FileClose(1)
            End Select
            MsgBox(YWenJianLJ1.Text & " 已经转换成功,并保存为 " & MBWJ1 & "!", MsgBoxStyle.OkOnly, "转换成功")
            '一下If代码段用于在“转换完成后打开”选项勾选的情况下,打开生产的文件。
            If WCDK1.Checked = True Then
                Process.Start(MBWJ1, -0)
            End If
        End If
        YWenJianLJ1.Text = ""            '清除文本框
        MBWenJianLJ1.Text = ""           '清除文本框
        ZH1.Enabled = False              '禁用“转换”按钮
        WCDK1.Checked = False            '取消选择“转换完成后打开”选项
        WCDK1.Enabled = False            '令“转换完成后打开”选项不可用
        DKWJ1.FileName = ""
    End Sub
    Private Sub LL1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles LL1.Click
        DKWJ1.ShowDialog()                  '显示打开文件对话框
        YWenJianLJ1.Text = DKWJ1.FileName   '将打开的文件的路径在源文件路径文本框中显示出来
    End Sub
    Private Sub LL2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles LL2.Click
        BCWJ1.ShowDialog()                  '显示保存文件对话框
        MBWenJianLJ1.Text = BCWJ1.FileName  '将目标文件的路径在目标文件路径文本框中显示出来
    End Sub
    Private Sub YWenJianLJ1_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles YWenJianLJ1.TextChanged
        If YWenJianLJ1.Text = "" Then       '如果“源文件路径”文本框为空,则三个单选按钮为未选状态且不可用
            FP8.Checked = False
            FP91.Checked = False
            FP92.Checked = False
            FP8.Enabled = False
            FP91.Enabled = False
            FP92.Enabled = False
        Else                                '如果“源文件路径”文本框有内容,则三个单选按钮可用
            FP8.Enabled = True
            FP91.Enabled = True
            FP92.Enabled = True
        End If
    End Sub
    Private Sub FP8_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles FP8.CheckedChanged
        If FP8.Checked = True Then          '如果“Flash Player 8单选按钮”选择
            ZH1.Enabled = True              '“转换”按钮可用
            FPBB1 = 1                       '将值“1”赋给“Flash Player版本”变量
            WCDK1.Enabled = True            '“完成后打开”复选按钮可用
        End If
    End Sub
    Private Sub FP91_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles FP91.CheckedChanged
        If FP91.Checked = True Then
            ZH1.Enabled = True
            FPBB1 = 2
            WCDK1.Enabled = True
        End If
    End Sub
    Private Sub FP92_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles FP92.CheckedChanged
        If FP92.Checked = True Then
            ZH1.Enabled = True
            FPBB1 = 3
            WCDK1.Enabled = True
        End If
    End Sub

    Private Sub About1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles About1.Click
        About.Show()
    End Sub
    Private Sub Help1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Help1.Click
        Help.Show()
    End Sub
End Class

需要文件的可以联系我,或者在我的网络硬盘自取。同时还有自己收藏的一些VB和PS教程。

程序和代码:http://u.115.com/file/f47704fbea

教程:http://u.115.com/file/f4ccd83c17

抱歉!评论已关闭.