سؤال

لا أحد يعرف إذا كان من الممكن (وإذا كانت الإجابة بنعم، كيف) لربط حدث (بيثون + Tkinter على MS Windows) لتغيير تاريخ النظام؟

وأنا أعلم أنني يمكن أن يكون الأحداث. بعد فحص مرة واحدة في حين؛ أنا أسأل إذا كنت يمكن أن يكون بطريقة ما حدث أطلقت كلما يتغير التاريخ / وقت النظام، إما تلقائيا (مثل التوقيت الصيفي) أو يدويا.

يرسل

ويندوز من مايكروسوفت مثل هذه الأحداث إلى التطبيقات وTkinter لا استقبالهم. وأنا أعلم، لأنه إذا كان لدي جهاز توقيت الانتظار. بعد وأنا وضعت التاريخ / الوقت بعد انتهاء صلاحية جهاز ضبط الوقت، وقع الحدث الموقت على الفور.

هل كانت مفيدة؟

المحلول

<اقتباس فقرة>   

وأنا أعلم، لأنه إذا كان لدي جهاز توقيت الانتظار. بعد وأنا وضعت التاريخ / الوقت بعد انتهاء صلاحية جهاز ضبط الوقت، وقع الحدث الموقت على الفور.

وهذا قد يعني فقط أن Tkinter (أو تاكا) هو الاقتراع ساعة النظام كجزء من حلقة الحدث لمعرفة متى يتم تشغيل أجهزة ضبط الوقت.

إذا كنت تستخدم ويندوز، ويشير كتاب مارك هاموند أنه يمكنك استخدام وحدة win32evtlogutil على الاستجابة للتغيرات في سجل أحداث Windows. في الأساس يعمل مثل هذا:

import win32evtlogutil
def onEvent(record):
  # Do something with the event log record
win32evtlogutil.FeedEventLogRecords(onEvent)

ولكن ستحتاج إلى الحصول على مستندات على هيكل السجلات الحدث (أنا لا أشعر بأن الكتابة خارج الفصل كله، آسف :-)). أيضا أنا لا أعرف إذا كان يتغير التاريخ يحضر في سجل الأحداث على أي حال.

وحقا، على الرغم من هو سيء جدا لاستطلاع فقط ساعة النظام؟ يبدو أسهل، وأنا لا أعتقد أنه من شأنه أن يبطئ كثيرا.

(وأخيرا، تعليق: أنا لا أعرف عن بلدك، ولكن هنا في نيوزيلندي، الصيفي لا تنطوي على تغيير التاريخ، فقط التغييرات الوقت (من 02:00 حتي 03:00، أو العكس بالعكس))

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top