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

How to pass current directory in Windows shortcut target?

所以我写了一个 Python 程序,我想做的是创建程序的 windows 快捷方式,并确保当 运行ning 快捷方式,不仅软件是 运行,而且快捷方式所在的当前目录也会作为 sys.argv 传递,这样我就可以在程序中对其进行一些操作。我知道对于 windows 快捷方式,您可以这样做:

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

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

开头

您可以在 .LNK 中为执行的应用程序指定当前目录,如果您依赖于特定目录,这是正常的处理方式。

如果您出于某种原因确实需要获取有关 .LNK 的信息,您必须调用 GetStartupInfo Windows function (with ctypes I assume) and if the STARTF_TITLEISLINKNAME bit is set in STARTUPINFO.dwFlags 然后 STARTUPINFO.lpTitle 包含用户用于启动应用程序的 .LNK 的路径。