ShellExecuteでアプリが開かない


zo100  2005-07-05 21:57:31  No: 16199  IP: 192.*.*.*

ShellExecute(hInstance,'OPEN',PChar(FileName),'','',SW_SHOW)
でFILENAMEで指定したファイルに関連付けられたファイルを開いていますが、特定のアプリケーションのみ開きません.
エクスプロ-ラよりダブルクリックをすると開、関連付けそのものは大丈夫のようです.
ShellExecuteでファイルが開かないというのはどういった原因があるでしょうか?

編集 削除
一案  2005-07-05 22:41:34  No: 16200  IP: 192.*.*.*

'OPEN'で開かないものが nil なら開くということもあるけど…

編集 削除
zo100  2005-07-06 11:04:42  No: 16201  IP: 192.*.*.*

OPENをnilに変えると、動かなくなることはないですか?

編集 削除
Mr.XRAY  URL  2005-07-06 19:26:56  No: 16202  IP: 192.*.*.*

>OPENをnilに変えると、動かなくなることはないですか?

これはやってみれば一目瞭然ですので,さておいて.

開かないのがExeなのか,Exeに関連づけたある拡張子のファイルが,該当
するアプリで開かないのか分かりませんが,ShellExecuteは第2引数で与
えた内容,つまり該当するアプリの設定にもよるようです.また,レジス
トリのShellのcommandにはOpenがないものがありますが,これも影響する
かも知れません.

具体的な指定がないので明確な回答はできませんが,
ShellExecute(hInstance,'OPEN',PChar(FileName),'','',SW_SHOW)
のように,何でも全て,第4,5引数をnilにすればいいわけではないと思い
ますよ.それなりの意味があるとは思いますが...

編集 削除
anone  2005-07-06 19:49:51  No: 16203  IP: 192.*.*.*

どうでもいいですけど ShellExecute() の第一引数は hInstance じゃないですよ。
ダイアログが表示される場合の親のウィンドウハンドルですが。

編集 削除