Re: SetSysCommandFlag ( No.1 ) |
- 名前:管理人 日時:2020/01/21 01:11
今確認したところ SetSysCommandOffFlag を DxLib_Init の後で呼べば Altキーも F10キーも無効になりました
( この系統の関数は DxLib_Init の前に実行する、というイメージですが、SetSysCommandOffFlag は
DxLib_Init の後でなければ駄目でした… )
よろしければお試しください m(_ _)m
|
Re: SetSysCommandFlag ( No.2 ) |
- 名前:was-blue.0793 日時:2020/01/27 12:47
>>管理人さん
SetSysCommandOffFlagをDxLib_Initの後に呼び出すと、Altキーなどでポーズされなくなりました。
しかし、フルスクリーンで起動すると定期的に強制的に最小化される問題が発生します。
何か考えられる原因はあるでしょうか?
|
Re: SetSysCommandFlag ( No.3 ) |
- 名前:管理人 日時:2020/01/27 23:05
> しかし、フルスクリーンで起動すると定期的に強制的に最小化される問題が発生します。
> 何か考えられる原因はあるでしょうか?
手元の環境では SetSysCommandOffFlag を DxLib_Initの後に呼び出しても定期的に強制的に
最小化されることはありませんでした
was-blue.0793さんの環境でも SetSysCommandOffFlag を使用しなければ強制的に
最小化されることはないのでしょうか?
|
Re: SetSysCommandFlag ( No.4 ) |
- 名前:was-blue.0793 日時:2020/01/28 00:10
>>管理人さん
SetSysCommandOffFlagを使用しない場合、フルスクリーンにしても強制的に最小化されません。
しかし、先ほど別の環境で当該アプリを起動したところ、強制的な最小化は認められませんでした。
環境依存の可能性がありますので、問題の環境で調査してみます。
|
Re: SetSysCommandFlag ( No.5 ) |
- 名前:しいな 日時:2020/01/29 00:38
>>was-blue.0793さん,管理人さん
横から失礼します。
「定期的に最小化」という現象ですが,私の環境でも発生しています。
こちらで開発しているアプリはゲームではなく,長時間起動しっぱなしにするようなアプリなのですが,
数週間前からこの現象に悩まされています。
内容をまとめると,
・強制的に最小化する
・アイコンをクリックしてフルスクリーンに戻しても,数秒〜十数秒でまた最小化する
・しばらくすると最小化が起きなくなる
・起動してすぐに起きることもあれば,数時間後に起きることもある
・SetSysCommandOffFlagを使用しないとこの現象は起きない
OS:Windows10Pro 1909
DXライブラリ:Ver 3.21b
ほぼ同じ環境のPCを5台使って検証していますが,5台中2台は上記の現象が発生しています。
最初は環境の問題だと考えていたのですが,SetSysCommandOffFlagの使用が現象の発生条件になっている
ようなのです。
何か新しいことがわかったらまた報告します。
|
Re: SetSysCommandFlag ( No.6 ) |
- 名前:was-blue.0793 日時:2020/01/29 01:37
>>しいなさん
当方の環境では、2つの環境がすべてWindows10Proですが、DXLibのバージョンは3.21eで、3.21eでも環境によっては定期的に最小化が発生します。
SetSysCommandOffFlagを使うと現象の発生が認められるようです。
|
Re: SetSysCommandFlag ( No.7 ) |
- 名前:管理人 日時:2020/01/29 23:20
現象の詳しいご情報ありがとうございます
以下のようなプログラムを組んで試してみましたが、私の環境では200秒ほど経っても強制的に最小化しませんでした…
少し起動したまま放置しておこうと思います
#include "DxLib.h"
int WINAPI WinMain( HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow )
{
LONGLONG StartTime ;
// DXライブラリの初期化
if( DxLib_Init() < 0 ) return -1 ;
// ALTキー無効化
SetSysCommandOffFlag( TRUE ) ;
// 描画先を裏画面にする
SetDrawScreen( DX_SCREEN_BACK ) ;
// システム時間を取得しておく
StartTime = GetNowHiPerformanceCount() ;
// メインループ
while( ProcessMessage() == 0 && CheckHitKey( KEY_INPUT_ESCAPE ) == 0 )
{
// 画面のクリア
ClearDrawScreen() ;
// 経過時間の表示
DrawFormatString( 0, 0, GetColor( 255,255,255 ), "Time:%dsec", ( int )( ( GetNowHiPerformanceCount() - StartTime ) / 1000000 ) ) ;
// 裏画面の内容を表画面に反映
ScreenFlip() ;
}
// DXライブラリの後始末
DxLib_End() ;
// ソフトの終了
return 0 ;
}
> was-blue.0793さん、しいなさん
Windows10 の『OS ビルド』の値は幾つでしょうか?
『設定』→『バージョン情報』の『Windows の仕様』の項目には、私の環境では以下のようになっていました
エディション Windows 10 Pro
バージョン 1909
OS ビルド 18363.628
|
Re: SetSysCommandFlag ( No.8 ) |
- 名前:was-blue.0793 日時:2020/01/30 18:59
>>管理人さん
先程確認したところバージョンが1903、OSビルドが18362.592でした。しかし、数分ほど起動したままにしたところ強制的な最小化が認められませんでした。
この後Windows Updateを行い調査を行いますので、取り急ぎご報告します。
|
Re: SetSysCommandFlag ( No.9 ) |
- 名前:was-blue.0793 日時:2020/01/31 00:39
>>管理人さん
続報です。
Windows Updateをかけ、バージョンとOSビルドを管理人さんと同じにしましたが、数十分ほど起動しても強制的な最小化が認められませんでした。
|
Re: SetSysCommandFlag ( No.10 ) |
- 名前:管理人 日時:2020/01/31 01:11
No.7のプログラムを起動したまま 6時間ほど放置しておきましたが、
強制的に最小化する現象は発生しませんでした…
> was-blue.0793さん
バージョンを上げる前から強制的な最小化は発生しなくなっているのが気になりますが、
とりあえず強制的な最小化は発生しなくなって解決、ということでしょうか…?
|