起動時にウィンドウを表示しないプログラムのつくり方
hkr 2013/7/24(Wed) 17:09:07|NO.55859
現在外部プログラムからシェルでEXEファイルを呼び出され、オプションの内容に基づいて
処理し自動終了するプログラムを作っているのですが、プログラムが起動するたびにこれが
アクティブウィンドウになってしまい、元のプログラムがフォーカスを奪われ動作が
止まってしまいます。
これを防ぐ方法はありますでしょうか?
このプログラム自体画面表示は全く必要ありません。
kanahiron 2013/7/24(Wed) 17:16:48|NO.55860
ランタイムのhsp3clを使うか、 #cmpopt hide 1 を使ってみてはいかがでしょう?
hkr 2013/7/24(Wed) 17:47:50|NO.55862
ありがとうございます。
#cmpopt についてヘルプを参照しましたが、cmpoptに「hide」というオプションは
存在しないようですね。実際にコンパイルエラーが発生します。
hsp3clはどの辺りのコマンドが使えるのでしょうか?
YSR 2013/7/24(Wed) 18:12:09|NO.55864
>#cmpopt
それ#packoptの間違いじゃね?
(’’ 2013/7/24(Wed) 18:12:27|NO.55865
違う人ですが、#cmpopt hide 1 は #packopt hide 1 のミスかと
hsp3clはウィンドウ表示関連を省いて軽くなってるので裏画面の作業の実行ファイルにおすすめだと思います
(’’ 2013/7/24(Wed) 18:13:12|NO.55866
ぬわかぶってしまった
kanahiron 2013/7/24(Wed) 18:47:58|NO.55867
おっと ごめんなさいミスりました…
hkrさん、YSRさんの言うとおりです
hkr 2013/7/24(Wed) 20:00:06|NO.55868
どもども、ありがとうございます。
#packopt hide 1を追加してコンパイルして試してみましたが、結局何も変わりませんでした。
いつもどおり一瞬ウインドゥが表示されます。
っていうかコレ本当に動作するオプションなんですかね?
それとも何かお作法が必要なんでしょうか・・・
一応screen命令を外してみたりしたのですが・・・
(今までは1x1ドットのウィンドウにしていた)
(’’ 2013/7/24(Wed) 20:35:56|NO.55870
あぁ、実行ファイル自動作成のみに左右する命令なので、スプリクトエディタから実行する上での
スクリーンを消しながら起動する方法はないです(だぶん)
Ctlr+F9を押して、実行ファイルを動かすと消えてるとおもいます
hkr 2013/7/24(Wed) 21:00:07|NO.55873
ありがとうございます。
もちろんEXEファイルを作成した上で実行してみましたが、
やはり一瞬ウィンドウが表示されてしまいます。
まぁ本質はウィンドウが表示されないことではなくて、フォーカスを奪い取らない
事なので、他に何かバックグラウンドで起動する手段があればご教授願いたいのですが・・・
check 2013/7/24(Wed) 21:05:24|NO.55874
既に上のレスで答えは出ているが、#packoptはF1ヘルプの説明に
「実行ファイル自動作成の動作を指定します。」としっかり書いてある。
細かいところまで読もう。
>現在外部プログラムからシェルでEXEファイルを呼び出され、オプションの内容に基づいて
>処理し自動終了するプログラム
これならhsp3clのランタイムを使ってもできるのでは。
ランタイムの変更は #runtime hsp3cl で変更できる。
check 2013/7/24(Wed) 21:08:07|NO.55875
>もちろんEXEファイルを作成した上で実行してみましたが、
>やはり一瞬ウィンドウが表示されてしまいます。
#packopt hide 1 を書いても、ということか?
それは、そちらのプログラムのソースに問題があるのではないか。
hkr 2013/7/24(Wed) 22:02:47|NO.55880
ありがとうございます。
とりあえずhsp3cl試してみたいと思います。
(’’ 2013/7/25(Thu) 13:31:16|NO.55915
#packopt hide 1を一番上に書いて、Ctlr+F9を押してできたexeを実行すればちゃんと起動時に見えなくなるはずですが・・・
ソースコードを確認して、多重にscreen0を初期化したりしてないかチェックしてみて下さい
それかgsel 0,1とかを確認してみて下さい
別の方法としてはツール→EXE作成、で「起動時にメインウィンドウを非表示にする」にチェックを入れて作成すればいけるはずです
stat.axを作成してからpackfile編集で追加するのも忘れずに
あとhsp3clランタイムは、ただGUI命令を省くだけで起動時に非表示ウィンドウを作成するわけではありません
それとhsp3clの指定は #runtime "hsp3cl" です