-PR-
解決済み

EXEがスタートアップから起動したか?、それ以外か?の判断

  • 困ってます
  • 質問No.8437
  • 閲覧数401
  • ありがとう数3
  • 気になる数0
  • 回答数2
  • コメント数0

お礼率 100% (9/9)

下の例のような場合のEXEがスタートアップから起動したか?、それ以外か?の判断の仕組みをVBで作る方法を知りたいのですが出来るのでしょうか?
出来るのでしたら教えていただきたいのです。どうかよろしくお願いいたします。

例)
ある、一つのEXEファイルがあります。
このEXEは、スタートアップにショートカットが存在ます。
よって、OSを起動すると、そのEXEは起動していますが、一旦、落として、EXEファイルをダブルクリックすれば、当然、EXEファイルは起動しますので、見た目ではわかりません。
このプログラムを作るときに、そのEXEがスタートアップから起動したか?、それ以外か?(例えば、エクスプローラから直接起動した等)を判断したい。
通報する
  • 回答数2
  • 気になる
    質問をブックマークします。
    マイページでまとめて確認できます。

質問者が選んだベストアンサー

  • 回答No.1
レベル8

ベストアンサー率 25% (9/35)

素人の考えですが・・・
ショートカットを二種類用意してはいかがでしょうか。
1つは、スタートアップ登録起動用、2つめは、デスクトップ起動用と二種類用意します。スタートアップ登録用ショートカットは、デスクトップ以外の場所に隠しておきます。

今回の質問の環境では、
ショートカットのプロパティのリンク先を見ると、EXEファイル名が設定されますよね。そこで、リンク先の入力域に引数を設定してやります。
(0だったら、スタートアップ起動、1だったらデスクトップ等)
VBのEXE内でコマンドラインのパラメタを取得して、スタートアップ起動か、デスクトップからの起動かをVBアプリ側で区別できますので、VBアプリで起動種別を表示させるなり、バージョン情報にこっそり表示するなりしてみて、見た目でも区別できるようにしてはいかがでしょうか。
お礼コメント
mashi

お礼率 100% (9/9)

これを機会にDOSのコマンドについてあまり詳しくないので
少し勉強してみる事にしました。目的は達成できそうです。ありがとうございました。
投稿日時 - 0000-00-00 00:00:00

その他の回答 (全1件)

  • 回答No.2

nihonrisu様のおっしゃる案を少々改良して
以下のようにしてはどうでしょうか。

スタートアップで起動するということは、
必ずショートカットを作成するので、そちらは
引数を渡すようにショートカットを書き、
通常のEXEファイルをダブルクリックした場合は
当然引数は渡せないのですから、引数なし。

これをプログラム側で、引数が0の時は、
スタートアップ、1の時はそれ以外のショート
カット、ないときはEXEファイルを直接実行
したものと判断してはどうでしょうか。

それ以外には、カレントディレクトリで
判断する方法などもありますが、これは
あまり実現的ではありません。簡単に変更
されてしまう可能性があるからです。

この方法でだめなときは補足してください。
ではでは☆
お礼コメント
mashi

お礼率 100% (9/9)

ご丁寧な回答ありがとうございました。
すごく参考になりました。
投稿日時 - 0000-00-00 00:00:00


このQ&Aで解決しましたか?
AIエージェント「あい」

こんにちは。AIエージェントの「あい」です。
あなたの悩みに、OKWAVE 3,500万件のQ&Aを分析して最適な回答をご提案します。

関連するQ&A
こんな書き方もあるよ!この情報は知ってる?あなたの知識を教えて!
このQ&Aにはまだコメントがありません。
あなたの思ったこと、知っていることをここにコメントしてみましょう。

その他の関連するQ&A、テーマをキーワードで探す

キーワードでQ&A、テーマを検索する
-PR-

特集


抽選で合計100名様にプレゼント!

ピックアップ

ページ先頭へ