
No.3ベストアンサー
- 回答日時:
全く同じ目的のことを最近アプリに付け加えたので、その方法ですが。
タイマーコントロールで時間を監視し、キーボードはKey_Downかkey_pressで、マウスはmousu_moveでチェックします。
プログラムの一部を記します。F_lastcheck は20分間キーボードもマウスも操作しなかったときに表示するフォームです。
あと終了時にTimer.Enabled を False にします。
------------------------------------------------------------
Private p_timeover As Long '無操作処理秒数
private p_NoAccessMSeconds '監視時間(msec)
Private Sub Form_Load()
p_timeover = 0
Timer.Enabled = True
p_NoAccessMSeconds = 1200000 '20分間
---ほかの処理を記述
End Sub
'-----------------------------------------------
'マウスを動かしたときの処理
Private Sub Form_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
p_timeover = 0
End Sub
'------------------------------------------------
'テキストボックスでキーを動かした時の処理
Private Sub Text1_KeyDown(KeyCode As Integer, Shift As Integer)
p_timeover = 0
---ほかの処理を記述
End Sub
'------------------------------------------------
'無処理時間の監視 5秒おきにチェック
Private Sub Timer_Timer()
p_timeover = p_timeover + 5000
If p_timeover > p_NoAccessMSeconds Then
p_timeover = 0
F_lastcheck.Show 1
End If
End Sub
No.2
- 回答日時:
おっしゃっているTimerが
TimerコントロールかTimer関数かわかりませんが
とりあえず
時間を算出する方法として
APIではWindowsが起動してから
何秒経過したかを返すGetTickCount()関数、
標準関数では午前0時から何秒たったかを返すTimer()関数
がありますが、
特に精度が必要なければタイマーコントロールを使うのが一般的でしょう。
参考までにタイマーコントロール(Timer1_Timer)
を使って600秒ごとにメッセージボックスを表示するものを書いてみました。
'timer1.interval=1000(1秒)に設定
Dim cnt As Long
Private Sub Timer1_Timer()
cnt = cnt + 1
Text1.Text = cnt
If cnt >= 600 Then
MsgBox ("600秒経過")
cnt = 0
End If
End Sub
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- マウス・キーボード real vnc viewer で遠隔先で操作が出来ない。 2 2023/07/24 15:00
- 作詞・作曲 DTM DAWとmidiキーボードについて 1 2022/10/20 16:41
- ノートパソコン ノートパソコン キーボードが反応しない 突然、ノートパソコンのキーボードが反応しなくなりました。 外 5 2022/08/05 07:15
- その他(パソコン・周辺機器) 2つのPCを行き来する 2 2022/06/15 01:59
- Windows 10 explorerをedgeで開く方法 2 2022/06/05 14:59
- マウス・キーボード 不良表示キー(キーボード) 3 2022/04/27 10:53
- その他(プログラミング・Web制作) Pythonを用いたフラッシュ暗算ソフトの開発に必要なもの 2 2023/01/29 02:22
- Windows 10 Windows10でボリュームのアップダウンを簡単にできる方法ないですか? 1 2023/06/20 13:06
- Windows 10 (緊急)windowsのタスクバーやアプリ?が反応しない 3 2023/03/28 05:03
- Mac OS Macで Microsoft Remote Desktop を使うとキーボードの配列が変わってしまう 1 2022/08/08 17:27
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
VC++ のマウス入力
-
パソコン処理の分担について。
-
ニーモニックキャラクタとは
-
エクセルVBAで
-
メッセージボックスの表示につ...
-
Excel2000で閉じたフ...
-
エクセルVBAの質問ですがここで...
-
マウスの入力を待つには?
-
アクセスVBAでVBYESNOボタンに...
-
VBSの処理中一旦処理を止めて再...
-
VBA、UserFormを前面に出力して...
-
ダイアログ作成での質問
-
VBスクリプトで「お待ち下さい...
-
MFCダイアログの終了判定
-
Delphi6 ループ中にキー入力
-
チェックボックスの周囲の色が
-
”お待ち下さい”が表示できない。
-
Visual C++においての質問
-
B列に特定の文字列が入っている...
-
探しています~プログレスバー...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
VBSの処理中一旦処理を止めて再...
-
ACCESS側からEXCELの書式を設定...
-
メッセージボックスのボタン名変更
-
VBSで応答不要のメッセージボッ...
-
VBA kernel32 の意味
-
Excel VBA で処理中断(DoEvents...
-
VBA、UserFormを前面に出力して...
-
Application.ScreenUpdating=Fa...
-
MFCのワーカースレッドとUIスレ...
-
ASP.NETでのメッセージ画面を出...
-
「キャンセル」ボタン付きの処...
-
シャットダウン時のExcel強制終...
-
【C#】 あるイベントから別イ...
-
ボタンが押された事を検知する...
-
PostMessageの連続送信
-
VBA メッセージボックスを自動...
-
エクセルVBAでクリップボード内...
-
VCでウエイトをミリ秒でかけ...
-
ループを使わずに、特定時間に...
-
VB6 コマンドボタン クリック...
おすすめ情報