如何在Windows快捷方式目标中传递当前目录?

时间:2017-10-13 20:44:59

标签: python windows desktop-shortcut

所以我编写了一个Python程序,我要做的是创建程序的Windows快捷方式,并确保在运行快捷方式时,不仅运行软件而且还运行快捷方式的当前目录at at将作为sys.argv传递,以便我可以在程序中对它做些什么。我知道对于Windows快捷方式,你可以这样做:

"C:\Documents and Settings\Administrator\Desktop\hello.py" --somevalue

将参数传递给目标。我想知道如何让它适用于我的具体案例?例如,如果我们将快捷方式放在桌面上并运行快捷方式,那么Python软件将以sys.argv[1]="C:\Users\username\Desktop"开头。

1 个答案:

答案 0 :(得分:2)

您可以在.LNK中指定已执行应用程序的当前目录,这是依赖特定目录时执行操作的常用方法。

如果由于某种原因实际上需要获取有关.LNK的信息,则必须调用GetStartupInfo Windows函数(我假设为ctypes)并且如果STARTF_TITLEISLINKNAME位设置为STARTUPINFO.dwFlags然后STARTUPINFO.lpTitle包含用户启动应用程序的.LNK路径。