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


HSPTV!掲示板


未解決 解決 停止 削除要請

2009
0828
kossタスクバーのタイトル19未解決


koss

リンク

2009/8/28(Fri) 19:15:28|NO.27370

↓のようにするとタスクバーのタイトルバーが更新されにくくなるのですが、解決するにはどうすればいいのでしょうか。

repeat TITLE ""+cnt+"" wait 1 loop



この記事に返信する


モノブロス

リンク

2009/8/29(Sat) 01:17:09|NO.27380

実行してみましたがタスクバーのタイトルバーは普通に更新されましたよ



リンク

2009/8/29(Sat) 01:25:03|NO.27381

自分の環境ではwait11以降にしないと途中つまったりしてきちんと反映されませんでした
待機時間を増やすしかない…のでは



undefined

リンク

2009/8/29(Sat) 18:24:09|NO.27411

vistaだけどタスクバーのタイトルを右クリックしないと反映されませんでした



Kpan

リンク

2009/8/29(Sat) 21:30:28|NO.27415

自分の環境(XP)だと処理が追いつかず、wait値を10以降にしないと
ダメでした。

# 自分のWindowsは「タスクバーを自動で隠す」の設定を有効にしてるので、
# タスクバーを凝視するのが前提(?)のプログラムは人によって使えんかったり
# しないですかね?(^^;



ANTARES

リンク

