精华内容
下载资源
问答
  • Python打包exe文件方法汇总【4种】

    万次阅读 多人点赞 2018-10-21 22:15:11
    title: Python打包exe文件方法 copyright: true top: 0 date: 2018-08-11 21:08:21 tags: 打包 categories: Python进阶笔记 permalink: password: keywords: description: 使用py2exe,pyinstaller,cx_Freeze,...

    title: Python打包exe文件方法
    copyright: true
    top: 0
    date: 2018-08-11 21:08:21
    tags: 打包
    categories: Python进阶笔记
    permalink:
    password:
    keywords:
    description: 使用py2exe,pyinstaller,cx_Freeze,nuitka对python文件进行打包,尝试进行混淆代码。

    “乔治是世界上最后一只平塔岛象龟,而我是世界上最后一个源家后裔,最后一只平塔岛象龟应该为了种族不灭努力地繁殖后代,最后一个源家后裔应该重振家族在黑道中的威望,但是乔治只是想回自己的水坑里去打滚,而我只是想去天体海滩上卖防晒油。”源稚生盯着恺撒的眼睛,“我就是这种人,其实蛇岐八家的黑道事业和秘党的使命对我来说都不重要,我的人生理想就是去卖防晒油。我跟你叔叔不是一种人。”

    Python作为解释型语言,发布即公开源码,虽然是提倡开源但是有些时候就是忍不住想打包成exe,不仅仅是为了对代码进行加密,而是为了跨平台。防止有些没有安装py环境的电脑无法运行软件。

    目录对python代码打包成exe的方式有4种,py2exe,pyinstaller,cx_Freeze,nuitka,分别对以上4种方法介绍,欢迎纠错和提供新的办法。

    py2exe

    介绍

    py2exe是一个将python脚本转换成windows上的可独立执行的可执行程序(*.exe)的工具,这样,你就可以不用装python而在windows系统上运行这个可执行程序。

    优点:

    1. 可以把python打包成exe

    缺点:

    1. 打包好的 exe只能在相同的系统下运行,比如你在XP系统用py2exe打包好的exe只能在XP上运行,在win7上肯定有问题,而且也是存在在别的XP机子上也可能不能运行,因为一些别的机子可能会缺少dll文件什么的,作者我当时之所以抛弃py2exe 也是因为这个原因;

    2. 打包的文件也需要打包同exe下的dll,和一些库的压缩包,不然exe根本跑不起来

    3. 打包时候报始终报RuntimeError: BeginUpdateResource错误,就需要拷贝dll文件。C:\WINDOWS\system32\python27.dll复制到dist目录

    4. 总之毛病一大堆,基本上已经舍弃了

    使用

    下载地址

    安装好后,准备进行打包

    准备一个文件x.py,这个x.py就是想要打包成exe。

    然后这x.py同目录下新建一个setup.py,内容如下:

    #coding=utf-8
    from distutils.core import setup
    import py2exe
    includes = ["encodings", "encodings.*"]
    #要包含的其它库文件
    options = {"py2exe":
      {
        "compressed": 1, #压缩
        "optimize": 2,
        "ascii": 1,
        "includes": includes,
        "bundle_files": 1 #所有文件打包成一个exe文件
      }
    }
    setup (
      options = options,
      zipfile=None,  #不生成library.zip文件
      console=[{"script": "x.py", "icon_resources": [(1, "Q.ico")] }]#源文件,程序图标
    )
    

    然后这cmd窗口下运行:

    python setup.py py2exe
    

    py2exe使用方法 (含一些调试技巧,如压缩email 类)

    pyinstaller

    PyInstaller除了win32平台外还支持Linux,Unix平台.py2exe的用法在前面的博文里已经有了,现在看看PyInstaller,pyinstaller是目前应用最多的python打包工具,也是我最常用的。

    PyInstaller本身并不是Python模块,所以安装时随便放在哪儿都行。

    优点:

    1. 可将python文件转成可执行文件
    2. 跨平台
    3. 输出的可以是单一目录,也可以是一个单独的打好包的可执行文件。py2exe貌似输出目录。
    4. 智能支持python的第三方模块如PyQt,外部数据文件等
    5. 支持EGG格式文件
    6. 可执行文件可以用UPX压缩,二进制压缩方式
    7. 支持控制台和视窗两种方式。
    8. 可以选择exe文件的图标 (Windows only)
    9. 支持 COM server (Windows only)

    缺点:

    1. import导入的问题

    pyinstaller是很智能的,只要指定了入口py文件,那么它就会根据代码自动查找需要导入的包。但是隐式导入的话,平常运行是没有问题的,举例:

    # test1.py
    from sqlalchemy import create_engine
    from sqlalchemy.orm import sessionmaker
     
     
    DB_CONNECT_STRING = 'mysql+pymysql://root:123456@localhost/study'
    engine = create_engine(DB_CONNECT_STRING, echo = False)
    DB_Session = sessionmaker(bind = engine)
    session = DB_Session()
     
    print('this is my test')
    

    运行这个ORM库的初始化引擎,是没有问题的,在console得到结果:
    this is my test

    那么我们开始打包,使用最简单的pyinstaller test1.py。打包完成后,在当前目录下有个dist文件夹,进入dist下的test1文件夹,然后打开cmd,运行这个exe,我们就会发现:

    提示: no model named ‘pymysql’

    这是怎么回事呢?那么问题来了,sqlalchemy这个库在初始化的时候是不需要显示导入引擎库的,它自己有一个create_engine()的函数来初始化,这个字符串是使用者根据规则来自己填写的。其实解决的方法很简单,我们只要在显式导入pymysql这个库即可。现在我们导入这个库:

    import pymysql
    

    重新打包一遍(重新打包的时候记得删除掉spec文件,否则会有缓存,或者是加上–clean选项清除掉),再次运行,现在就没有这个问题了。

    1. 多进程打包的问题

    官方的CPython存在一个GIL锁,这个锁的存在有很多优点,很多库都是线程安全的,单线程执行的效率也高。在python早期的一个版本中取消掉了GIL,代之以高粒度的锁来实现多线程,但是实际应用中单个线程的效率大大降低。故后来又将GIL这个锁还原回去,所以至今的python2也好还是python3中都会有这个锁。但是这个锁有很大一个问题,那就是效率问题,它导致了python仅仅只能利用一个core来进行数据的计算。所以后面为了弥补这个GIL带来的问题,专家们设计了multiprocessing库,gevent库等。前一个是多进程库,为了解决python用于数据密集型处理的情况;后一个用于异步IO处理的情况,基本原理就是在CPU时钟之间来回切换,简单的例子就是爬虫程序爬取网页的时候。假如有10个url,我们都要去GET它,实际上网络之间的延迟是大大高于计算机内部的,那么这个时间内计算机就切换到下一个。

    有时候运用多进程是必须的,这个替代不了,哪怕它占用资源很多。

    使用

    安装:

    pip install pyinstaller
    

    使用方法(例子):

    pyinstaller -D -p F:\Python27\Lib -i logo.ico mian.py
    

    -D:打包成多个文件
    -p:指定python安装包路径
    -i:指定图标,我的图标放在同目录下
    mian.py:要打包的文件,和图标放在同目录下了

    -D与-F一一对应,-F是打包成一个单独的文件。最后一排加上–noconsole,就是无窗口运行。

    如果py程序是多进程的话,使用pyinstaller打包会出现错误,这个时候只要加上一行代码

    在:
    if name==‘mian’:
    #新增
    multiprocessing.freeze_support()

    即可

    有的时候你加上图片后打包会出错,这是因为图标里面的格式出错了,需要用图片编辑软件重新对图片内部大小进行设置,这个百度一下吧~

    如果要加密混淆代码(其实没有用,一样可以反编译出你的源代码,但是聊胜于无吧)

    加上一行 --key=asfweakjhfksafkasdkdbas随便几个字符串

    好像要安装依赖包,根据提示安装即可

    cx_Freeze

    python中比较常用的python转exe方法有三种,分别是cx_freeze,py2exe,PyInstaller。py2exe恐怕是三者里面知名度最高的一个,但是同时相对来说它的打包质量恐怕也是最差的一个。pyinstaller打包很好,但是操作工序较为复杂,推荐cx_freeze,可以通过pip install cx-freeze 安装。–这是别人的描述,其实我觉得pyinstaller其实挺简单的

    使用

    安装方法:

    1. 打开cmd,输入pip install cx-freeze 后,会发现在python的Scripts文件夹下生成了三个文件
    2. 然后在cmd中,切换到Scripts路径下,输入 python cxfreeze-postinstall,会发现Scripts文件夹下又多了.bat文件,此时已经安装成功
    3. 继续在cmd下尝试输入 cxfeeeze -h 验证下,显示成功。

    提示:直接通过 pip install cx-freeze 安装,仍然出现错误时(找不到文件),最好去官网:网址手动下载相应版本的cx-freeze文件,放在Scripts文件夹下,手动双击安装,然后再运行cxfreeze-postinstall。(例如:我的python版本是3.4.3,下载cx_Freeze-4.3.3.win-amd64-py3.4的文件。注意,版本不对无法安装!)

    在cxfreeze的安装目录下即\Python34\Scripts,添加一个文件cxfreeze.bat(可用记事本)cxfreeze.bat内容如下:

    @ echo off
    C:\Python34\python.exe C:\Python34\Scripts\cxfreeze %*
    

    在该目录下输入czfreeze -h也可以查看安装情况(用pip install cxfreeze就可直接安装改第三方库)

    打包方法

    打包文件时要在Scripts文件夹路径下操作,文件的路径最好是绝对路径。例如:将 G 盘的 hello.py 打包到 G 盘的 123文件夹下:cxfreeze g:\hello.py --taget-dir g:\123 或者 cxfreeze g:\hello.py --taget-dir g:\123 --base-name=Win32GUI。加上–base-name=Win32GUI可以在运行exe时去掉cmd黑框。

    具体操作:

    首先在命令提示符中使用cd命令转换到所需要转换的python文件的目录中,因为转换后的dist文件夹会出现在命令提示符的当前目录中

    然后输入:

    cxfreeze --init-script=C:\Users\tangc\Desktop\alien_invasion\alien_invasion.py alien_invasion.py
    
    --init-script=后接绝对路径
    

    如果你的程序中有图片等资源,是需要根据程序中的相对路径加入到dist文件中,也要在.exe同目录中加入images的文件夹(图片资源)

    如果原.py程序使用了图片等素材,并且添加图片是相对路径(同一个文件夹下可以不使用绝对路径),打包文件后,需要将图片等素材拷贝一份放在打包后的文件夹下,否则运行.exe程序会找不到图片素材。

    如果原.py程序使用图片添加的是绝对路径,在本地电脑上运行时可能不会发现错误。但是你将打包后的文件发给另一台机器,运行.exe程序会报错,大概意思是“根据你写的绝对路径找不到图片等素材”,即使你在文件夹下拷贝了素材,但是绝对路径也是错误的,所以,最好使用上一种方法。

    注意:

    • 只能指定一个要打包的模块,也就是启动模块

    • 发布后,可执行文件执行路径不能有中文(最好也不要有空格)

    • 启动执行的文件中不要有下面这种判断,否则可执行文件执行会没有任何效果

        if __name__=='__mian__':
      
    • 将exe放到其他机子上运行,弹出“找不到msvcr100.dll“ ,手动将”msvcr100.dll“拷贝到dist目录下即可

    • 要去掉exe里的后面黑色控制台窗口就在前面的命令改成:
      cxfreeze C:\Users\restartRemote.py (需打包文件路径) –target-dir D:\pyproject (存放exe的目标文件夹路径)–base-name=win32gui

    nuitka

    Nuitka直接将python编译成C++代码 ,再编译C++代码产生可执行文件,完全不存在反向解析的问题,非常安全,而且由于可执行文件由C++编译而来,运行速度也会获得提升。

    但是我在打包中发现了一个文件,那就是在另一台电脑上无法运行…并且实际编译时需要近20分钟,编译的时候cpu持续100%

    不过如果只是自己的电脑上运行的话,还是挺好使的

    官方文档

    注意nuitka对python的某些语法有专门要注意的地方

    下载地址

    下载完后会提示安装编译c++代码的软件,使用的是gcc

    安装好有会有一个MinGW64的文件夹,比如我要打包一个back.py的文件,把这个py文件放在哪个目录下,常用命令如下

    python -m nuitka --recurse-all --standalone cc.py
    
    python -m nuitka --standalone back.py
    
    # 可以用的打包方式
    python -m nuitka --recurse-all --recurse-plugins=F:\Python27\Lib --remove-output --plugin-enable=enum_compat back.py
    # 带图标并且有窗口
    python -m nuitka --recurse-all --recurse-plugins=F:\Python27\Lib --remove-output --icon=logo.ico --plugin-enable=enum_compat back.py
    # 不带窗口不带图标
    python -m nuitka --recurse-all --recurse-plugins=F:\Python27\Lib --remove-output --plugin-enable=enum_compat --windows-disable-console back.py
    
    # 不删除辅助文件夹
    python -m nuitka --recurse-all --recurse-plugins=F:\Python27\Lib --icon=logo.ico --plugin-enable=enum_compat back.py
    
    # 其他可运行
    
    
    python -m nuitka --recurse-all --recurse-plugins=F:\Python27\Lib --standalone --remove-output --icon=logo.ico --plugin-enable=enum_compat back.py
    

    在编译的时候大概要挺长时间,并且cpu持续暴涨。

    速度…感觉确实变快了点…

    代码混淆

    你可以自己写混淆器,虽然说是防君子不防小人,但是…罢了不提了…

    我使用的是一个在线的代码混淆器,猜测代码会上传到那个服务器上面,所以用或不用看你的需求了

    地址

    注意:代码规范符合python3

    欢迎关注公众号:【安全研发】获取更多相关工具,课程,资料分享哦~
    在这里插入图片描述

    展开全文
  • 1.打开VB6 2.选择新建一个标准EXE 3.做好程序 ... 5.选择生成选项 ...'调用EXE文件宏程序 Dim Progpfad As String Sub main() Progpfad = "这里为EXE文件路径" MyAppID = Shell(Progpfad, 1) End Sub ...

    1.打开VB6
    在这里插入图片描述
    2.选择新建一个标准EXE
    在这里插入图片描述
    3.做好程序
    f
    4.点击“”文件“”菜单
    在这里插入图片描述
    5.选择生成选项在这里插入图片描述
    6.保存应用程序到自定义路径在这里插入图片描述
    7.完成在这里插入图片描述
    '调用EXE文件宏程序
    Dim Progpfad As String

    Sub main()

      Progpfad = "这里为EXE文件路径"
    

    MyAppID = Shell(Progpfad, 1)

    End Sub

    展开全文
  • U盘文件变exe文件

    千次阅读 2018-12-25 19:49:14
    今天去打印店打印东西,打印完之后,文件就变成了.exe文件,由于本人比较懒,并没有安装360等杀毒工具,所以就打算用·另一种方法恢复文件。  先win+r 进入cmd命令提示符下,定位U盘,输入attrib -R -A -S -H /S /...

           今天去打印店打印东西,打印完之后,文件就变成了.exe文件,由于本人比较懒,并没有安装360等杀毒工具,所以就打算用·另一种方法恢复文件。

           先win+r 进入cmd命令提示符下,定位U盘,输入attrib -R -A -S -H /S /D即可,然后删除exe文件即可。

           由于U盘病毒都是在U盘根目录里新建一个autorun.inf文件,因此可以事先建一个此名字的文件夹,在文件夹里新建一个畸形文件(无法打开无法修改无法删除只能通过格式化搞掉),然后就可以防毒了。新建好autorun.inf文件夹之后,键盘win+R输入cmd,定位到自己的U盘的autorun.inf文件夹内,输入md fangdu..\

    展开全文
  • 将python文件打包成exe可运行文件

    万次阅读 多人点赞 2017-12-24 18:16:19
    目前有好几种方法可以将python文件打包成exe应用程序文件,例如py2exe,pyinstaller等,比较下来,还是觉得pyinstaller使用起来比较简单。 首先第一步下载安装pyinstaller, 如果已经安装过python3的用户比较方便...

              目前有好几种方法可以将python文件打包成exe应用程序文件,例如py2exe,pyinstaller等,比较下来,还是觉得pyinstaller使用起来比较简单。

       首先第一步下载安装pyinstaller,

      如果已经安装过python3的用户比较方便,可以使用python3文件下的Scripts文件中的pip安装,python2好像没有,使用pip安装非常方便,首先用windows键+R键打开控制台(就是那个黑色命令框),然后找到python3\scripts下的pip文件,将他拉到黑色框上,它的地址自动输入,然后输入install pyinstaller就可以了,或者自己手动输入pip所在路径也可以

    安装完成后pyinstaller的应用程序在python/scripts/下,与pip在同一路径下,添加此路径到path

    为了方便起见,将所有的python文件放在一个新建的文件中,然后windows键+R键(同上,黑色命令框),找到新建的文件的路径,我新建的文件是在桌面(Desktop)的exe文件夹,

    然后输入  pyinstaller -w python文件名即可

    我的python文件有三个,互相调用,所以只打包主文件就可以

    上图就是打包后的文件,原本新建的文件中只有main.py        Mainpage.py           view.py三个文件,

     

    产生的应用程序在dist目录下的main(根据你的文件名而定)文件中的应用文件

    有不懂得可以在评论下留下联系方式,帮助你解答

    以上为windows下打包,在liunx下打包流程一致,打包后的应用程序不是exe,而是打包文件名程序,直接可以运行(./应用程序)

     

     

    关注微信公众号:菜鸟阿都

    展开全文
  • JS执行exe文件

    千次阅读 2018-06-21 12:13:50
    使用js调用客户端的exe文件,在网上搜索主要有两种方式:1、使用ActiveXObject <script type="text/javascript"> function open_exe(strPath) { try{ //新建一个ActiveXObject对象 .....
  • 前言 现在就开始VScode创建jar包,jar包转成.exe文件,.exe文件转成安装包的一条龙服务吧! 我的电脑环境:win10
  • 写在前面:需求是第一章有12节课,每节课打包成了一个EXE文件,得把这12节课的EXE合起来,用一个总的EXE文件来启动————我们假设它为Manager.EXE,其中某一节课为Lesson001.EXE(存在于第一课打出名为“Lesson”...
  • Java打包exe文件

    千次阅读 2017-06-30 11:19:07
    手把手教你使用launch4j打包Java的.exe文件
  • MFC打包exe文件

    千次阅读 2020-06-16 16:18:32
    3.点击解决方案资源管理器下的新建项目(我命名为Setup1),代码在 Release模式下编译,在应用程序文件夹右键-添加-项目输出,然后右键生成快捷方式,将快捷方式放到菜单和桌面,可以将window的msiexec.exe文件做...
  • Python文件封装成exe文件

    千次阅读 2019-12-25 16:43:41
    封装过程 安装pyinstaller模块 使用Windows+R输入cmd打开cmd命令窗口,pyinstaller模块依赖于pywin32模块,所以先输入pip install pywin32安装... 新建一个文件夹(此例文件夹名为fz),将要封装的python文件放进去(...
  • Qt设置EXE文件图标

    千次阅读 2019-06-07 11:03:47
    新建文本文件并将后缀改为.rc,这里将其命名为app.rc 2.编辑.rc文件 此时需要一个XXX.ico图标文件,使用文本编辑器打开.rc文件并写入以下内容 IDI_ICON1 ICON DISCARDABLE "XXX.ico" 3.添加.rc文件 在Qt应用...
  • VC调用exe文件

    千次阅读 2017-06-03 17:00:09
    第1步: 新建工程,选择Empty Project,Finish第2步: 新建cpp文件,并输入代码/* * 使用matlab生成的exe做加减运算(每次调用exe都会启动matlab引擎,比较花时间) */ #include using namespace std;void main()...
  • U盘文件夹变成.exe文件的解决方法

    万次阅读 多人点赞 2018-10-30 22:14:05
    U盘文件夹变成.exe文件的解决方法 1.新建一个记事本文件夹, 内容为 Windows Registry Editor Version 5.00 [HKEY_LOCAL_ MACHINE \SOFTWARE\Microsoft\Windows\CurrentVersion \Explorer\Advanced\Folder\Hidden \...
  • windows右键新建菜单增加新建md文件(图文并茂)

    千次阅读 多人点赞 2020-09-16 18:33:45
    windows右键新建菜单增加新建md文件 windows右键增加打开Typora windows右键文件时通过Typora打开文件 法一 win+r 输入regedit进入注册表 HKEY_CLASSES_ROOT下创建项,命名为.md 默认值设置为.md 然后...
  • 1、打开控制台,安装python库: pip install pyinstaller 2、生成exe,会在py文件同级目录下新建一个dist文件夹,exe与py文件同名,没有其他文件。 pyinstaller -F test.py ...
  • Qt设置生成的exe文件图标

    千次阅读 2018-05-05 01:34:52
    在Qt中,设置窗口图标可以使用setWindowIcon函数来实现,但仅仅只设置了当前窗口的图标,如果需要对编译后生成的exe文件设置图标,这个时候就需要添加一个.rc文件。 新建一个文本文件,并将后缀改为.rc,这里命名为...
  • java应用程序利用Exe4j打包exe文件

    千次阅读 2015-07-21 16:19:52
    java应用程序利用Exe4j打包exe文件今天上课给学生介绍利用Myeclipse打jar包和exe文件,随便就随手写了下文档供大家参考,希望对大家有用。1. 使用简介:把java应用程序打成exe文件我们可以借助第三方软件exe4j来完成...
  • 这里写自定义目录标题Python打包成exe文件太大问题解决办法1、使用pip安装pipenv库,用于创建虚拟环境2、新建一个准备当环境的文件夹pipenvtest,并cd进入该文件夹3、建立虚拟环境4、进入虚拟环境(以下操作皆为...
  • 生成python程序的exe文件

    千次阅读 2016-05-26 15:56:34
    生成python程序的exe文件  在不安装python运行环境的情况下,用py2exe生成python程序的exe文件是最优选择。
  • windows定时运行exe文件

    千次阅读 2020-12-29 17:17:37
    windows定时运行exe文件通过任务计划程序进行运行1、在cmd打开任务计划程序两种方法2、新建一个计划程序文件夹3、新建任务1、创建任务2、设置触发器3、设置操作4、其他的看情况进行设置通过cmd设置运行at命令以及...
  • 1.调用服务器端文件,以下只显示类文件代码: @RequestMapping(params = "method=openExe") public void openExe(HttpServletResponse response){ Runtime rn = Runtime.getRuntime(); Process p = null; try { ...
  • vs2015生成可运行exe文件

    万次阅读 2019-02-12 12:07:16
    vs2015生成可运行exe文件 一、先在vs2015中进行配置,我是两项都配置了,所以也不知道是哪个起了作用。 1. 项目 -> 配置属性->常规->MFC的使用 :在静态库中使用MFC。 2. 项目 -> ...
  • Java 将jar文件打包成exe执行文件

    千次阅读 2019-09-22 08:44:31
    由于平时运行jar文件需要在命令行打开感觉比较麻烦所以我们可以把jar打包成exe执行文件 工具: exe4j (官网下载链接:https://exe4j.apponic.com/) jre:(下载jdk的时候有jre) 因为打包后的exe发给了一个没有配置...
  • Qt导出exe文件

    万次阅读 2019-05-07 17:17:20
    首先用 QtCreator 新建一个 Qt Widgets Application 项目,直接用默认的 QMainWindow 程序就可以了,项目名字假定是 hellomw。 然后以 Release 方式编译生成 exe 程序: 生成的程序运行正常之后,找到项目的生成...
  • 一不小心将注册表中的HKEY_CLASSES_ROOT\.exe删除,导致.exe文件全部打不开。本想重新添加一个值到注册表,却发现就连注册表都打不开。win+R,输入regedit都打不开。还好网上教程多。 新建一个txt文件。写入下面的...
  • EXE4J是一个不错的打包软件,它可以将JAR包打包成EXE文件以便于在WINDOWS环境下运行,笔者经过使用。对其使用方法进行了总结,现介绍如下:  1.启动EXE4J,如下图:      图中OPEN按钮用于打开已经编辑过的....
  • 又增加了自己的修改。 先说下自己转换过程中遇到的问题: 1. 安装exe4j以及转换过程中,所有路径最好不要有中文 ;...3. 如果项目代码中需要使用导出后的.exe文件路径,则需要在转换过程的第五项:
  • matlab生成exe可执行文件

    万次阅读 2018-10-10 10:49:56
    被matlab 生成可执行exe文件的方法虐了好久,终于找到一个有效的方法,分享给大家。  运行m文件,在命令窗口输入mcc -m 文件名.m,回车,在当前文件夹下新生成四个文件(有一个是文件名.exe),将四个文件放到一个...
  • 注意这里面“另外一个EXE文件”既可以是EXE文件,也可以是一个DLL文件。首先我们可以创建一个类库(或者一个控制台程序)using System;using System.Reflection; namespace AppDomainDLL{ public class

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 192,216
精华内容 76,886
关键字:

怎样新建exe文件