ショートカットのファイル名を取ってくるには?


ムーミン  2005-11-14 23:34:07  No: 18698

ある、バッチファイルがすでに作成されています。
また、このバッチファイルはショートカットから
呼びだされるようになっています。
今回、このバッチファイルの中からDelphiで自作したプログラムを
呼び出すようにしています。

そこで、このDelphiで作ったプログラムから
ショートカットのファイル名を取得する方法を教えてください。


Mr.XRAY  URL  2005-11-15 09:25:48  No: 18699

ほんのちょっと前のスレッド(掲示板である質問タイトルの一連の発言)
にショートカットの話題がありましたので,すでにごらんになっている
と思います.そこでの内容では不十分ということでしたら,もう少し
状況を教えてください.もしかしたら役に立つかも知れません.

もし,ごらんになっていなかったら,
この掲示板を「ショートカット」で検索してみてください,
一番下が新しいスレッドです.


  2005-11-15 10:53:19  No: 18700

よくよく読んで気がついたが、こんなことかな?

(1)Delphiで自作したプログラム
(2)バッチファイル
  中身は、(1)を起動させる一行のみ
(3)(2)のショートカットファイル
  デスクトップとか、あちこちに分散して置いてある。

どこかに置いてある(3)を実行すると(1)が実行される。
このときの(3)の場所を知りたい

こういうことではないかと。

で、個人的に不可(^^ゞ

(2)の中身を
hegohoge.exe "%1"

(3)のショートカットのリンク先を
〜〜\hoge.bat "てきとうな何か"

とかにすると、ParamStr(1)で、"てきとうな何か" を拾うことはできそうだけど。

ちなみに、作業フォルダは、ショートカットの置いてある場所じゃなく、(1)のパスになっている模様。

知識のある他の方の回答求む。
# 答えた価値無し(笑)


ムーミン  2005-11-15 17:26:19  No: 18701

Mr.XRAYさん、ぬ さんありがとうございます。

>(1)Delphiで自作したプログラム
>(2)バッチファイル
>  中身は、(1)を起動させる一行のみ
>(3)(2)のショートカットファイル
>  デスクトップとか、あちこちに分散して置いてある。
>どこかに置いてある(3)を実行すると(1)が実行される。
>このときの(3)の場所を知りたい

はい、その通りです。
正確には(3)の場所というよりショートカット名を
知りたいのです。
ショートカットが複数存在しています。
ショートカットが多すぎて、
一つ一つ引数を設定するのも面倒だと思って
質問させていただきましたが、考えが甘かったようですね。

もう少し、回答を期待してまってみます。


Mr.XRAY  URL  2005-11-16 03:51:23  No: 18702

う〜ん,まだいまいち状況が理解できないのですが.

(1) ある実行ファイル(.batも含む)がある.
(2) そのショートカットリンクがとこかにあればそれを知りたい.

ということでしたら.以下のように考えられます.

あるEXEファイルがあるとします.
このショートカットリンクを作成します.
しかし,このEXEは自分のショートカットができたことは知りません.
つまり,EXEの中にショートカットの情報は埋め込まれません.

したがって,そのEXEのショートカットの存在を知りたければ,全フォルダ
(ショートカットを作成している場所が特定できればそのフォルダ内だけ)
のショートカットを検索し,その元のフルパスが目的とするEXE名と一致
すれば,その時のショートカットリンク名がそのEXEのショートカット名
となるのではないでしょうか.

ショートカットの場所がわかるということは,ショートカットの名前(エク
スプローラでの表示名)がわかるということになります.
(EXEのフルパスがわかるということは,EXEの名前が取得できるのと同じ)


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加