在unix/linux中,如果某个程序符号链接到另一个名称并在该名称下调用,则符号链接的名称本身在ARGV [0]下可用。但是,在Windows中,如果我有快捷方式并通过快捷方式调用它,则ARGV [0]是原始程序名称,而不是快捷方式名称。在运行时获取Windows程序快捷方式的名称?
在Windows下有什么办法可以在运行时获得程序的快捷方式名称吗?
例如,假设在linux下我有一个可执行文件,称为 “origprog”,而我做到以下几点:
LN -s origprog newprog
如果我跑 “./origprog”,ARGV [ 0]是“./origprog”,如果我运行“./ newprog”,ARGV [0]是“./ newprog”。
然而,在Windows下,假设我有一个名为“origprog.exe”节目,我做一个快捷方式,它被称为“newprog.exe.lnk”。
如果我调用“c:\ path \ to \ origprog.exe”,ARGV [0]是“c:\ path \ to \ origprog.exe”,如果我调用“c:\ path \ to \ newprog.exe.lnk“,ARGV [0]也是”c:\ path \ to \ origprog.exe“。在运行时,Windows中是否有任何方法来发现该程序实际上是通过“c:\ path \ to \ newprog.exe.lnk”调用的?
预先感谢您。
好的,非常感谢。 – HippoMan