【ご質問】
ファイルをダウンロードし、その後自動でダウンロードファイルを実行したいと考えております。
Windowsではアイコンをダブルクリックすると拡張子に関連付けされたアプリケーションが実行されますが、
Curlでも同様の処理が出来ますでしょうか?
【回答】
STARTコマンドをrun-host-shellプロシージャから実行することで
関連付け実行が可能です。
フルパスをSTARTコマンドの引数としてお渡しください。
詳細は以下のサンプルをご参照ください。
{curl 6.0,7.0,8.0 applet} {curl-file-attributes character-encoding = “shift-jis”}
{import * from CURL.RUNTIME.HOST-PROCESS}
{let tf:TextField = {TextField value = “フルパスを入力してください”, width = 10cm } }
{let cb:CommandButton = {CommandButton label=“関連付け実行”, {on Action do let url-link:Url = {url “file:///“ & tf.value} let file:any = {url-link.resolve error-if-missing? = false} {type-switch file case file:File do ||ファイルとして存在する let hostprocessrtn:int = {run-host-shell “START \”\” cmd /c \”” & url-link.local-filename asa String & “\”” } else {popup-message “ファイルが存在しません”} } } } }
{View {VBox tf, cb }, visibility = “normal”, {on WindowClose do {exit} } }
|
また、APIリファレンスの
[CURL.RUNTIME.HOST-PROCESS]-[run-host-shell]
の項をご参照ください。