精华内容
下载资源
问答
  • 利用Python写了一个小脚本想要传给使用Windows但没有装Python朋友执行,这时候就可以利用将档案包装成exe档案,让没有Python朋友也可以执行。本篇将介绍利用套件「PyInstaller」制作exe档。 1|0安装方法 #安装...
  • View.h中: void CInteractiveDrawView::OnMouseMove(UINT nFlags, CPoint point) { // TODO: Add your message handler code here and/or call default CClientDC dc(this);...求大侠告诉解决方法
  • 利用Python写了一个小脚本想要传给使用Windows但没有装Python朋友执行,这时候就可以利用将档案包装成exe档案,让没有Python朋友也可以执行。本篇将介绍利用套件「PyInstaller」制作exe档。1|0安装方法#安装...

    利用Python写了一个小脚本想要传给使用Windows但没有装Python的朋友执行,这时候就可以利用将档案包装成exe档案,让没有Python的朋友也可以执行。本篇将介绍利用套件「PyInstaller」制作exe档。

    1|0安装方法

    #安装pyinstaller

    pip install pyinstaller

    #安装依赖

    pip install pywin32-ctypes

    2|0常用参数介绍

    pyinstaller -h来查看参数

    -F打包成一个exe文件

    -i图标路径

    -w使用视窗,无控制台

    -c使用控制台,无视窗

    -D创建一个目录,包含exe以及其他一些依赖性文件

    编译文件时,我们通常使用如下命令:

    pyinstaller -F -w -i favo.ico main.py

    3|0静态文件

    对于python所依赖的图片,config.yaml等静态文件,pyinstall不会自动打包,需要手动在main.py(所需要打包的入口文件)的相同目录中寻找main.spec,修改datas依赖,才可以自动打包到exe的相同目录下,然后执行即可

    datas是一个数组,每个子项是一个tuple,其中tuple的第一个参数是你要打包的源路径,第二个参数是打包后的名字

    # -*- mode: python -*-

    block_cipher = None

    a = Analysis(['ui.py'],

    pathex=['C:\\Users\\user\\Desktop\\resilio\\toyou\\code\\zeus_board_test'],

    binaries=[],

    datas=[('C:\\Users\\user\\Desktop\\resilio\\toyou\\code\\zeus_board_test\\images','images'),('C:\\Users\\user\\Desktop\\resilio\\toyou\\code\\zeus_board_test\\question.yaml','question.yaml')],

    hiddenimports=[],

    hookspath=[],

    runtime_hooks=[],

    excludes=[],

    win_no_prefer_redirects=False,

    win_private_assemblies=False,

    cipher=block_cipher,

    noarchive=False)

    然后执行:

    pyinstaller -F main.spec

    4|0示例

    如下图所示,我们编写一个输出helow pyinstaller的Python程序,并利用input()使程序可以暂时停在输出画面。

    print('helow pyinstaller')

    input('please wait:')

    编译python为exe,编译过程中会自动安装相关依赖

    pyinstaller -F hello.py

    编译过程中会产生如下输出:

    6942 INFO: checking PY

    6944 INFO: Building because toc changed

    6944 INFO: Building PYZ(ZlibArchive)C:\Users\user\Desktop\test\build\test\PYZ-00.pyz

    7559 INFO: Building PYZ(ZlibArchive)C:\Users\user\Desktop\test\build\test\PYZ-00.pyz completed successfully.

    7568 INFO: checking PKG

    7569 INFO: Building because toc changed

    7569 INFO: Building PKG(CArchive)PKG-00.pkg

    9407 INFO: Building PKG(CArchive)PKG-00.pkg completed successfully.

    9409 INFO: Bootloader c:\users\user\appdata\local\programs\python\python36\lib\site-packages\PyInstaller\bootloader\Windows-64bit\run.exe9409 INFO: checking EXE

    9411 INFO: Building because toc changed

    9411 INFO: Building EXE from EXE-00.toc

    9412 INFO: Appending archive to EXE C:\Users\user\Desktop\test\dist\test.exe

    9455 INFO: Building EXE from EXE-00.toc completed successfully.

    通过输出可以看出pyinstaller进行了如下操作:

    会先建立一个hello.spec

    建立「build」文件夹

    建立log纪录档与工作档案于文件夹build中

    建立「dist」文件夹

    建立执行档(.exe)在「dist」文件夹

    4|1注意事项

    执行档案可在win8/win10,64位的电脑运行,但win7 x64和其余所有32位失败,会提示不兼容,若要能32位与64位皆可运行,就要在Python 32位的环境下编译PyInstaller打包exe,才能在32位与64位成功。

    展开全文
  • 今天发现要想在cmd窗口中运行javamain方法时要想传入含有中文的的...Dfilecoding=UTF8,然后这个参数是也是没有用,因为这个参数是指定java.exe这个控制台编码格式,对于cmd传参数给main编码没有任何帮助.

    今天发现要想在cmd的窗口中运行java的main方法时要想传入含有的中文的的参数没有那么容易, 如传入的文件路径里有中文或者是文件名是中文的,传到main里的时候得到的是一个乱码了,然后就尝试各种编码参数了,其中最容易想到的应该就是-Dfilecoding=UTF8,然后这个参数是也是没有用的,因为这个参数是指定java.exe这个控制台的编码格式,对于cmd传参数给main的编码没有任何帮助.

    谷歌一下就能在stackoverflow上找到答案,因为cmd它转为采用的编码是ASCII,所以中文没有办法编码所以传给java时就是一个乱码,所以把这个cmd的默认编码修改一下就可以了,使用chcp命令,如切换到utf8字符集上就可以使用"chcp 65001"然后会显示出来当前活动的编码页,注意:这个操作只是针对当前这个cmd窗口的所以必须要在这个窗口来的执行那个含有中文的命令.

    这样的就解决了问题,为了方便我把切换编码弄成一个bat批处理这样就方便了如下图


    这样我就可以接受含有中文的参数了其中"%1 %2 %3"是传入的参数

    展开全文
  • adb1.0.26包含fastboot.exe

    2019-03-05 15:11:03
    一般能在「设置」-「关于手机」-「状态信息」-「IP地址」找到,也可以使用下文里 查看设备信息 - IP 地址 一节里的方法用 adb 命令来查看。 通过 IP 地址连接设备。 adb connect 这里的 <device-ip-address> 就是...
  • 可通过程序参数来控制,方法是:先创建飞秋快捷方式,然后右键点击快捷方式菜单中属性,在快捷方式栏中目标后面加上参数 /local,如你程序在飞秋FeiQ.exe,则加参数后为飞秋FeiQ.exe /local,这样话,所有...
  • 用命令行编绎方法

    2011-06-01 10:21:00
    如2.cpp文件在F:盘下 1.安装VS2008 2.VS...编绎: cl 2.cpp 这时会生成exe文件,运行这个就是想要 如果想要传参数如1, 2 main, 直接打 2 1 2就行    

    如2.cpp文件在F:盘下

    1.安装VS2008

    2.VS2008-工具-visual studio 2008 command promp

    3. 进入目录f:

    4.编绎:

    cl 2.cpp

    这时会生成exe文件,运行这个就是想要的

    如果想要传参数如1, 2 给main,

    直接打

    2 1 2就行

     

     

    展开全文
  • 最近在做外部调用exe并传给exe相应参数 方法有两种。。 1,用program.start() 2,shell() 3,调用API 以下内容来自http://www.pinvoke.net/default.aspx/shell32.shellexecuteex C# Signature:: [DllImport(...

    最近在做外部调用exe并传给exe相应参数

    方法有两种。。

    1,用program.start()

    2,shell()

    3,调用API

     

    以下内容来自http://www.pinvoke.net/default.aspx/shell32.shellexecuteex

    C# Signature::

    [DllImport("shell32.dll", CharSet = CharSet.Auto)]
    static extern bool ShellExecuteEx(ref SHELLEXECUTEINFO lpExecInfo);

    VB.NET Signature:

    <DllImport("Shell32", CharSet:=CharSet.Auto, SetLastError:=True)> _
    Public Function ShellExecuteEx(ByRef lpExecInfo As SHELLEXECUTEINFO) As Boolean
    End Function

    User-Defined Types:

    (VB.NET)

    Public Structure SHELLEXECUTEINFO
        Public cbSize As Integer
        Public fMask As Integer
        Public hwnd As IntPtr
        <MarshalAs(UnmanagedType.LPTStr)> Public lpVerb As String
        <MarshalAs(UnmanagedType.LPTStr)> Public lpFile As String
        <MarshalAs(UnmanagedType.LPTStr)> Public lpParameters As String
        <MarshalAs(UnmanagedType.LPTStr)> Public lpDirectory As String
        Dim nShow As Integer
        Dim hInstApp As IntPtr
        Dim lpIDList As IntPtr
        <MarshalAs(UnmanagedType.LPTStr)> Public lpClass As String
        Public hkeyClass As IntPtr
        Public dwHotKey As Integer
        Public hIcon As IntPtr
        Public hProcess As IntPtr
    End Structure

    (C#)

        [StructLayout(LayoutKind.Sequential)]
        public struct SHELLEXECUTEINFO
        {
            public int cbSize;
            public uint fMask;
            public IntPtr hwnd;
            [MarshalAs(UnmanagedType.LPTStr)]
            public string lpVerb;
            [MarshalAs(UnmanagedType.LPTStr)]
            public string lpFile;
            [MarshalAs(UnmanagedType.LPTStr)]
            public string lpParameters;
            [MarshalAs(UnmanagedType.LPTStr)]
            public string lpDirectory;
            public int nShow;
            public IntPtr hInstApp;
            public IntPtr lpIDList;
            [MarshalAs(UnmanagedType.LPTStr)]
            public string lpClass;
            public IntPtr hkeyClass;
            public uint dwHotKey;
            public IntPtr hIcon;
            public IntPtr hProcess;
        }

        public enum ShowCommands : int
        {
            SW_HIDE = 0,
            SW_SHOWNORMAL = 1,
            SW_NORMAL = 1,
            SW_SHOWMINIMIZED = 2,
            SW_SHOWMAXIMIZED = 3,
            SW_MAXIMIZE = 3,
            SW_SHOWNOACTIVATE = 4,
            SW_SHOW = 5,
            SW_MINIMIZE = 6,
            SW_SHOWMINNOACTIVE = 7,
            SW_SHOWNA = 8,
            SW_RESTORE = 9,
            SW_SHOWDEFAULT = 10,
            SW_FORCEMINIMIZE = 11,
            SW_MAX = 11
        }

        [Flags]
        public enum ShellExecuteMaskFlags : uint
        {
            SEE_MASK_DEFAULT = 0x00000000,
            SEE_MASK_CLASSNAME = 0x00000001,  
            SEE_MASK_CLASSKEY = 0x00000003,   
            SEE_MASK_IDLIST = 0x00000004,   
            SEE_MASK_INVOKEIDLIST = 0x0000000c,   // Note SEE_MASK_INVOKEIDLIST(0xC) implies SEE_MASK_IDLIST(0x04) 
            SEE_MASK_HOTKEY = 0x00000020,   
            SEE_MASK_NOCLOSEPROCESS = 0x00000040, 
            SEE_MASK_CONNECTNETDRV = 0x00000080,  
            SEE_MASK_NOASYNC = 0x00000100,   
            SEE_MASK_FLAG_DDEWAIT = SEE_MASK_NOASYNC, 
            SEE_MASK_DOENVSUBST = 0x00000200,   
            SEE_MASK_FLAG_NO_UI = 0x00000400,   
            SEE_MASK_UNICODE = 0x00004000,
            SEE_MASK_NO_CONSOLE = 0x00008000,
            SEE_MASK_ASYNCOK = 0x00100000,
            SEE_MASK_HMONITOR = 0x00200000,   
            SEE_MASK_NOZONECHECKS = 0x00800000,
            SEE_MASK_NOQUERYCLASSSTORE = 0x01000000,
            SEE_MASK_WAITFORINPUTIDLE = 0x02000000,
            SEE_MASK_FLAG_LOG_USAGE = 0x04000000,
        }

    Notes:

    Check the SW constants at to see what value to pass in the nShow member. Typically you'll pass SW_SHOW.

    Be careful with the string structure fields: UnmanagedType.LPTStr will be marshalled as unicode string so only the first character will be recognized by the function. Use UnmanagedType.LPStr instead. [Tested on Win7]

    lpVerb member can be used for a varity of actions like "properties", "find", "openas", "print"..etc depending on the file type you're dealing with.Actions available for a specific file type are stored in registry, setting lpVerb to null results in the default action of that file type to be executed.

    Someone previously thought "the truth is in the headers - in this case ShellAPI.h, which declares them all as LPCSTR i.e. they're always ANSI not Unicode.". On the contrary, shellapi.h defines two versions of the structure, SHELLEXECUTEINFOA and SHELLEXECUTEINFOW, and ShellExecuteExW expects a SHELLEXECUTEINFOW structure... so although "LPCTSTR" never appears in the definition the effect is the same.

    Tips & Tricks:

    (C#)

    using System.Runtime.InteropServices;

    (VB.NET)

    Imports System.Runtime.InteropServices

    Sample Code:

    VB.NET

    Demonstrates how to open an HTML file in the browser:

    Dim info As SHELLEXECUTEINFO
    info.cbSize = System.Runtime.InteropServices.Marshal.SizeOf(info)
    info.lpVerb = "open"
    info.lpFile = "somefile.html"
    info.nShow = SW_SHOW
    If Not ShellExecuteEx(info) Then
         Dim ex As New System.ComponentModel.Win32Exception(System.Runtime.InteropServices.Marshal.GetLastWin32Error())
         MessageBox.Show(ex.Message, "Error")
    End If

    Alternative Managed API:

    The Process class uses ShellExecuteEx by default:

    Dim p As New Process
    p.StartInfo.FileName = "somefile.html"
    p.StartInfo.ErrorDialog = True ' this opens the "Open With" dialog for unknown file types
    p.Start()

    C# Example of Property Dialog

    private const int SW_SHOW = 5;
    private const uint SEE_MASK_INVOKEIDLIST = 12;

    [DllImport("shell32.dll")]
    static extern bool ShellExecuteEx(ref SHELLEXECUTEINFO lpExecInfo);

    public static void ShowFileProperties(string Filename) {
        SHELLEXECUTEINFO info = new SHELLEXECUTEINFO();
        info.cbSize = System.Runtime.InteropServices.Marshal.SizeOf(info);
        info.lpVerb = "properties";
        info.lpFile = Filename;
        info.nShow = SW_SHOW;
        info.fMask = SEE_MASK_INVOKEIDLIST;
        ShellExecuteEx(ref info);
    }

    VB.NET Example of Property Dialog

    Public Const SW_SHOW As Short = 5
    Public Const SEE_MASK_INVOKEIDLIST As Short = 12

    <DllImport("Shell32", CharSet:=CharSet.Auto, SetLastError:=True)> _
        Public Shared Function ShellExecuteEx(ByRef lpExecInfo As SHELLEXECUTEINFO) As Boolean
        End Function

    Dim sei As New SHELLEXECUTEINFO
    sei.cbSize = Marshal.SizeOf(sei)
    sei.lpVerb = "properties"
    sei.lpFile = "FilePath"
    sei.nShow = SW_SHOW
    sei.fMask = SEE_MASK_INVOKEIDLIST
    If Not ShellExecuteEx(sei) Then
       Dim ex As New System.ComponentModel.Win32Exception(System.Runtime.InteropServices.Marshal.GetLastWin32Error())
           MessageBox.Show(ex.Message, Me.TITLE, MessageBoxButtons.OK, MessageBoxIcon.Exclamation)
    End If

    转载于:https://www.cnblogs.com/tianjiaxiaobaicai/p/4962203.html

    展开全文
  • ‘然后把notepad内存区域中的“c: est.dll“字符串当作参数传给LoadLibraryA。现在我们的dll文件就在notepad程序中运行了 ‘dll被注入notepad.exe以后会主动弹出对话框显示出notepad.exe的进程ID,表明注入成功.
  •  2.Radmin支持被控端以服务方式运行、支持多个连接和IP 过滤(即允许特定IP控制远程机器)、个性化档互、远程关机、支持高分辨率模式、基于Windows NT安全支持及密码保护以及提供日志文件支持等。...
  • 可通过程序参数来控制,方法是:先创建飞秋快捷方式,然后右键点击快捷方式菜单中属性,在快捷方式栏中目标后面加上参数 /local,如你程序在飞秋FeiQ.exe,则加参数后为飞秋FeiQ.exe /local,这样话,所有...
  • 将包含参数信息调用请求发送制定SOAP服务;等待返回结果;将结果中的参数信息编码。客户端程序调用访问远程方法的存根例程  就像调用本地方法一样。用C/C++手工别写一个存根例程是个十分痛苦差使,尤其当...
  • 常用DOS命令

    2012-12-18 17:23:00
    建立了IPC$连接后,呵呵,就可以上传文件了:copy nc.exe \192.168.0.7admin$,表示把本地目录下nc.exe传到远程主机,结合后面要介绍到其他DOS命令就可以实现入侵了。 net start 使用它来启动远程主机上...
  • 2021-03-06

    2021-03-06 20:55:03
    -a:命令行参数,作为ls的参数传给ls -l:罗列当前文件或文件夹详细信息。在linux操作系统下,不是用文件后缀来区分文件类型, eg:exe,txt,obj, Ls-l(ll)之后要关注之后第一列。d:文件夹。-:代表普通...
  • 方法实现了信号和槽函数关联,第一个按钮我们直接在设计器中实现其关 联;第二个按钮我们自己写了槽函数语句,其实图形设计与直接写代码效果是 一样。 这个程序里我们实现了两类窗口打开方式,一个是自身...
  • * addByte decription : 不足socket 每次传输数组长度字符添加到每次传输数组长度个字节数 * * @param str * @return */ public static byte[] addByte(String str) { byte[] result = ...
  • 屏幕摄像机

    2013-07-06 12:22:28
    应该尽量确保硬盘有足够的空间,如果可用空间不足,可以通过选择临时文件夹的方法,使用有更大可用空间的分区。 由于直接录制EXE方式停止录制时需要一些额外的硬盘空间,所以可能在硬盘空间大于100M时就会自动停止...
  • 飞秋2013专业版

    2014-06-24 10:54:48
    可通过程序参数来控制,方法是:先创建飞秋快捷方式,然后右键点击快捷方式菜单中属性,在快捷方式栏中目标后面加上参数 /local,如你程序在飞秋FeiQ.exe,则加参数后为飞秋FeiQ.exe /local,这样话,所有...
  • tftpd32 网络服务器包

    2012-03-13 17:42:07
    然后输入命令“Tftp -i 朋友IP get pictures.rar”,如果要传给朋友文件,则输入命令“Tftp -i 朋友IP put 文件名.rar .(windows自带有tftp客户端软件) 方法二 上面说的是用命令的方法,下面咱们也试试图形界面的方法...
  • 通过使用一个全局hash表(以DRIVEROBJECT为对象)来使用以下的方法来存储得到的结果,最终显示出来 1.常规的ZwQuerySystemInformation来列举 2通过打开驱动对象目录来列举 3搜索内核空间匹配驱动的特征来列举(这个...
  • 17.7.3 简化语法3:局部变量不需要手动包装到类中即可传给回调方法 17.8 委托和反射 第18章 定制attribute 18.1 使用定制attribute 18.2 定义自己attribute类 18.3 attribute构造器和字段/属性数据类型 ...
  • 17.7.3 简化语法3:局部变量不需要手动包装到类中即可传给回调方法 17.8 委托和反射 第18章 定制attribute 18.1 使用定制attribute 18.2 定义自己attribute类 18.3 attribute构造器和字段/属性数据类型 ...
  • windows 程序设计

    2011-07-24 21:16:30
    本书介绍了在Microsoft Windows 98、Microsoft Windows NT 4.0和Windows NT 5.0下程序写作的方法。这些程序用C语言编写并使用原始的Windows Application Programming Interface(API)。如在本章稍后所讨论的,这...
  • 17.7.3 简化语法3:局部变量不需要手动包装到类中即可传给回调方法 17.8 委托和反射 第18章 定制attribute 18.1 使用定制attribute 18.2 定义自己attribute类 18.3 attribute构造器和字段/属性数据类型 ...
  • 17.7.3 简化语法3:局部变量不需要手动包装到类中即可传给回调方法 17.8 委托和反射 第18章 定制attribute 18.1 使用定制attribute 18.2 定义自己attribute类 18.3 attribute构造器和字段/属性数据类型 ...
  • Python Cookbook

    2013-07-31 22:33:26
    16.11 自动化py2exe将脚本编译成Windows可执行文件过程 585 16.12 在UNIX中将主脚本和模块绑成一个可执行文件 587 第17章 扩展和嵌入 590 引言 590 17.1 实现一个简单扩展类型 592 17.2 用Pyrex实现一个...
  • 飞秋FeiQv2.4修正版

    2008-11-23 17:27:11
    可通过程序参数来控制,方法是:先创建飞秋快捷方式,然后右键点击快捷方式菜单中属性,在快捷方式栏中目标后面加上参数 /local,如你程序在飞秋FeiQ.exe,则加参数后为飞秋FeiQ.exe /local,这样话,所有...
  • 最好的方法就是找个大档案下载 (千万别用 P2P, 因为会动到大量上传), 这样的过程建议超过 10 秒. 然后停止下载. (5) 纯粹全速上传!! 最好方式, 就是发一封 eMail, 夹个大档案 (建议超过 5MB) 自己, 但也不用真的...
  • 9.4 在把数组作为参数传递函数时,可以通过sizeof运算符告诉函数数组大小吗? 9.5 通过指针或带下标数组名都可以访问数组中元素,哪一种方式更好呢? 9.6 可以把另外一个地址赋一个数组名吗? 9.7 ...
  • C语言编程要点

    2017-09-18 00:10:37
    9.4. 在把数组作为参数传递函数时,可以通过sizeof运算符告诉函数数组大小吗? 140 9.5. 通过指针或带下标数组名都可以访问数组中元素,哪一种方式更好呢? 141 9.6. 可以把另外一个地址赋一个数组名吗? 143...

空空如也

空空如也

1 2 3
收藏数 52
精华内容 20
关键字:

参数传给exe的方法