IShellLink::GetPath メソッドを使用してショートカット ファイルからリンク先のパスを取得できない場合がある

現象

64 ビット版 Windows 上で動作している 32 ビット アプリケーションから IShellLink インターフェイスの GetPath メソッドを使用して、ショートカット ファイルからリンク先のパスを取得することを想定します。
この時、ショートカット ファイルからリンクされた実行ファイルが C:\Program Files ディレクトリ以下にある 64 ビット アプリケーションの場合、取得されるリンク先のパスには C:\Program Files ではなく C:\Program Files (x86) が含まれます。

原因

32 ビット アプリケーションから、C:\Program Files ディレクトリ以下に配置される 64 ビット アプリケーションのリンク先のパスを取得することはできません。

解決方法

C:\Program Files 配下にある 64 ビット アプリケーションのリンク先のパスを取得する際は、64 ビット アプリケーションから IShellLink インターフェイスの GetPath メソッドを実行する必要があります。

状況

32 ビット アプリケーションから 64 ビット アプリケーションのリンク先のパスを取得できない現象は、OS の仕様に基づく動作です。

ヘルプを表示

スキルを磨く
トレーニングの探索
新機能を最初に入手
Microsoft Insider に参加する

この情報は役に立ちましたか?

フィードバックをお送りいただきありがとうございます!

フィードバックをお寄せいただき、ありがとうございます。Office サポートの担当者におつなぎいたします。

×