- - PR -
Windows2003server x64での秒単位sleep
1
投稿者 | 投稿内容 |
---|---|
|
投稿日時: 2006-12-18 09:28
おはようございます。いつも大変参考にさせていただいております。
最近,Widows2003server x64を導入したのでアプリケーションの動作確認を している者です。現在、バッチファイルを作って50ms間隔でアプリーションを 起動させたいのですが、sleepコマンドが使えないようで作業が行き詰って しまいました。 Windows2003server x64環境において秒単位でのsleepコマンドと同等の処理が できる方法をご存知の方が居られましたらご教示頂けましたら幸いです。 よろしくお願いします。 |
|
投稿日時: 2006-12-19 12:00
チャブーンです。
プログラム等は調べていませんが、一番簡単なのは、WSH で sleep メソッドを使うことです。 Wscript.sleep [ミリ秒] をスクリプトに入れれば、その時間で sleep してくれます。 http://msdn.microsoft.com/library/ja/script56/html/wsmthsleep.asp |
|
投稿日時: 2006-12-19 16:55
http://www.microsoft.com/downloads/details.aspx?FamilyID=9d467a69-57ff-4ae7-96ee-b18c4790cffd&DisplayLang=en
2003 32bit 版のリソースキットを入手し、テストマシンにインストール その中からsleep.exeを取り出してパスの通っているディレクトリにおくだけで よいです。たとえばC:\windows など 実際、この方法でsleepしながら、バッチ処理を実行しています。 vbsは待機する秒が異なるごとにその数だけスクリプトを準備しなければいけないので 正直不便な場合があります。 2003 や XP の 64bit 版では32bitの実行ファイルがそのまま動作することが多いので 64bit 版がないソフトを使用しなければならない場合試してみる価値はあります。 ただ、ハードウェアにアクセスしたりするタイプのソフトでは ドライバの問題で動作しないことが多いです。 |
|
投稿日時: 2006-12-19 18:49
チャブーンです。
> vbsは待機する秒が異なるごとにその数だけスクリプトを準備しなければいけないので > 正直不便な場合があります。 ふむふむ。なるほど。 そういうことであれば、VBS をコマンドっぽく使う方法はどうでしょう。 ---- set objAug = Wscript.Arguments Wscript.sleep objAug(0) ---- これを sleep.vbs とでも保存して、したのようにコマンド実行するとか。 cscript //nologo sleep.vbs [ミリ秒] |
|
投稿日時: 2006-12-28 16:54
ご教示いただいた皆様
色々とアドバイスありがとうございます。返事が遅くなりまして申し訳ありません。 ご質問させていただいたときは時間的に切羽詰っていましたので32bit環境のVS2005で C言語の簡単なプログラムを作成して、x64用にコンパイルして使いました。 今後の勉強のために皆様から頂いた情報も時間を見つけて試したいと思います。 どうも、ありがとうございました。 特に必要ないかと思いますが、以下に私が場当たり的に作成したプログラムを貼って おきます。 ---------みっともないですがこんな感じです。 #include <stdio.h> #include <windows.h> int main(int argc, char *argv[]){ int count_time = 0; //入力パラメータエラー処理 if(argc < 2){ printf("スリープさせる時間を入力してください。(ms)\\\\n %Sleep 500\\\\n"); } //指定スリープ時間をintに変換 count_time = atoi(argv[1]); //スリープ Sleep(count_time); } ------------------------ |
1