2

我有一个 .pyw 脚本,当我双击它等时它会工作,它会一直打开直到我关闭它,但我已将它添加到注册表以在启动时运行。它确实在启动时运行,但不会像它设置的那样保持打开状态。它闪烁gui,然后关闭。

任何想法为什么会发生这种情况或如何解决它?

PS 我不想在链接到 .pyw 文件的启动文件夹中创建快捷方式。

我使用另一个 python 脚本将我的 python 脚本添加到注册表中:p

import _winreg
aReg    = _winreg.ConnectRegistry(None,_winreg.HKEY_LOCAL_MACHINE)
aKey    = _winreg.OpenKey(aReg, "SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run", 0, _winreg.KEY_WRITE)
_winreg.SetValueEx(aKey,"MyScript",0, _winreg.REG_SZ, myScript_path) 

当我在注册表中浏览该路径时: HKEY_LOCAL_MACHINE > SOFTWARE > Microsoft > Windows > CurrentVersion > Run 它在数据中具有正确的路径并输入 REG_SZ

4

2 回答 2

0

由于脚本似乎使用的进程之一尚未启动,因此仅在启动时发生了一个非常奇怪的错误。使用 python.exe 作为 .py 运行不会产生错误,它仅在脚本作为 .pyw 运行时发生,因此我将 sys.stdout 写入文件以记录其进度和错误。

在我使用日志记录模块之前,它似乎没有提供像直接输出到文件那样多的细节。

检查文件后,我能够修复代码,所以本质上这是一个代码问题,但却是一个偷偷摸摸的问题。

于 2012-11-12T14:07:41.350 回答
0

我的两分钱:有同样的问题(启动文件夹中的 .pyw 只是闪现了它的 gui 然后关闭)。在导入命令之前添加了一个“睡眠”并且它起作用了。我相信操作系统需要一些时间来为我的代码中的一个/一些导入命令做好准备。

#coding:utf-8

from time import sleep

sleep(20)

from Tkinter import *
from Tix import *
from time import strftime
import urllib
from itertools import izip_longest
import winsound
于 2014-03-14T17:58:49.703 回答