HSPポータル
サイトマップ お問い合わせ


HSPTV!掲示板


未解決 解決 停止 削除要請

2008
1015
AziO開くで、ファイルを開く方法3解決


AziO

リンク

2008/10/15(Wed) 22:34:58|NO.20207

こんにちはAziOです。
早速ですが、
あるファイルをダブルクリックして、
HSPで作ったソフトで1発で開くことはできないんですか?

例)ペイントソフトを作る
  BMPに関連付けさせる。
  そのBMPをダブルクリックで、
  アプリケーション起動して、すでにそのファイルが開かれている。
というのは作れないんですか?
説明下手ですみません。



この記事に返信する


SYAM

リンク

2008/10/15(Wed) 22:47:02|NO.20209

システム変数 dir_cmdline を利用します。

試しに、dir_cmdline を表示するだけのスクリプトの実行ファイルを作って、適当なファイルに関連付けしてみてください。
または、関連付けしなくても実行ファイルのアイコンにファイルを1つドロップしてみても同じになります。



panda

リンク

2008/10/15(Wed) 22:49:08|NO.20210

ユーザーのレジストリを操作する必要があります。

一般に、Windows なら、HKEY_CLASS_ROOT 内 に
.XXX キーを作成し、規定の名前に XXXfiles という文字列を入れます。

そしてさらに、XXXfiles というキーをつくり、shell\open\command と入力します
open としたところは、自由です。編集ならよく、edit とつかわれます。
規定の名前にアプリケーションのパスとコマンドラインを入力します。

例:"C:\******\XXX.exe" "%1" (%1はコマンドライン)

っと、ザっと説明しましたが、コレであのDLLをつかって、こうしよう!などと
ピンとこなければ正直キビしいかと思われます。

それに問題点もあります。
WindowsVista の UAC 問題です。UACは HKEY_CURRENT_USER 以外は書き込みどころか読み込みも許可しません。

UAC を回避するには manifest というものまで必要になってきますがそこまで説明していると
読むのも書くのも大変なので省きます。

つまり何がいいたいかといいますと、
いろいろ問題があるので、関連付けを簡単にしてくれるインストーラー、又は、
UAC対応のレジストリを操作できるインストーラーを使ったほうが早いということです。

とりあえず、dir_cmdline とい変数には Windows から渡されたファイル名が入力しているということは
覚えておいて損はないとおもいます。



AziO

リンク

2008/10/15(Wed) 22:50:09|NO.20211


PASS=dir_cmdline mes dir_cmdline

これでできました!!
ありがとうございます!!



ONION software Copyright 1997-2021(c) All rights reserved.