2009/8/30(Sun) 07:03:52|NO.27424

 今の今まで質問の意味を誤解していました(^_^;;
まあ、Windowsはこれに限らずバグだらけなんで……
所詮、マイクロソフトのやることですから。



えく

リンク

2009/8/30(Sun) 08:12:22|NO.27429

Vistaでしたが皆さんと同じようにwaitをもっと長く持たせないと更新されませんでした (^^;;

更新されるタイミングとしては、右クリックというよりはウィンドウのキャプションをドラッグしたり最小化ボタンを押すなど、
一時的にHSPのウィンドウが固まるとき(タスクバーのウィンドウにとってwaitができるとき)に更新されるようですね

ちなみに以下のようにしたら私の環境では更新されるようになりました(ただし、期待された結果とは違うと思いますが (^^;;;;;;


#include "user32.as" repeat TITLE ""+cnt+"" FlashWindow hwnd, 0 wait 1 loop

この理論で考えるなら何かタスクバーのウィンドウハンドルでもとってきて再描画させれば出来そうな感じがするんですが…
やってみたところ、どうにもできませんねぇ… (汗
暇があったらもう少し考えてみます…



モノブロス

リンク

2009/8/30(Sun) 18:54:20|NO.27455

XPやVistaだと
更新がされなかったりするんですね
うちはWindows98SEでちゃんと更新されてます

今思ったんですが
なんでタスクバーのタイトルが更新がされにくくなるのを解決したいのですか?



koss

リンク

2009/9/1(Tue) 00:33:30|NO.27479

自分もwaitを10にしたら更新されるのを確認しました。
しかしwaitを10にすると処理速度が遅くなるのでwaitは1のままにしたいのですが・・・。

>なんでタスクバーのタイトルが更新がされにくくなるのを解決したいのですか?
タイトルバーに情報を表示して、ウィンドウをアクティブにしなくても分かるようにしようかと。



inovia

リンク

2009/9/1(Tue) 00:42:01|NO.27480

>しかしwaitを10にすると処理速度が遅くなるのでwaitは1のままにしたいのですが・・・。
時々wait 10を実行してみる作戦とか?


repeat title ""+cnt+"" if cnt\32=0:wait 10:else:wait 1 loop



窓口

リンク

2009/9/1(Tue) 03:23:03|NO.27482

inovia さんに便乗して。


repeat if (cnt \ 8) = 0 : title str(cnt) wait 1 loop

時々タイトルを変えるという方法も



モノブロス

リンク

2009/9/7(Mon) 15:34:49|NO.27577

今思ったのですが
アプリケーションの情報をタイトルバーに表示するのなら
タイトルバーの文字が変更されたときにだけ
「title」命令を実行すればいいのでは

タートルバーの文字が変わった時に
タイトルバーを更新するサンプル

winx = 320 winy = 128 screen 0, winx, winy, 0, (ginfo_dispx - winx) / 2, (ginfo_dispy - winy) / 2 load = 0 loadm = 500 repeat redraw 0 load += 1 kazu = 100 * load / loadm moji2 = moji1 moji1 = "" + kazu + "%完了" color 192, 192, 192 : boxf color 0, 0, 255 : boxf 0, winy / 2 + (winy / 2 - 32) / 2, winx * load / loadm, winy / 2 + (winy / 2 - 32) / 2 + 32 font "MS ゴシック", 32, 0 : color 0, 0, 0 pos (winx - 16 * 10) / 2, (winy / 2 - 32) / 2 : mes "読み込み中" if moji1 ! moji2 : title moji1 if load = loadm : break redraw 1 wait 1 loop redraw 0 kazu = 100 * load / loadm moji2 = moji1 moji1 = "" + kazu + "%完了" color 192, 192, 192 : boxf color 0, 0, 255 : boxf 0, winy / 2 + (winy / 2 - 32) / 2, winx * load / loadm, winy / 2 + (winy / 2 - 32) / 2 + 32 font "MS ゴシック", 32, 0 : color 0, 0, 0 pos (winx - 16 * 12) / 2, (winy / 2 - 32) / 2 : mes "読み込み完了" if moji1 ! moji2 : title moji1 redraw 1



SYAM

リンク

2009/9/7(Mon) 15:50:58|NO.27578

そもそも問題は
「タイトルバー文字列を更新しているのにタスクバー上に反映されない」
…ということなので、更新の頻度を落とすのは関係ないのではないかなと。。



モノブロス

リンク

2009/9/9(Wed) 20:44:42|NO.27607

>>SYAMさん
でも更新の頻度を落とすことでタスクバーに反映されたという解答があるので、
無駄な更新を減らすのは効果的だと思います。



ANTARES

リンク

2009/9/10(Thu) 03:40:20|NO.27612

>無駄な更新を減らすのは効果的だと思います。
 よく読みましょう。最初のスクリプトに無駄な更新はありません。
 タスクバーに反映されたのは「無駄な更新を減らした」のではなく
「更新されているのに間引いた」結果です。



SYAM

リンク

2009/9/10(Thu) 11:07:47|NO.27617

何かの契機で更新が発生するのを待てば、確かに更新される「回数」は増えます。
しかし、「頻度」が変化しないことには問題が解決しません。

変更した分だけ更新したい、というだけの要求なら、何かの要因で更新されるまで待つことでも確かに満たせます。
しかし、変更に対して更新が間に合わないのを何とかしたいという要求だと、更新を待っていたんでは、結果が何も変わらないです。
今回の問題では、「更新されにくくなる」のが問題になっているのですから、更新がちゃんと発生する要因を作り出すことが必要なハズです。



モノブロス

リンク

2009/9/11(Fri) 00:04:29|NO.27634

たしかにそうですね
状況が再現できないのにいろいろ言ってすいませんでした
これからは状況が再現できないのにいろいろ言うのはやめます
状況が再現できて解決方法を見つけたら言うようにします



KA

リンク

2009/9/11(Fri) 21:19:27|NO.27648

WINDOWS の仕様のような気がします、こういう使い方を想定していないのでは?

想定していないので、環境によって動作が異なると思われます。



シモン

リンク

2009/9/21(Mon) 18:24:30|NO.27858

Windows2000 SP4
Windows2000 SP4 + TaskbarMod2
ですが問題なく更新されます。

waitを「0」にしても問題なく更新される。

上の情報を合わせて考えてみると

1.XPやVistaだと更新がされなかったりする
2.モノブロスさんのWindows98SEでは更新される(タスクバーはグループ化出来ない)
3.私のWindows2000 SP4では問題なく更新される(Windows2000は基本的にタスクバーはグループ化出来ない)
4.グループ化出来るWindows2000 SP4 + TaskbarMod2では問題なく更新される

2000からXPに変わったときにタスクバーに付いた機能にバグがあって、
そのままになっているのではないでしょうか?



壮也

リンク

2009/9/22(Tue) 22:19:03|NO.27896

これはどうしようもありませんね・・・

時々更新作戦しかないですねw
repeat
if (cnt \ 7) = 0 : title str(cnt)
wait 1
loop



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