しつこくShellExecuteネタ。
結構見落としがちな落とし穴があるのでそれも紹介する。
試しにメモ帳でtest.txtというテキストファイルを開いてみるコード。
第3引数に実行したいアプリケーション、第4引数に開きたいファイルを指定する。
ShellExecute(Self.Handle,PChar('open'),PChar('NOTEPAD.EXE'),
PChar('"C:\test.txt"'),nil,SWP_SHOWNORMAL);
とまぁここで気をつけて欲しいのが第4引数。
ダブルクォーテーションで括るのを忘れると正常に動作しないことがある。
実験ではメモ帳、NoEditorでは括っていなくても成功したが、
TeraPadではファイルが開かれず実行されただけだった。