DOBON.NET DOBON.NETプログラミング掲示板過去ログ

スタートメニューへのショートカット追加

環境/言語:[WindwosXP VS2005]
分類:[インストーラ]

お世話になります。

現在、VS2005のVSIでインストーラーを作成中なのですが、
スタートメニューへのショートカットのインストールが
出来なくて悩んでおります。

ファイルシステムに、[特殊なフォルダの追加]で
[ユーザーのスタートメニュー]を作成し、
その中にプライマリ出力のショートカットを追加しています。
この状態だと、[スタートメニュー]の[全てのプログラム]の中には、
ショートカットが作成されますが、[スタートメニュー]には作成されません。
[スタートメニュー]の左側の一覧にショートカットを作成したいのです。

[スタートメニュー]を[クラシック表示]にすると、
ショートカットが表示されるのですが、
XP標準の状態だと表示されません。

スタートメニューに表示されるショートカットの場所がわかれば、
そこに追加してやれば出来そうなのですが、その場所も発見できませんでした。

どなたかご存知の方がいらっしゃれば教えて頂けないでしょうか。
■No19060に返信(tkoさんの記事)
XPのスタートメニューの左上の、インターネットとか電子メールとかあるところに追加したいということでよろしいでしょうか?
通常の操作でここにアイコンを追加するには、ショートカットを右クリックして、「[スタート]メニューにアイコンを追加」を行います。
で、これをプログラムからやる方法ですが…わかりません。
レジストリの、
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\StartPage
以下に、関連するデータがあるらしいのですが。
返信ありがとうございます。

> XPのスタートメニューの左上の、インターネットとか電子メールとかあるところに追加したいということでよろしいでしょうか?
> 通常の操作でここにアイコンを追加するには、ショートカットを右クリックして、「[スタート]メニューにアイコンを追加」を行います。

そうです。このアイコンの追加をプログラムorインストーラで行いたいのです。
レジストリも色々調べてみたのですが、わかりませんでした。

Win2000 or XPのクラシック表示では、
[ C:\Documents and Settings\All Users\スタート メニュー ] に、
ショートカットを置けばいいのはわかるのですが。

どこかに、必ず設定があると思うのですが。
■No19092に返信(tkoさんの記事)
> どこかに、必ず設定があると思うのですが。

ですから、レジストリに設定があります。
どこかにショートカットを作ることでは実現できません。
この左上部にあるヤツは、どこかにある別のショートカットを参照しているだけで、ファイルとしての実体を持ちません。
試しに、適当なショートカットを右クリックしてスタートメニューに追加し、左上にできた方のプロパティを編集してみてください。元のプロパティも変わりますから。
色々調べてみましたが、
シャノンさんのおっしゃるとおり、
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\StartPage
のFavoritesとFavoritesResolveにバイナリで値が入るようです。
何もアイコンを追加していない状態だと、Favoritesには"ff"が入っており、
アイコン追加後には、意味不明なバイナリ値が入ってました。

シャノンさん、貴重な情報ありがとうございました。

DOBON.NET | プログラミング道 | プログラミング掲示板