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


HSPTV!掲示板


未解決 解決 停止 削除要請

2023
1012
execcmd.exe廃止後(あるいは既定で無効化など使いづらく)のexec命令のpath取得&実行2未解決


exec

リンク

2023/10/12(Thu) 21:44:25|NO.100208

exec命令で、任意のURLをブラウザに開かせる処理を書いていました
しかし、これだとcmd依存なのでWindows11のPowerShell置換環境で動かない懸念があります
他に方法はありますか?
長く動くコードにしたいのと、他にも事情があって、execで絶対パスとかは難しいです
「pathが通ってたらそのファイルで開く」方法が必要です

現状

exec ”cmd.exe /c start firefox ”+url (変数urlはURLが入った文字型です)



この記事に返信する


TOMATO

リンク

2023/10/12(Thu) 23:48:09|NO.100210

Windows 11 を使っていますが、cmd.exe は引き続き存在するので実行はできるかと。
コンソールアプリのデフォルトは Windows Terminal になっていますが、
Windows11のsystem32フォルダにはcmd.exeが存在しているので大丈夫だと思います。

なお、以下の方法でもいいかもしれません。


#include "shell32.as" #define SW_SHOWDEFAULT 10 args = "https://hsp.tv/" path = "firefox" ShellExecuteW 0, "open", path, args, 0, SW_SHOWDEFAULT



沢渡

リンク

2023/10/12(Thu) 23:48:11|NO.100211

たとえば、パスの通った場所にhsp3.htmを置いた場合、htmlファイルを規定のブラウザで開くのであれば、

exec "hsp3.htm",16
これだけで行けると思いますが、使うブラウザはFireFoxで固定なのでしょうか?
当方では以下のような方法で上手くできましたが、これで大丈夫でしょうか?

#include "shell32.as" #uselib "shlwapi.dll" #func PathFindOnPath "PathFindOnPathA" int,int //パスの通ったディレクトリから指定したファイルを検索 sdim full,260 tmp="hsp3.htm" memcpy full,tmp,strlen(tmp),0,0 PathFindOnPath varptr(full),0 if stat { ShellExecute hwnd,"open","firefox",full,0,1 //FireFoxで開く場合 }



記事削除

記事NO.パスワード
(質問が解決したスレッドは他の利用者に活用してもらうため、削除しないようお願いします)

NO.100208への返信

マスコット

好きなマスコットを選んでください。

名前

e-mail
HOME
  1. 初めて利用する方は、HSP3掲示板の使い方をお読みください。
  2. 不要部分の多い長いスクリプトの投稿は ご遠慮ください。
  3. 書き込みは自動改行されません。適度に改行を入れてください。
  4. スクリプトは小文字の<pre>〜</pre>で囲むと見やすく表示できます。

削除用パスワード

解決したら質問者本人がここをチェックしてください。

エラー発生時、再送信すると二重送信になることがあります。
回答が得られたら、お礼書き込み時に[解決]チェックしてください。
SPAM防止のためURLから始まる文章は投稿できません。
SPAM防止のため英文字のみの本文を投稿することはできません。

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