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


HSPTV!掲示板


未解決 解決 停止 削除要請

2023
1228
UNGAパイプ付き実行について教えてください。4未解決


UNGA

リンク

2023/12/28(Thu) 09:33:25|NO.100934

パイプ付き実行について教えてください。
以下のコードを実行するとメモ帳が起動しますが、起動後の文字入力が変数bufに
格納されません。どのように直せばよいか教えていただければ幸いです。
OSはwindows10です。



    #include "hspext.as" sdim ln,4096 sdim buf,32000 pipeexec buf,"notepad.exe",1 if stat : dialog "実行できませんでした" : end mes "実行中..." repeat pipeget ln ; パイプの取得/更新 if stat=0 : break ; メモ帳終了ならループを抜ける wait 10 loop mes "実行完了..." mes buf //ここでメモ帳に入力された文字が表示されない stop



この記事に返信する


TOMATO

リンク

2023/12/28(Thu) 09:55:21|NO.100935

>以下のコードを実行するとメモ帳が起動しますが、起動後の文字入力が変数bufに
格納されません。
pipeexec はコンソールアプリ(黒い画面)のテキストを取得するものであって、
メモ帳のようなGUIアプリのテキストを取得するものではありません。

ヘルプにもきちんと書いてありますね。
>pipeexec命令は、おもにwin32コンソールアプリケーション(DOSプロンプトで動作する32bitアプリケーション)の実行を支援するための機能です。
https://docs.hsp.moe/3.6/reference/hspext/pipeexec/



TOMATO

リンク

2023/12/28(Thu) 10:02:50|NO.100936

あー、サンプルコードにメモ帳が入ってるのね…。
サンプルがあまりよくないコードですね。
https://docs.hsp.moe/3.6/reference/hspext/pipeget/



UNGA

リンク

2023/12/28(Thu) 12:42:05|NO.100938

何と、pipeexec buf,"notepad.exe",1 では駄目だったんですね。

コンソールアプリを起動するにはどうしたらいいのか教えていただけませんか?
notepad.exeのかわりにcmdと入れてみましたが、起動できませんでした。



TOMATO

リンク

2023/12/28(Thu) 16:35:48|NO.100939

>notepad.exeのかわりにcmdと入れてみましたが、起動できませんでした。

cmd を指定するのではなく、ipconfig や ping、netstat、tracert、tasklist などの
コンソールアプリの実行ファイルパスを指定するのが一般的な使い方です。
(cmd自体は、コンソールアプリを動作させるための実行ファイルなので、ダメじゃないかと)


#include "hspext.as" sdim ln,4096 sdim buf,32000 pipeexec buf,"ping 127.0.0.1",1 if stat : dialog "実行できませんでした" : end mes "実行中..." repeat pipeget ln ; パイプの取得/更新 if stat=0 : break ; メモ帳終了ならループを抜ける wait 10 loop mes "実行完了..." mes buf //ここでメモ帳に入力された文字が表示されない stop



記事削除

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

NO.100934への返信

マスコット

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

名前

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

削除用パスワード

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

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

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