• 締切済み

常駐PGの作成方法って?

常駐プトグラムを作成したいと思ってます。 内容としては、あるフォルダを常に監視しておき BATファイルが入ってきたらそのBATを実行・・ (実行後のBATは削除) 上記仕様のPGってVB作成可能でしょうか? APIを使用すれば良いでしょうか? 初心者のためAPIなどよく解っておりません。 よろしくお願いします。

みんなの回答

  • haporun
  • ベストアンサー率40% (230/562)
回答No.2

PGが何の略か、プトグラムというものが何なのかは、不安が残りますが(笑。 監視は先人者の言うとおり、Timerでいいと思います。 ちなみにIntervalはミリ秒なので1000で1秒です。 FileListBoxは使いづらいので、Microsoft Scripting Runtimeを参照設定して得られる、Folderオブジェクトを使うといいと思います。 常駐したいということは、ウィンドウを表示せずにタスクトレイなどにひそかに存在したいということですね。 それならShell_NotifyIconというAPI関数で実現できます。 参考URLをごらんあれ。

参考URL:
http://www.okweb.ne.jp/search.php3?dummy=%83%81%81%5B%83%8B&c=207&kw=Shell_NotifyIcon&submit=%92T%82%B7
kintarou3
質問者

お礼

なるほど!タスクトレイを使用するのですネ! よく理解できました。 詳細URLまで載せていただきありがとうございます。

回答No.1

簡単な方法は、Timerコントロールを使う方法だと思います。 Intervalプロパティで100(1秒だったと思う)を設定し Timerイベントでフォルダーの中を検索し、ファイルがあれば実行するという形で。 タスクに入れるとかは、API関数で行うようになると思います。(過去ログにあったと思います) フォルダを監視の部分は色々あると思いますが、これも簡単な方法では、 FileListBoxコントロールでPathをフォルダ固定にしておき、Timerイベント内で File1.refreshとすれば、FileBoxの中を再表示(表現はあってる?)しますので、 file1.listcountでファイル数を取得すればいいと思います。 File1.pattern="*.bat"としておけば、拡張子が"bat"のもののみ表示します。

kintarou3
質問者

お礼

早速の回答、ありがとうございます。 Timerを使用するまでは考えたのですが、 サーバ側でプログラムを終了されてしまうと クライアント側からいくらBATファイルを 掘り込んでも実行しないという問題がありました。

関連するQ&A