2017-09-28 14 views
0

C++から実行ファイルのショートカットリンクを作成します。 これはうまくいきますが、実行可能なフォルダのパスが変更された場合、リンクはもう使えません(見つからないファイルの古典的な検索が手動で行われます)。C++ shorcut.lnkファイルが見つからない場合のパスの更新

実行ファイルをパスにドラッグするだけでウィンドウからショートカットリンクを作成すると、リンクを作成してフォルダパスを変更したい場合でも、実行可能ファイルを見つけて、手動検索や何もせずにショートカットリンクのパスを更新しますこのような。

どうすればC++からもできますか? 私は引数を使用しようとしましたが、引数はコマンドプロンプトからしか使用できないと思うので、ショートカットリンクを実行するだけでリンクを更新しません。ここで

は、私はCでそれをやった方法についてのリンクです++ How to programmatically create a shortcut using Win32

+1

その答えは、[MSDN記事](https://msdn.microsoft.com/en-us/library/bb776891(VS.85).aspx)からのコピー/ペーストです。代わりにResolveItサンプルコードを使用してください。 –

+0

"アプリケーションは、以前に作成されたショートカットにアクセスして操作する必要があるかもしれませんが、この操作はショートカットを解決するものと呼ばれています。アプリケーション自体。それは仕事をするのだろうか、それとも時間の無駄だろうか?それで、私はここで、すでにそれをして、何をすべきかを確実に知っている誰かのためにここに尋ねる理由... – Vas

+1

あなたの質問の暗黙の仮定は、リンクターゲットに何が起こったのか何とか知っているので、知っていると、あなたはどのように知ることができましたか、それは本当に時間の無駄です。 –

答えて

0

シェルは単にIShellLink::Resolveメソッドを使用しています。

Resolveは、移動したターゲットを見つけるために.lnkに格納された情報を使用します。この情報には、作成日/変更日時、サイズ、ファイル属性が含まれます。分散リンク追跡サービスは、実行されている場合にも役立ちます。

Windows 95とWindows NTについてはthis Windows Confidential article、LTSについてはthis KB articlethis web pageを参照してください。

+0

私は試してもうまく動作しませんが、もう一度試してみます。私はもう一度mabyを試してみましょうこれは動作するでしょう、あなたのおかげで、詳細な返信アンダース – Vas

関連する問題