HSPポータル
サイトマップ お問い合わせ


HSPTV!掲示板


未解決 解決 停止 削除要請

2020
0110
こいるスクリプトエディタにexecでhspファイルを読み込むときの不具合6解決


こいる

リンク

2020/1/10(Fri) 21:34:09|NO.89219

スクリプトエディタに指定したhspファイルを読み込ませたいと思い、
execで読み込ませてみたのですが、

ファイル名に半角スペースがある場合、
なぜか別のファイルと判断されて、正常に読み込めません。

どうすれば解決するでしょうか?


//サンプル dialog "hsp",16 if stat==1{ exec "hsed3 "+refstr } end



この記事に返信する


ゆうやん

リンク

2020/1/10(Fri) 22:22:43|NO.89220

execの代わりにWin32APIのShellExecute関数を使う。
ShellExecute関数の使い方は自分でググってください。



通りすがり

リンク

2020/1/10(Fri) 23:21:51|NO.89221

exec "hsed3 \""+refstr+"\""

でどうでしょうか。



こいる

リンク

2020/1/10(Fri) 23:52:59|NO.89222

返信ありがとうございます。

ShellExecute関数を使ってみて、なんとかできました。

#uselib "shell32.dll" #func ShellExecute "ShellExecuteA" int,sptr,sptr,sptr,sptr,int #define SW_SHOWNORMAL $0001 dialog "hsp",16 if stat==1 :ShellExecute hwnd,"open",refstr,NULL,NULL,SW_SHOWNORMA end

しかし、これですと、関連づけられたアプリでしか開けません。
特定のアプリで開くにはどうすればいいでしょうか?



こいる

リンク

2020/1/10(Fri) 23:59:23|NO.89223

すみません。通りすがりさんの方法で解決しました。
(ずっとページ更新してなかったから返信気づかなかった)

解決はしたのですが、別スレ立てるのもなんなので、
ShellExecute関数で特定のアプリで開く方法も教えていただきたいです。



あらや

リンク

2020/1/11(Sat) 02:08:59|NO.89225

下記のように『"open", 開きたいアプリのパス, 開きたいファイル』とすれば
関連付けに関係なく特定のアプリで開くことが出来ます。

#uselib "shell32.dll" #func ShellExecute "ShellExecuteA" int,sptr,sptr,sptr,sptr,int #define SW_SHOWNORMAL $0001 dialog "hsp",16 if stat==1 :ShellExecute hwnd,"open",dir_exe+"\\hsed3.exe",refstr,NULL,SW_SHOWNORMA end



こいる

リンク

2020/1/11(Sat) 12:13:39|NO.89228

皆さんありがとうございました!



ONION software Copyright 1997-2021(c) All rights reserved.