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


HSPTV!掲示板


未解決 解決 停止 削除要請

2012
0218
陸百-K非表示でも実行14解決


陸百-K

リンク

2012/2/18(Sat) 19:56:02|NO.44923

キーボード操作でカーソルを操るプログラムを作っています。

ウィンドウが非表示でもプログラムを
実行し続けることは可能でしょうか?
また、そのプログラムを実行しながら
他のアプリを操作することは可能でしょうか?

ペイントとかで数ピクセルだけ切り取りたいときとかに使いたいもので...



この記事に返信する


check

リンク

2012/2/18(Sat) 20:05:13|NO.44924

可能。
だが、最後にきちんとendで終了させておかないと、
あまり知識のないPCユーザーの手からは終了させられないプログラムになるので注意。
見かけ上はなくなっても、バックグラウンドでメモリとCPU時間を食うことになる。



陸百-K

リンク

2012/2/18(Sat) 20:09:36|NO.44927

実行可能と聞いて一安心しました。
でも、どのような関数を使ったらよいのでしょうか・・・
ヘルプやヤフーで検索かけてみましたが
非表示のまま実行とか惜しいところしかでてきません(汗)



きのこ

リンク

2012/2/18(Sat) 20:20:06|NO.44928

ウィンドウを画面外に出す


h=3 width ,,1000,1000 dialog "F1で終了" x=ginfo_mx y=ginfo_my repeat getkey a,37:if a:x-=h getkey a,38:if a:y-=h getkey a,39:if a:x+=h getkey a,40:if a:y+=h getkey a,112:if a:end mouse x,y wait 1 loop



ORZ

リンク

2012/2/18(Sat) 20:23:42|NO.44931

gselで調べなさい。
実行ファイルにする時に、メインウィンドウを非表示にする設定もある。



Φ?-K

リンク

2012/2/18(Sat) 20:27:06|NO.44932

きのこs>
!!、そのやり方がありましたか・・・
あ、でもchackさんの注意を聞くとタスクバーに最小化しつつ
プログラムの実行をしつづけるやり方のほうがいいみたい。
それに、ただ画面外に出しても他のアプリをアクティブにしてしまうと
キーボード操作ではカーソルを操れません。

質問少し変わりますが、
タスクバーに最小化?(右端にしまう)しつつ
キー判定などのスクリプトの実行はできないでしょうか?



ぬこ

リンク

2012/2/18(Sat) 20:31:27|NO.44933

タスクトレイならありました
http://hspnext.com/hspkura/hspkura02.htm#contents21



陸百-K

リンク

2012/2/18(Sat) 20:39:56|NO.44934

ぬこs>
あ、ありがとうございます。
げっ、サンプルだけで100行オーバー!

結局ほかアプリを操作しつつ
HSPのほうも実行させるやりかたはどうなったんでしょうか



陸百-K

リンク

2012/2/18(Sat) 21:04:02|NO.44935

あ、きのこsのスクリプト・・・できる!
HSPがアクティブじゃなくても実行でている。
これはwidth関数を用いたからでしょうか。
とりあえず、width関数をマスターしてから
タスクトレイに手を付けよう。



陸百-K

リンク

2012/2/18(Sat) 21:44:22|NO.44936

連続投稿、すみません。

widthはウィンドウの位置替えでした。
きのこさんスクリプトのループ部分だけ自分のものに
書き換えましたら狙い道理にはいきません。
なぜきのこさんスクリプトはアクティブでなくても
実行できているのでしょうか?
stickは使えないということですか?

なんだか、ささっと作れるお手軽なものだと思っていたんですけど
ややこしくなってきました(汗)

それと、ぼくタイプ速度遅いのと、ネット使用時間に限りがあるので
返信は遅いです。



check

リンク

2012/2/18(Sat) 21:57:28|NO.44937

あれは馬鹿なことをやっているから参考にしないほうがいい。
ちょっと知恵を持った初心者が口出ししたくなったのだろう。
まずはgselでF1ヘルプ検索。
そして、コピペではまともに動くスクリプトを作れる可能性は低い。
しっかりとそのスクリプトが何をしているのかを理解してから参考にするんだな。



ORZ

リンク

2012/2/18(Sat) 22:57:36|NO.44938

何でこんなに長くなっているのかまったく意味不明。
メインループにESCキーが押されたらendする処理を入れた後に、プログラムの最初か
screen命令の後にgsel -1すれば済むだけの話。
タスクトレイに出たほうが確かにカッコイイから、もう少しレベルが上がったらやってみれ。

ウィンドウを画面の外に出すというのはなかなか奇想天外な発想だ。アクロバティックな
解法を思いつくのは重要なことだが、大抵の場合まったく意味がないということと
初心者の学習には科ほども役に立たんということを考えてやってくれ。
それから解像度によっては1000ごときでは足りないかもしれないので、得意のginfoでディスプレイの
サイズを取得してからずらしてやるといい。



ヂオン

リンク

2012/2/19(Sun) 00:09:24|NO.44940

>> これはwidth関数を用いたからでしょうか。
getkey 命令は標準で ウィンドウがアクティブでなくても キー入力を 取得できます。
>> stickは使えないということですか?
stick 命令も 第3引数 を 0 にすると ウィンドウがアクティブでなくても キー入力を取得することが出来るようになります。

getkey 命令 stick 命令 のヘルプを読み直してみることをお勧めします。



陸百-K

リンク

2012/2/19(Sun) 12:38:36|NO.44958

chack>
gselの使い方は分かってはいたのですが、
キー判定でつまづいていたようです。
ORZ>
ならいっそのこと、マイナス値を指定して
消してしまうほうが楽ですね(笑)
タスクトレイのほうは後々頑張ってみます。
ヂオン>
アクティブ有無はそこで役に立つのでしたか、
ご丁寧に説明ありがとうございます。



陸百-K

リンク

2012/2/19(Sun) 12:43:31|NO.44959

無事実行できました。
原因はキー判定のウィンドウアクティブの有無の確認が
有効になっていたことでした。(確認の為に記す)

chackさん、きのこさん、ORZさん、
ぬこさん、ヂオンさん、
ありがとうございます。



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