別のアプリケーション B にリンクされたデスクトップにショートカットを作成するアプリケーション A があります。開始時にアプリケーション B は、一部のファイルを更新する必要があるかどうかを確認し、それを B アプリケーション フォルダーにダウンロードする必要がありますが、デスクトップのショートカットから開くと、アプリケーション B は、更新されたすべてのファイルをデスクトップにダウンロードします。作成されたリンクに実行コンテキストを変更しないように伝える方法があるかどうか、答えを探しました。
デスクトップに .lnk を作成するコードは次のとおりです。
Type t = Type.GetTypeFromCLSID(new Guid("72C24DD5-D70A-438B-8A42-98424B88AFB8")); //Windows Script Host Shell Object
dynamic shell = Activator.CreateInstance(t);
try
{
var lnk = shell.CreateShortcut(Environment.GetFolderPath(Environment.SpecialFolder.DesktopDirectory)+"/"+string.Format("{0}.lnk", Name));
try
{
lnk.TargetPath = Path;
lnk.IconLocation = Path+", 0";
lnk.Save();
}
finally
{
Marshal.FinalReleaseComObject(lnk);
}
}
finally
{
Marshal.FinalReleaseComObject(shell);
}