打包exe自启动和隐藏窗口注意事项

1.自启动

  1. 打开命令提示符。
  2. 输入以下命令,然后按 Enter 键:
explorer shell:startup

这将打开启动文件夹。将 exe 文件或其快捷方式复制到这个文件夹中。
要实现双击运行exe不出现窗口和图标,只在后台运行或者放在托盘里,可以使用以下方法:

方法一:使用 pyinstaller 打包

如果你的 exe 是由 Python 脚本生成的,可以使用 pyinstaller 来打包,并设置运行时不显示窗口。

2.隐藏cmd窗口
(1)方法一:使用 pyinstaller 打包
如果你的 exe 是由 Python 脚本生成的,可以使用 pyinstaller 来打包,并设置运行时不显示窗口。

  1. 安装 pyinstaller
    pip install pyinstaller
    
  2. 打包你的 Python 脚本,添加 --noconsole 参数:
    pyinstaller --noconsole --onefile your_script.py
    
    这样打包后的 exe 运行时就不会显示控制台窗口。
    (2) 方法二:修改 exe 的属性
    如果你有现成的 exe 文件,可以尝试修改其属性来隐藏控制台窗口。可以使用 VBS 脚本来实现这一点:
  3. 创建一个 run_silent.vbs 文件,内容如下:
    Set objShell = CreateObject("WScript.Shell")
    objShell.Run "your_executable.exe", 0, False
    
    your_executable.exe 替换为你的 exe 文件的名称。
  4. 双击运行 run_silent.vbs,它将以隐藏模式运行你的 exe
    (3) 方法三:使用托盘程序
    如果你希望 exe 运行时在系统托盘中显示图标,可以使用 Pythonpystray 库。如果你的 exe 不是用 Python 编写的,可以参考其他编程语言中实现托盘图标的方法。
    以下是一个使用 pystray 的简单示例:
  5. 安装 pystray 库:
    pip install pystray
    
  6. 创建一个托盘程序:
    from PIL import Image, ImageDraw
    import pystray
    def create_image():
         Generate an image and draw a pattern
        width = 64
        height = 64
        color1 = "black"
        color2 = "white"
        image = Image.new("RGB", (width, height), color1)
        dc = ImageDraw.Draw(image)
        dc.rectangle(
            (width // 2, 0, width, height // 2),
            fill=color2)
        dc.rectangle(
            (0, height // 2, width // 2, height),
            fill=color2)
        return image
    def on_exit(icon, item):
        icon.stop()
    icon = pystray.Icon("test")
    icon.icon = create_image()
    icon.menu = pystray.Menu(
        pystray.MenuItem("Exit", on_exit)
    )
    icon.run()
    
  7. 使用 pyinstaller 打包:
    pyinstaller --noconsole --onefile your_script.py
    

上述代码创建了一个简单的托盘图标,右键点击图标可以选择退出程序。你可以根据需要修改托盘图标和菜单。
(4) 方法四:修改 Windows 应用程序属性
如果你的 exe 文件是一个 Windows 应用程序,可以通过修改其属性来隐藏窗口。

  1. 在你的应用程序代码中,查找创建窗口的部分,确保其设置为隐藏或最小化。
  2. 如果你有访问源代码的权限,可以使用 API 来控制窗口显示。
include <windows.h>
// Your entry point function
int APIENTRY WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow)
{
    // Hide the console window
    HWND hWnd = GetConsoleWindow();
    ShowWindow(hWnd, SW_HIDE);
    // Your application code here
    return 0;
}

将以上代码添加到你的应用程序的入口函数中,确保在应用程序启动时隐藏控制台窗口。
通过以上方法,你可以实现exe程序双击运行时不显示窗口和图标,并且可以选择在后台运行或放在托盘里。

  • 8
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

VX:zrd123124

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值