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


HSPTV!掲示板


未解決 解決 停止 削除要請

2013
0724
hkr起動時にウィンドウを表示しないプログラムのつくり方13解決


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" です



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