はじめまして
Delphiをさわり初めて1日たつか立たないかの超初心者なのですが
たとえばコマンドプロントを使うような [***.exe -d ****.zip] 的なコマンドを実行させることは可能でしょうか?
自分で調べたやり方ではbatファイルを作成して起動させるくらいしかなかったのですが
batファイルなしではやはり無理でしょうか?
他のソフトを開くにはどうしたらいいのですか?
https://www.petitmonte.com/bbs/answers?question_id=2987
にあるように、
ShellExecute
を使うのはどうですか?
igy様
ShellExecuteではちょっとやりたいことと違うことになってしまうので・・・
質問がちょっとわかりにくかったようなのでつけたします
例ですがlameなどで音楽ファイルをmp3にする場合使用するコマンドみたいなのを
Delphiのプログラムで行いたいのです
batファイルをexeと同梱するのがちょっと嫌なので
どうにかlame.exeとDelphiで作成したexeだけでコマンドを使用できないでしょうか?
ちょっとややこしい質問なのですがお願いします
もしかしたら、これですか?
コマンドライン引数を受け付けるには
https://www.petitmonte.com/bbs/answers?question_id=2115
例えば
http://anonymousriver.hp.infoseek.co.jp/bestlame/
こういうことなら、ShellExecute で、コマンドごとShellExecuteに
渡せばいいだけなんだけど、それでも違うのか?
ShellExecute(Handle, nil,
'lame.exe --vbr-new -V0 -b256 -F -f -m s --notemp --nores --interch 1 -p -k',
nil, nil, SW_SHOWNORMAL)
もしかして、フォームがないコンソールアプリケーションを作りたいってことですか?
igy様何度もありがとうございます
それもすこしやりたいことと違うんですよ・・・
ofZ様
それです!それがやりたかったんですがためしに作ってみたところ
lame.exe lame_enc.dll test.mp3をProject1.exeと同じディレクトリにおいて
uses ShellApi
procedure TForm1.Button1Click(Sender: TObject);
begin
ShellExecute(Handle, nil,
'lame.exe --vbr-new -V0 -b256 -F -f -m s --notemp --nores --interch 1 -p -k test.mp3 test2.mp3',
nil, nil, SW_SHOWNORMAL)
end;
これでボタンをクリックしても変換が始まりません・・・
なにかおかしいところはあるでしょうか?
パラメータ部分をexeと分けて指定してみてはどうでしょう?
参考:http://msdn.microsoft.com/library/ja/default.asp?url=/library/ja/jpshell/html/_win32_shellexecute.asp
procedure TForm1.Button1Click(Sender: TObject);
begin
ShellExecute(Handle, nil,
'lame.exe',
'--vbr-new -V0 -b256 -F -f -m s --notemp --nores --interch 1 -p -k test.mp3 test2.mp3',
nil, SW_SHOWNORMAL)
end;
Ru様
無事やりたいことが出来ました!
ありがとうございます
そしてみなさまありがとうございました
ツイート | ![]() |