Windowsのタスクトレイの時計を改造するアプリのスレッドです
TClock以外の話題でもとくに排除はしません
外部まとめサイト
http://tclock2ch.no.land.to/
前スレ
TClockスレッド part33
http://egg.2ch.net/test/read.cgi/software/1700777819/
探検
TClockスレッド part34
1名無しさん@お腹いっぱい。
2024/03/17(日) 21:45:40.85ID:D5eRA11a02025/10/12(日) 17:30:27.95ID:jwzhoFgo0
ソフトだけでどうやって1秒数えるんだよ
2025/10/12(日) 20:04:36.12ID:ObDaRf/D0
今のCPUにはカウンターが内蔵されてるから、基準の時刻さえわかれば現在時刻もわかる仕組みになってる
ただ、「カーネルが持ってる時計」ってのがなんだか意味不明に思える
ソースがあったら貼ってくれないか
俺もマザーのRTCを都度参照してるもんだと思い込んでるんで
ただ、「カーネルが持ってる時計」ってのがなんだか意味不明に思える
ソースがあったら貼ってくれないか
俺もマザーのRTCを都度参照してるもんだと思い込んでるんで
2025/10/12(日) 20:18:21.73ID:jwzhoFgo0
時刻を知りたい時はRTCで、各種タイマー処理は内蔵タイマー、だろうな
どっちにしろハードウェア依存
RTCとCPUの内蔵タイマーはクロックソースが別だけど、
時計用に作られた方が時計としては正確なのでは
どっちにしろハードウェア依存
RTCとCPUの内蔵タイマーはクロックソースが別だけど、
時計用に作られた方が時計としては正確なのでは
2025/10/12(日) 23:00:51.02ID:CVGz3mGH0
・Windowsでは「 マルチメディア クラス スケジューラ サービス」というサービスが提供されている
※昔でいう「マルチメディアタイマー」
カーネルは、このサービスにより時間(システムクロック)を管理している
https://learn.microsoft.com/ja-jp/windows/win32/procthread/multimedia-class-scheduler-service
・WindowsがNTPにて更新しているのはシステムクロック
https://learn.microsoft.com/ja-jp/windows-server/networking/windows-time-service/windows-server-2016-improvements
・Windowsアプリケーションでの時刻の取得は、このサービスを叩く「timeGetSystemTime 関数」を
用いてシステムクロックを取得するのが標準的(NTPで同期されているから)
https://learn.microsoft.com/ja-jp/windows/win32/multimedia/obtaining-the-system-time
https://learn.microsoft.com/ja-jp/windows/win32/api/timeapi/nf-timeapi-timegetsystemtime
それとは別に
・RTCから時刻を読みだす際は、GetSystemTime 関数により行う
https://learn.microsoft.com/ja-jp/windows/win32/api/sysinfoapi/nf-sysinfoapi-getsystemtime
Windowsがこれを使うのは以下の場合
・OS起動時
・NTPによる同期が設定されていない・エラーで同期されていない、等の場合(複数条件有り)
・RTCを更新する際は、SetSystemTime 関数により行う
https://learn.microsoft.com/ja-jp/windows/win32/api/sysinfoapi/nf-sysinfoapi-setsystemtime
Windowsがこれを使うのは以下の場合
・NTPが成功している状況下での、W32timeサービスの停止時(≒シャットダウン時)
・net time /setコマンド実行時
・Step modeでの時刻同期成功時
RTCの精度は、どこかに論文があったが、温度に影響をうけるので、精度は環境・用途次第だ、と
なので、RTCはアテにせずに済むならそれに越したことはなかろうなと
※昔でいう「マルチメディアタイマー」
カーネルは、このサービスにより時間(システムクロック)を管理している
https://learn.microsoft.com/ja-jp/windows/win32/procthread/multimedia-class-scheduler-service
・WindowsがNTPにて更新しているのはシステムクロック
https://learn.microsoft.com/ja-jp/windows-server/networking/windows-time-service/windows-server-2016-improvements
・Windowsアプリケーションでの時刻の取得は、このサービスを叩く「timeGetSystemTime 関数」を
用いてシステムクロックを取得するのが標準的(NTPで同期されているから)
https://learn.microsoft.com/ja-jp/windows/win32/multimedia/obtaining-the-system-time
https://learn.microsoft.com/ja-jp/windows/win32/api/timeapi/nf-timeapi-timegetsystemtime
それとは別に
・RTCから時刻を読みだす際は、GetSystemTime 関数により行う
https://learn.microsoft.com/ja-jp/windows/win32/api/sysinfoapi/nf-sysinfoapi-getsystemtime
Windowsがこれを使うのは以下の場合
・OS起動時
・NTPによる同期が設定されていない・エラーで同期されていない、等の場合(複数条件有り)
・RTCを更新する際は、SetSystemTime 関数により行う
https://learn.microsoft.com/ja-jp/windows/win32/api/sysinfoapi/nf-sysinfoapi-setsystemtime
Windowsがこれを使うのは以下の場合
・NTPが成功している状況下での、W32timeサービスの停止時(≒シャットダウン時)
・net time /setコマンド実行時
・Step modeでの時刻同期成功時
RTCの精度は、どこかに論文があったが、温度に影響をうけるので、精度は環境・用途次第だ、と
なので、RTCはアテにせずに済むならそれに越したことはなかろうなと
2025/10/13(月) 04:08:16.08ID:jg/oCEKU0
時刻の利用頻度に対してRTCはアクセスするのが糞遅いデバイスだし秒以下の精度もないからOS起動後はHPET等で時刻進める
2025/10/13(月) 08:18:32.92ID:n9K7AOWP0
みんな同じことを言ってる
間違ってるのは>>636だけ
間違ってるのは>>636だけ
2025/10/13(月) 10:30:49.76ID:D1bJvat+0
>>639
RTCは正確とは言い難い
↓はエプソンの高機能RTCの説明資料ど、このP.4にあるグラフ緑線が通常RTCの精度だけど
通常のRTCは利用環境の温度が丁度良い範囲を外れると精度が下がっていく
マザボのRTCも、高く見積もってもこの程度の精度だろう
ttps://www.epsondevice.com/crystal/en/products/rtc/pdf/rtc-module-selectionguide-ht-en.pdf
RTCは、NTPで同期されるまでの繋ぎと考えるべき程度のものだな
バックアップ時計なのだから
RTCは正確とは言い難い
↓はエプソンの高機能RTCの説明資料ど、このP.4にあるグラフ緑線が通常RTCの精度だけど
通常のRTCは利用環境の温度が丁度良い範囲を外れると精度が下がっていく
マザボのRTCも、高く見積もってもこの程度の精度だろう
ttps://www.epsondevice.com/crystal/en/products/rtc/pdf/rtc-module-selectionguide-ht-en.pdf
RTCは、NTPで同期されるまでの繋ぎと考えるべき程度のものだな
バックアップ時計なのだから
2025/10/13(月) 11:10:14.83ID:n9K7AOWP0
だいたい合ってればいいんだよ
前後関係さえ正しければタイムスタンプの機能は果たす
精度が必要なのは別のサーバとの前後関係が問われる場合のみ
前後関係さえ正しければタイムスタンプの機能は果たす
精度が必要なのは別のサーバとの前後関係が問われる場合のみ
645629
2025/10/13(月) 15:55:45.36ID:BjW5kOSv0 >>644
俺もだ。
だからWindows11Pro(24H2)機+「ExplorerPatcher」の環境下で利用している「TClock-Win10」では秒数も表示させてるが、
時刻の正確さは正直あまり重視してないつもり。
https://pbs.twimg.com/media/GoTANjLWYAAjVB6.jpg
https://pbs.twimg.com/media/GoTAYL7XEAAoO-O?format=png&name=4096x4096
何らかの事情で「ExplorerPatcher」を使えない時(更新失敗時など)は、Windows11Proの24H2では
「ElevenClock」(元号表示不可),「TWatch」,「アナログ時計DX」(元号表示不可)いずれかを利用している。
https://pbs.twimg.com/media/Gj1UgLibYAApF4I?format=png&name=4096x4096
https://pbs.twimg.com/ext_tw_video_thumb/1273069315449733120/pu/img/nCzjNyjVtrnDpbvx.jpg
「マウスのお供」「窓枠時計」(これらも元号表示不可)も「ExplorerPatcher」の無いWindows11Pro(24H2)機で利用できるが、
これらは個人的には何となく使う気になれん。
ちなみにWindowsパソコンとAndroidスマートフォンをUSBケーブルで繋いでスマートフォン側に画像ファイルを転送する際は、
JPEGファイル内のExif情報を全て除去した後に有料化後の「Neo FileTimeChange」で各タイムスタンプを累積的に変更する
事により、スマートフォン側のGoogleフォトで画像を望み通りの順番で表示可能。
そんな面倒な事まで必要ない場合は、俺が10年ちょっと前に購入した「秀丸ファイラーClassic」でタイムスタンプを変更している。
いずれも各ファイル更新時刻の前後関係を思い通り調整するためにやっている事であって、時刻の正確さをそれほど重視しているわけではない。
俺もだ。
だからWindows11Pro(24H2)機+「ExplorerPatcher」の環境下で利用している「TClock-Win10」では秒数も表示させてるが、
時刻の正確さは正直あまり重視してないつもり。
https://pbs.twimg.com/media/GoTANjLWYAAjVB6.jpg
https://pbs.twimg.com/media/GoTAYL7XEAAoO-O?format=png&name=4096x4096
何らかの事情で「ExplorerPatcher」を使えない時(更新失敗時など)は、Windows11Proの24H2では
「ElevenClock」(元号表示不可),「TWatch」,「アナログ時計DX」(元号表示不可)いずれかを利用している。
https://pbs.twimg.com/media/Gj1UgLibYAApF4I?format=png&name=4096x4096
https://pbs.twimg.com/ext_tw_video_thumb/1273069315449733120/pu/img/nCzjNyjVtrnDpbvx.jpg
「マウスのお供」「窓枠時計」(これらも元号表示不可)も「ExplorerPatcher」の無いWindows11Pro(24H2)機で利用できるが、
これらは個人的には何となく使う気になれん。
ちなみにWindowsパソコンとAndroidスマートフォンをUSBケーブルで繋いでスマートフォン側に画像ファイルを転送する際は、
JPEGファイル内のExif情報を全て除去した後に有料化後の「Neo FileTimeChange」で各タイムスタンプを累積的に変更する
事により、スマートフォン側のGoogleフォトで画像を望み通りの順番で表示可能。
そんな面倒な事まで必要ない場合は、俺が10年ちょっと前に購入した「秀丸ファイラーClassic」でタイムスタンプを変更している。
いずれも各ファイル更新時刻の前後関係を思い通り調整するためにやっている事であって、時刻の正確さをそれほど重視しているわけではない。
2025/10/13(月) 15:57:23.39ID:xWbGn5hb0
2025/10/13(月) 16:00:37.56ID:n9K7AOWP0
タイマー割り込み使うようなのはソフトだけではなく、むしろハードだけ
648629
2025/10/13(月) 17:09:24.22ID:BjW5kOSv0 そういや元々4GBを超えるLZH書庫の作成/展開/自己解凍書庫作成やUnicodeにも対応している「UNLHA32.DLL」
https://www.vector.co.jp/soft/win95/util/se020193.html に付属の"API.TXT"や"COMMAND.TXT"によると、
exFATやFAT32より前にMS-DOS時代から一般的だったFAT16(16ビットのFAT(ファイルアロケーションテーブル))では
秒を5ビットで表すため、2秒単位でしか秒数を表現できない仕様だったらしい。
その上、Windows95/98/MeだけでなくWindowsNT/2000/XPにもタイムスタンプ関連のバグや制限事項が存在していたらしい。
そのあたりが近年のWindows11などで一体どうなっているのかは知らんが、あまり時刻の正確さに拘るのはナンセンスと言うべきかも?
https://www.vector.co.jp/soft/win95/util/se020193.html に付属の"API.TXT"や"COMMAND.TXT"によると、
exFATやFAT32より前にMS-DOS時代から一般的だったFAT16(16ビットのFAT(ファイルアロケーションテーブル))では
秒を5ビットで表すため、2秒単位でしか秒数を表現できない仕様だったらしい。
その上、Windows95/98/MeだけでなくWindowsNT/2000/XPにもタイムスタンプ関連のバグや制限事項が存在していたらしい。
そのあたりが近年のWindows11などで一体どうなっているのかは知らんが、あまり時刻の正確さに拘るのはナンセンスと言うべきかも?
レスを投稿する
ニュース
- 【サッカー】U-17日本代表、激闘PK戦制す 北朝鮮撃破で6大会ぶり8強入り U17W杯 [久太郎★]
- 日本行き空路49万件キャンセル 中国自粛呼びかけ 日本行きチケット予約の約32%に相当 ★3 [ぐれ★]
- 【サッカー】日本代表、ボリビアに3発快勝 森保監督通算100試合目を飾る…鎌田、町野、中村がゴール [久太郎★]
- XやChatGPTで広範囲の通信障害 投稿や閲覧できず [蚤の市★]
- 【芸能】日中関係悪化でエンタメ業界に大ダメージ… JO1の中国でのイベント中止、邦画は公開延期、STARTOアイドルへの影響も [冬月記者★]
- 【インバウンド】中国人観光客の日本での消費額は年間約2兆円超…中国政府は公務員の出張取り消し [1ゲットロボ★]
- ハゲがレジやってるコンビニって
- 4時だから窓から4回ちんこ出した
- クマどもが冬眠拒否
- さわやかって
- Perfume・あ~ちゃんの結婚相手の一般男性、吉田カバンの社長と判明 [977261419]
- イギリス「日本でニュースに関するインフルエンサーを順位付けした」 1位ひろゆき 4位ガレソ 5位池上彰 ガチで終わってると話題に [279254606]
