- PR -

アイドル時間の取得

投稿者投稿内容
kawa
常連さん
会議室デビュー日: 2003/03/25
投稿数: 27
お住まい・勤務地: 東京都
投稿日時: 2005-08-12 15:21
Windows Formアプリケーションに関する質問です。
アプリに対して何の操作も行われず、そのアイドル時間が一定時間経過した後の最初の操作の時に、ダイアログを出すということを実現したいです。

すべてのイベントの前後にタイマーのチェックをすれば可能だとは思いますが、現実的ではありません。

どなたかご教授いただければ幸いです。
Jubei
ぬし
会議室デビュー日: 2002/03/02
投稿数: 830
お住まい・勤務地: 関西
投稿日時: 2005-08-12 16:18
諸農です。

フォーム上のアクション発生時の時間を保存しておき、
次に何かのアクションが発生した時に、保存した時間
との差を取って、その差の時間がアイドル時間を越え
ていたらダイアログを表示する、というのはどうでしょうか?

_________________
諸農和岳
Powered by Turbo Delphi & Microsoft Visual Studio 2005

十兵衛@わんくま同盟
http://blogs.wankuma.com/jubei/
kawa
常連さん
会議室デビュー日: 2003/03/25
投稿数: 27
お住まい・勤務地: 東京都
投稿日時: 2005-08-12 19:34
諸農様お返事ありがとうございます。

>フォーム上のアクション発生時の時間を保存しておき、
>次に何かのアクションが発生した時に、保存した時間
>との差を取って、その差の時間がアイドル時間を越え
>ていたらダイアログを表示する、というのはどうでしょうか?

私の日本語がおかしかったです。
「すべてのイベントの前後にタイマーのチェックをすれば可能だとは思いますが、現実的ではありません。」というのは諸農様が仰っている内容と同じ意味とお考えになってください。

他に何かありますでしょうか?
じゃんぬねっと
ぬし
会議室デビュー日: 2004/12/22
投稿数: 7811
お住まい・勤務地: 愛知県名古屋市
投稿日時: 2005-08-12 19:39
引用:

私の日本語がおかしかったです。
「すべてのイベントの前後にタイマーのチェックをすれば可能だとは思いますが、現実的ではありません。」というのは諸農様が仰っている内容と同じ意味とお考えになってください。


操作されていない時間ということではダメなんですか?
バッチ的な処理でなければ、マウスを操作した、キーボードを操作した。
が、何かアクションするに必要な最低限の操作じゃないですか?





_________________
C# と VB.NET の入門サイト
じゃんぬねっと日誌
nanbu
大ベテラン
会議室デビュー日: 2004/08/19
投稿数: 178
投稿日時: 2005-08-13 01:55
引用:

Jubeiさんの書き込み (2005-08-12 16:18) より:

フォーム上のアクション発生時の時間を保存しておき、
次に何かのアクションが発生した時に、保存した時間
との差を取って、その差の時間がアイドル時間を越え
ていたらダイアログを表示する、というのはどうでしょうか?


南部です。

これしかないような気がしますが?
現実的ではないって、もしかして、、、、?

あとは、どんなメッセージを「操作した」にするか決まれば、
オッケーっすね。
Jubei
ぬし
会議室デビュー日: 2002/03/02
投稿数: 830
お住まい・勤務地: 関西
投稿日時: 2005-08-13 06:18
諸農です。

引用:

「すべてのイベントの前後にタイマーのチェックをすれば可能だとは思いますが、現実的ではありません。」というのは諸農様が仰っている内容と同じ意味とお考えになってください。



現実的ではないというのは、全部のイベントハンドラに記述する、
みたいな事を想像されているからでしょうか。

FormクラスのWndProc()をoverrideし、アイドル時間の計測対象としている
アクションのメッセージが飛んできた時だけ処理するようにすればOKですね。

_________________
諸農和岳
Powered by Turbo Delphi & Microsoft Visual Studio 2005

十兵衛@わんくま同盟
http://blogs.wankuma.com/jubei/
kawa
常連さん
会議室デビュー日: 2003/03/25
投稿数: 27
お住まい・勤務地: 東京都
投稿日時: 2005-08-15 19:45
皆様、お返事ありがとうございます。

諸農様が仰っているように「全部のイベントハンドラに記述する」ということを考えていました。

WndProc()のオーバーライドのことなどまったく知りませんでした。
大変勉強になりました。
これで実装を進めてみます。
ありがとうございました。
nanbu
大ベテラン
会議室デビュー日: 2004/08/19
投稿数: 178
投稿日時: 2005-08-16 02:06
南部です。

蛇足かもしれませんが、
kawaさんがやりたいことを想像すると、
ディスパッチされる前のメッセージが必要でしょう。
IMessageFilterのヘルプを参照して下さい。

スキルアップ/キャリアアップ(JOB@IT)