ファイルを起動オプション付きで起動する方法

解決


つび  2008-05-20 19:34:06  No: 30744  IP: [192.*.*.*]

ある拡張子のファイルを、
関連付けされたアプリケーションで、
「起動オプション付き」で起動する方法でつまづいています。

WinExecでは動きましたが、
ShellExecuteでの方法ではうまく動かす事ができません。
どこが原因でしょうか?


AppFullPath  := 'C:\hogehoge.exe';  //関連付けされたアプリ
FileName     := 'c:\test.tst';      //ある拡張子のファイル
KidouOption  := '/a';               //起動オプション

WinExec(PChar(AppFullPath + ' ' + KidouOption + '"'+FileName+'"'), 0);
ShellExecute(Handle, nil ,
PChar(AppFullPath), PChar(KidouOption + '"'+FileName+'"'),nil, SW_SHOWNORMAL);

編集    削除
ぼるしち  2008-05-20 21:21:39  No: 30745  IP: [192.*.*.*]

こんにちは。

PChar(KidouOption + '"'+FileName+'"')
の部分ですが、KidouOptionと"FileName"の間に半角スペースがないのが原因ではないでしょうか?
上記記述だとlpParametersが
/a"c:\test.tst"になってしまうと思います。

PChar(KidouOption + ' "'+FileName+'"')
この記述で動作しますでしょうか?

編集    削除
つび  2008-05-20 22:05:26  No: 30746  IP: [192.*.*.*]

ぼるしちさん

半角スペース、忘れてました(^^;;
動作しました。
ありがとうございました。

編集    削除