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


HSPTV!掲示板


未解決 解決 停止 削除要請

2012
0508
ugiフルスクリーンで動作するソフト上に自作ソフトのウィンドウを描画するには8未解決


ugi

リンク

2012/5/8(Tue) 16:58:18|NO.46523

フルスクリーンで動作するゲームをプレイ中、画面左上にCPU使用率等を描画したHSPのウィンドウを表示したいのですが、方法が分かりません。
どのような方法を使って表示出来ますか。



この記事に返信する


GrapeColor(DION)

リンク

2012/5/8(Tue) 17:31:46|NO.46525

ウィドウを最前面にすればいいのでは?

gsel 0, 2
↑こんな感じに



ugi

リンク

2012/5/8(Tue) 20:03:49|NO.46530

最前面表示にしてもゲームがフルスクリーンになるとゲーム以外の全てのウィンドウが非表示になってしまいます。。
イメージとしてはdxtoryのFPS表示に近いです。



GrapeColor(DION)

リンク

2012/5/8(Tue) 22:28:45|NO.46539

無理矢理なやり方だけど

repeat gsel 0, 2 await 1 loop
ループさせちゃえばいつでも最前面になる



ヂオン

リンク

2012/5/9(Wed) 17:49:04|NO.46550

作ってしまったのでアップします。
最前面の方法としてはGrapeColor(DION)さんの方法とほぼ同等です。


#uselib "pdh.dll" #func PdhOpenQuery "PdhOpenQuery" int,int,var #func PdhAddCounter "PdhAddCounterA" int,str,int,var #func PdhCollectQueryData "PdhCollectQueryData" int #func PdhGetFormattedCounterValue "PdhGetFormattedCounterValue" int,int,int,var #func PdhCloseQuery "PdhCloseQuery" int #include "user32.as" onexit *exit bgscr 0,100,20 dim pfc,8 PdhOpenQuery 0,0,hQuery // クエリ PdhAddCounter hQuery,"\\Processor(_Total)\\% Processor Time",0,hCounter // カウンタ pos 90,0:objsize 10,10:button "",*exit // ボタン *@ PdhCollectQueryData hQuery // クエリの更新 PdhGetFormattedCounterValue hCounter,0x200/*PDH_FMT_DOUBLE*/,0,pfc // 以前の値を取得 dupptr cpu,varptr(pfc)+8,8,3 // int から double へ // 描画 redraw 0 color:boxf 0,0,100,20 color,,255:boxf 0,0,cpu,20 color 255,255,255:pos 0,0:mes strf("%d%",cpu) redraw // 最前面 and 位置固定 SetWindowPos hwnd,-1/*HWND_TOPMOST*/,0,0,0,0,0x1/*SPW_NOSIZE*/ // 1秒ごとに更新する await 1000 goto *@b *exit PdhCloseQuery hQuery end



Cookies

リンク

2012/5/9(Wed) 18:27:09|NO.46551

フルスクリーンのゲームなんてやったことないのでわかりませんし、
なんか特殊そうなのでできるかどうかわかりませんが、
SetParentAPIとGetForegroundWindowAPIで子ウィンドウになっちゃうってのはどうですか。
もしできるんなら、ループよりはいいんじゃないかと思う。



KA

リンク

2012/5/12(Sat) 19:57:08|NO.46607

やりたいことは分かりますが、そのソフトのウインドウとして
表示させない限り出来ません。

フルスクリーンは、そのソフトが占有してしまうので、他のウ
インドウを出そうとすると切り替わってしまいます。



晩御飯

リンク

2012/5/12(Sat) 20:55:31|NO.46608

試してないし詳しくもないんだけどウィンドウを切り替え続けると
フォーカスの具合がまずいんじゃないかな



check

リンク

2012/5/12(Sat) 21:30:36|NO.46609

フルスクリーンのところに別のウィンドウを表示すると、
最悪デバイスロストが起きて何も描画されなくなるかもしれないぞ。(ゲーム側が対応していたら大丈夫だが)



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