ショートカットファイルからの呼び出し判別と通信プログラムについて

このQ&Aのポイント
  • VC++2008で通信プログラムを作成し、ショートカットファイルから呼び出されたか判別する方法とは?
  • ショートカットファイルから起動された場合に既に起動している通信プログラムにメッセージを受け取らせる方法は?
  • ショートカットファイルからの呼び出し判別と通信プログラムへのメッセージ送信方法について教えてください。
回答を見る
  • ベストアンサー

ショートカットファイルから呼び出されたことを判別するためには

VC++2008にて、サーバとの通信プログラムを作成しています。 ディレクトリやファイル名を書き込んだ、 特定拡張子のファイルを作成し、 そのファイルの拡張子を、作成したプログラムに 関連付けし、ファイルをクリックした際に、 ファイル内データを読み込んで、書き込まれている データにアクセスする機能を作成したいと考えています。 (通信プログラムを介したリンクファイル・  ショートカットファイルといった意味合いです) このショートカットファイルをダブルクリックした際、 関連付けた通信プログラムが自動起動するのですが、 ショートカットファイルからの起動かどうかを判別する 方法が分かりません。 また、通信プログラムが既に起動している場合は、 新たにプログラムが起動するのではなく、 立ち上がっている方のプログラム側が ショートカットにて呼び出されたことについての メッセージを受け取りたいのですが、 この方法についても実装方法が分かりません。 以上2点について、ご教授願えればと思います。 よろしく願いします。

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

  • ベストアンサー
  • chie65535
  • ベストアンサー率43% (8522/19371)
回答No.1

・DDEでない関連付けをしたファイルをダブルクリックした場合 関連付けされて起動されたアプリの「実行時引数」に「ダブルクリックされた関連ファイル」が渡されます。 アプリは、1つだけではなく、ダブルクリックした回数だけ、複数起動されます。 ・DDEの関連付けをしたファイルをダブルクリックした場合 DDEメッセージで、ダブルクリックされたファイル名が起動中のアプリに通知されるようにします。 起動された、または、起動中のアプリは、DDEメッセージにより開くべきファイル名の通知を受け取ります。 アプリは、1つだけ起動され、複数起動されたりしません。 但し「アプリを直接ダブルクリックして、直接起動した場合」には、複数のアプリが起動してしまいます。アプリの二重起動をさせたくない場合は、ミューテックス、セマフォを用いて、自己判断する必要があります。

lhouse
質問者

お礼

Mutexを用いて、二重起動制御ができました。 ありがとうございます。 説明が不足していましたが、MFCアプリケーションの Windowsエクスプローラ形式プロジェクトにて作成しています。 この際、DDEでないファイルのダブルクリック時は、 実行時引数をどこで取得できるのでしょうか? またDDEファイルの場合、OnDDECommand()にて メッセージを取得すると思われるのですが、 ネットで検索してみても、 DDEファイルの作成方法が分かりません。 初歩的な質問なのかもしれませんが、 参考になるサイトでもありましたら、提示頂けるとありがたいです。

