ShellExecute(hInstance,'OPEN',PChar(FileName),'','',SW_SHOW)
でFILENAMEで指定したファイルに関連付けられたファイルを開いていますが、特定のアプリケーションのみ開きません.
エクスプロ-ラよりダブルクリックをすると開、関連付けそのものは大丈夫のようです.
ShellExecuteでファイルが開かないというのはどういった原因があるでしょうか?
'OPEN'で開かないものが nil なら開くということもあるけど…
OPENをnilに変えると、動かなくなることはないですか?
>OPENをnilに変えると、動かなくなることはないですか?
これはやってみれば一目瞭然ですので,さておいて.
開かないのがExeなのか,Exeに関連づけたある拡張子のファイルが,該当
するアプリで開かないのか分かりませんが,ShellExecuteは第2引数で与
えた内容,つまり該当するアプリの設定にもよるようです.また,レジス
トリのShellのcommandにはOpenがないものがありますが,これも影響する
かも知れません.
具体的な指定がないので明確な回答はできませんが,
ShellExecute(hInstance,'OPEN',PChar(FileName),'','',SW_SHOW)
のように,何でも全て,第4,5引数をnilにすればいいわけではないと思い
ますよ.それなりの意味があるとは思いますが...
どうでもいいですけど ShellExecute() の第一引数は hInstance じゃないですよ。
ダイアログが表示される場合の親のウィンドウハンドルですが。
ツイート | ![]() |