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

スクリプトが使用していると思われるプロセスの 1 つがまだ開始されていなかったため、起動時にのみ発生した非常に奇妙なエラーがありました。python.exe で .py として実行してもエラーは発生しませんでした。スクリプトが .pyw として実行されたときにのみ発生したため、sys.stdout をファイルに書き込んで進行状況とエラーを記録しました。

以前は logging モジュールを使用していましたが、ファイルに直接出力するだけでは詳細がわかりませんでした。

ファイルをチェックした後、コードを修正できたので、本質的にはコードの問題でしたが、かなり卑劣なものでした.

于 2012-11-12T14:07:41.350 に答える