関連するQ&A

  • Vistaでファイルが突然消えてしまいます。

    VistaにAccessで作成したプログラムをいれて動かしていたところ、前触れもなくそのファイルが消えています。 デスクトップにショートカットを作成し、普段は、ショートカットをダブルクリックして使用していました。 突然、ショートカットをダブルクリックしたら、起動しているAccessのファイル(拡張子:ACCDE)が見つかりません。と表示されてしまいます。 どなたか原因・対処方法等ありましたら、ご教授願います。

  • アプリケーションのアイコン(ショートカット)をクリックしても立ち上がりません。

    アプリケーションのアイコン(ショートカット)をクリックしても立ち上がりません。 現在、WinXPを使用していますが、元に戻す事が出来ずに困っています。 状況としては、アプリケーションのアイコン(例えばエクセル)をクリックしても、 ソフトが立ち上がらずに、下記のようなエラーメッセージが出ます。 「指定されたファイルに対してこのプログラムは関連付けされていません。 【フォルダオプション】コントロールパネルでプログラムを関連付けてください」 しかし、保存してあるエクセルデータをクリックするとエクセルは立ち上がり 通常に使用でき保存も可能です。 ソフトのアイコン(ショートカットキー)からは立ち上がらないのです。 また、プログラムファイルの中の各プログラムのオリジナルアイコンからも上記と同じ エラーメッセージが出て立ち上がりません。 コントロールパネル→フォルダオプション→ファイルの種類から関連付けをしようとした のですが、どのように関連付けをしていいのか分かりません。 データファイルからは立ち上がるのだから、データとアプリケーションは関連付いてるのでは? と思ったり… 全てのアプリケーションが同じ症状です。 保存データがある場合、それをクリックすればどのアプリケーションも立ち上がり起動します。 しかし、ネット上でアップデートなどをする際にはやはり上記と同じようなエラーが出て インストール作業が出来ません。 色々と調べてみたのですが、分からず仕舞いで困っています。 一発で直す方法があればいいのですが…知識不足の私にも分かる解決方法を教えて下さい。 どうかよろしくお願いします。

  • ホームページへのショートカットの関連付け

    ホームページのショートカットをクリックしても「指定されたファイルに対してこの操作を行うプログラムが関連付けられていません[フォルダオプション]コントロールパネルでプログラムを関連付けてください。」と出ます。 IEを起動していて、お気に入りからだとホームページに行けますが、起動していないと行けません。 色々試して見ましたが、改善されません。どなたか対応方法をお教えください。

  • バッチファイル ファイル ショートカット

    質問させて頂きます。 実際に私が行いたい作業を下記に述べます。 1・バッチファイル起動。 2・aaaディレクトリをコピー。 3・Cドライブ直下に貼り付け。 4・Cドライブ直下に貼り付けたaaaディレクトリにあるbbb.txtのショートカットアイコンをデスクトップに作成。 上記が私の行いたい作業です。「3・Cドライブ直下に貼り付け。」までは実装出来ましたが、4・ショートカットの作成方法が分かりません。 よろしくお願いします。 OSはWindows 7です。

  • デスクトップ上のショートカットがおかしい

    先日、同じ内容を質問しましたが 解決できないので再度質問いたします お気に入りのHPを見つけて 毎日アクセスしたいのでブックマークではなく PC画面にショートカットとして置きたいのですが そのショートカットをクリックしても直接ページに飛んでくれません このショートカットの作成方法は 気に入ったページを開いた状態でファイルをクリックし 送信→ショートカットをデスクトップへ をクリックして作成した物です これを実際にデスクトップ上でクリックすると ------------------------------------------------ このファイルを開けません このファイルを開くには、作成もとのプログラム名が必要です インターネットで自動的にプログラムを検索するか、 またはコンピュータにあるプログラム一覧から手動で選択してください ------------------------------------------------ と出ますので 一覧からプログラムを選択→InternetExplorer それと この種類のファイルを開くときは、 選択したプログラムをいつも使う というチェックボックスにチェックを入れておりますが その後も必ずこのようなエラーが出てしまいます ショートカットの作り方も問題ありません urlのショートカットを作るには、そのページを開き、アドレスバーの左端に有るアイコンをデスクトップまでドラッグしてドロップか、 お気に入りのHPの何も無いところで右クリックをして「ショートカットの作成」をクリック。 デスクトップに出来たショートカットをダブルクリック どちらで作ってもダメです 結局毎回毎回IEを選ばないとそのページが表示されません 今まではショートカットをクリックするだけでHPに接続出来たのですが… 何がいけないのでしょうか? よろしくお願いします

  • binaryとasciiファイルの判別方法

    ある対象ファイル(約1000個)をDOSコマンド or プログラムを使用して、その データがbinary形式かテキスト形式か判別できるようなものはありますでしょ うか?  メモ帳などを開いて確認すればよいのですが、対象ファイルが多すぎて話しに なりません。また、拡張子で判別もできません(全ファイル同じ拡張子のため) UNIXにftpで転送して、fileコマンドで判別してしまえば、簡単だとは思います が、NT側で処理できないものでしょうか? UNIXでfileコマンドで判別できる ということは、どこかに判別してきるキーのようなものがある気もするんです が。。。まだ勉強不足の私に教えてください、宜しくお願い致します。

  • デスクトップ上でのショートカットが上手く作動しません

    お気に入りのHPを見つけて 毎日アクセスしたいのでブックマークではなく PC画面にショートカットとして置きたいのですが そのショートカットをクリックしても直接ページに飛んでくれません このショートカットの作成方法は 気に入ったページを開いた状態でファイルをクリックし 送信→ショートカットをデスクトップへ をクリックして作成した物です これを実際にデスクトップ上でクリックすると ------------------------------------------------ このファイルを開けません このファイルを開くには、作成もとのプログラム名が必要です インターネットで自動的にプログラムを検索するか、 またはコンピュータにあるプログラム一覧から手動で選択してください ------------------------------------------------ と出ますので 一覧からプログラムを選択→InternetExplorer それと この種類のファイルを開くときは、 選択したプログラムをいつも使う というチェックボックスにチェックを入れておりますが その後も必ずこのようなエラーが出てしまいます 何がいけないのでしょうか? よろしくお願いします

  • Windows10ショートカットアイコンについて。

    Win7からwin10にアップグレートしたのですが ショートカットアイコンから起動できなく なりました。 ショートカットアイコンのプロパティから ファイルの場所を開いてアイコンを クリックすると 起動できます。 新たにショートカットの作成を しても同じ現象です。 アップグレード前は できたのに、関連付け等がおかしくなったの でしょうか。 アドバイスお待ちしてます。

  • Windows7でファイルから起動できません

    Windows7に古いプログラムをインストールしたのですが、関連ファイルをダブルクリックしても「通信できません」と出て起動できませんでした。 関連ファイルはちゃんと関連付け出来てるように見えますし プログラムから開くことも単体で起動することも出来ます。 インストールの際「互換性に問題がある可能性があります。インストールしなおしますか?」といったような表示が出てきたので再度インストールもしたのですが、 出来ればファイルから直接起動出来ると作業的にも効率がいいので直したいのです。 古いプログラムはDynaCAD8でPC自体はDellで購入したVostroでした。 何か方法はあるのでしょうか?よろしくお願いします。

  • Webの履歴が使用不能です!!

    Webの履歴(インターネットショートカット)をダブルクリックすると「指定されたファイルに対してこの操作を行うプログラムが定されたファイルに対して この操作を行うプログラムが関連図付けられません。[フォルダオプション]コントロール パネルでプログラムを関連付けてください」とでます。フォルダオプションのインターネットショートカットを確認したところ関連付けできる項目が見つからず(拡張子がないので私にはお手上げです)困っています。Web検索には右クリックの関連付けは載っているのですがそんな簡単なことではないようなのです。あるところにはレジストリと書かれていてその判別は難しいと書いてありました。そこで皆様に質問です。この問題の解決方法がわかる方おられませんでしょうか。よろしくお願い致します。なおインターネットショートカットの右クリックで新しいウィンドウで開くでは開きます。

専門家に質問してみよう