ShellExecuteでアプリが開かない


zo100  2005-07-06 06:57:31  No: 16199

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


一案  2005-07-06 07:41:34  No: 16200

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


zo100  2005-07-06 20:04:42  No: 16201

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


Mr.XRAY  URL  2005-07-07 04:26:56  No: 16202

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

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

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

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


anone  2005-07-07 04:49:51  No: 16203

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


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加