No.3ベストアンサー
- 回答日時:
XP pro なら tasklist コマンドが使えますね(2000 pro は手元に無いので確認できません)。
以下のようなバッチと VBS を組んでみました。参考にしてください。----- watch.bat -----
@echo off
if "%1" == "" (echo Usage: %0 imagename & exit /b 1)
:loop
for /f "tokens=1" %%A in ('tasklist /nh /fi "IMAGENAME eq %1" 2^> nul') do (
if "%%A" == "%1" (
echo %%A is launched &rem この行を起動するコマンドに置き換える
goto end
)
)
echo Waiting for %1
cscript "%HOMEPATH%\bin\mysleep.vbs" 1000 &rem mysleep.vbs のパスは要変更
goto loop
:end
exit /b 0
----- mysleep.vbs -----
WScript.Sleep WScript.Arguments(0)
No.5
- 回答日時:
> mysleep.vbsは一行だけになりますか?
はい。Windows には一定時間眠るコマンドが無いので、作りました。指定したミリ秒眠ります。サンプルでは 1 秒眠るようにしましたが、適当に調整してください。
No.4
- 回答日時:
>私が実現したのは、内部的に特定のPGが実行されるとき自動的に画面解像度切替PGを走らせたかったのです。
>但し特定のプログラムはユーザーが操作するのではなく、他の管理PGに呼ばれて実行しているようなのです。
これをつかえばいいんじゃないかな。
http://www.vector.co.jp/soft/win95/util/se316489 …
ただし、exeファイルを書き換えます。#2さんの書いている方式ですね。
batだったら自分で解像度変更処理をそのbatファイルに書き加えればいい。
>それが何が不明だったので、実行中のプロセスを外側から監視して切替られないかと考えた次第です。
やりたいことをストレートに書いたほうがいいです。
この回答への補足
質問をする前に御紹介のありましたソフトを試しましたが、何らかのタイミングで実行前の解像度に戻ってしまったのです。
確かこのソフトは呼び出すプログラムのプロセスを見てて、終了すると同時に解像度も元に戻すといった仕様だったかと思いますので、メインとなるプログラムから幾つかのサブを呼ぶようになっていると仮定し、そのうちの一つのサブが実行されるときだけ解像度を変えたいとなると、今回私が質問したように常にプロセスを見ていて解像度変更するタイミングを待機しなければいけないと考えました。
元のプログラムを変えられたら良いのですが、ブラックボックスになっているので外から監視するしか無いと判断したのです。
No.2
- 回答日時:
特定のプログラム:a.exe
質問者さんが実行したい任意のプログラム:b.exe
とすれば、
(1) a.exeをリネームしてa_a.exeとかする
(2) VisualBasicとかで、a.exeというソフトを作る。このソフトの中身は、「もらった引数を全てa_a.exeに渡して実行する」かつ「b.exeを起動する」というただのランチャー。
(3) a.exeを、本物のa.exeがあった場所に設置。
で、動く*かも*しれませんね。
まぁUNIX的発想なのでWindowsでは無理かもしれません
No.1
- 回答日時:
OSくらいかかないと、まともな回答は期待できません。
また任意のコマンドはどういう実行形式なのでしょう?
シェル?バッチ?exe?(これもOS次第でしょうけど)
プロセスの監視は無駄な処理のような気もします。
定期的にチェッカーを走らせて、ヒットしたときに
なにかプログラムを実行する方が効率的ですね。
もちろん一瞬しか実行されないプログラムを
追っかけたいというなら、それはそれで
多少の効率性を捨ててでも、常時監視をした方が
いいのでしょうけど。
この回答への補足
>OSくらいかかないと
ごもっともな意見です。
OSはWindows Xp Pro SP2です。
同じ事を2000PROでも行いたいと考えています。
>また任意のコマンドはどういう実行形式なのでしょう?
>シェル?バッチ?exe?(これもOS次第でしょうけど)
ここで指すのはexeを実行したいのですが、状況によってはbatもあり得ます。
要は解像度切替ソフト(フリーウェア)を実行したいのですけどね。
>定期的にチェッカーを走らせて、ヒットしたときに
>なにかプログラムを実行する方が効率的ですね。
確かに言われてみれば常時監視するというよりも定期的にチェッカーを走らせるという手もあるかもしれません。
私が実現したのは、内部的に特定のPGが実行されるとき自動的に画面解像度切替PGを走らせたかったのです。
但し特定のプログラムはユーザーが操作するのではなく、他の管理PGに呼ばれて実行しているようなのです。
それが何が不明だったので、実行中のプロセスを外側から監視して切替られないかと考えた次第です。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Windows 10 バッチファイルでのエクスプローラー終了 1 2022/05/30 14:32
- その他(プログラミング・Web制作) プログラムが書けません。 6 2023/01/22 22:58
- その他(プログラミング・Web制作) pythonのOpenCVを自動インストールするプログラム 1 2022/09/02 08:22
- その他(学校・勉強) この中で間違ってある説明はありますか?詳しい方に教えていただきたいです。 A. 1つのプログラムが複 2 2023/07/14 01:15
- Windows 10 Windowsのタイムスケジューラーについての質問です。 先日、Webスクレイピング用のプログラムを 1 2022/09/28 05:51
- サーバー 無料のレンタルサーバで、スクレイピング(?)はできますか? 2 2022/05/07 10:09
- その他(プログラミング・Web制作) マウスを使用してpowershellのプログラムを起動して、引数リストを渡したい 1 2022/11/07 21:39
- C言語・C++・C# 現在プログラムを作っているのですが、実行したときに写真のように結果が表示されるのですが、これを CH 2 2023/01/18 16:22
- Ruby MacBookAir起動時にRubyソースコードをコマンドラインで実行するには? MacのOS起動時 1 2022/04/18 01:55
- その他(セキュリティ) これはDos攻撃になりますか? 1 2022/06/30 09:46
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Thunderbird 振り分けされなく...
-
xcopyバッチを管理者として実行...
-
MODE関数を文字でできる関数は...
-
エクセルで定期的(30分おき)...
-
Jmeterで長時間のテスト
-
x64とIA64の違い
-
VBAのタイマー
-
グループポリシーでログオンス...
-
ポリシーによる自動ログオフ
-
2010でShiftキーを使っても自動...
-
sfc /scannowが使えない
-
元のフォルダに矢印キーで帰りたい
-
コマンドの戻り値が「130」
-
Tera Termでのコマンド流し込み...
-
excel VBA フォルダ内のサブフ...
-
【Ciscoコマンド】interface As...
-
撮影後、SDカードに作成される...
-
お気に入りに追加したのに表示...
-
C#でCSVファイルをリストビュー...
-
大文字はできるだけ使わない方...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Thunderbird 振り分けされなく...
-
エクセルで定期的(30分おき)...
-
xcopyバッチを管理者として実行...
-
MODE関数を文字でできる関数は...
-
2010でShiftキーを使っても自動...
-
JP1で月末以外で毎週月曜日のジ...
-
タスクススケジューラを停止さ...
-
SSDのTrimって毎日実行していい...
-
vbsファイルによるネットワーク...
-
x64とIA64の違い
-
VBAのタイマー
-
ADのDC移行の手順を教えてください
-
GIGABYTE ユーティリティについて
-
bashで15分前と現在のエポック...
-
WindowsServer2003の、SMB1.0を...
-
グループポリシーでログオンス...
-
bat 処理の中止
-
Teratermで、条件分岐させたい
-
CHKDSKの実行を解除したい
-
FLEXlm Log fileを集計するソフト
おすすめ情報