检查应用程序是否在 python 中从启动开始运行

问题描述

我在 python 中创建了一个名为 Swaminarayan.exe 的应用程序。我希望我的程序在我的 PC 启动时启动。所以我创建了一个名为 Swaminarayan.lnk 的快捷方式并将其添加到:

C:\Users\<Current User>\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup\

但是我的应用程序在 AUTO_START 和不在 AUTO_START 中时的行为有所不同。如何检测我的应用是否从快捷方式运行。

我可以做这样的事情吗?

if AUTO_START:
    // do this
else:
    // do that

任何帮助都是可观的。提前致谢:)

解决方法

将命令行参数添加到启动快捷方式(在其属性框中),例如--startup

然后你可以使用例如

import sys
# ...
is_startup = ('--startup' in sys.argv)

或者如果您的程序增长并且您最终使用例如argparse

import argparse
# ...
ap = argparse.ArgumentParser()
ap.add_argument('--startup',action='store_true',default=False)
args = ap.parse_args()
if args.startup: ...