كيفية إنشاء تطبيق لتتبع الوقت على نظام التشغيل Windows باستخدام AutoHotKey

تبدأ عملك كل يوم مبكرًا حتى تتمكن من حل كل شيء خلال اليوم. ثم تتحقق من الساعة وهي الثالثة صباحًا ولكن عملك لم ينته بعد. إذن أين ذهب الوقت؟

يمكنك استخدام تطبيق مخصص لتتبع الوقت، ولكن قد يكون ذلك معقدًا ومحبطًا. بدلاً من ذلك، لماذا لا تنشئ تطبيقًا صغيرًا وبسيطًا خاصًا بك؟ يمكن لهذا التطبيق تتبع جميع النوافذ التي استخدمتها خلال اليوم. كل ما تحتاجه هو AutoHotKey، وهو معالج كلمات أساسي مثل Notepad، وحوالي نصف ساعة. هيا بنا نبدأ!

قم بإنشاء البرنامج النصي لتسجيل النوافذ الخاص بك باستخدام AutoHotKey

قبل البدء، يجب عليك تثبيت AHK على جهاز الكمبيوتر الخاص بك لأنه سيكون بمثابة "محلل" للبرنامج النصي. إنها الأداة التي ستسمح للبرنامج النصي الخاص بك "بالتشغيل".

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

قم بتنزيل AutoHotKey من الموقع الرسمي وتثبيته.

كيفية إنشاء تطبيق لتتبع الوقت على نظام التشغيل Windows باستخدام AutoHotKey

حدد جديد > البرنامج النصي AutoHotKey

قم بتشغيل مدير الملفات المفضل لديك وقم بالوصول إلى المجلد الذي تريد تخزين البرنامج النصي فيه. بعد ذلك، انقر بزر الماوس الأيمن على موقع فارغ وحدد New > AutoHotKey Script .

بمجرد الانتهاء، حان الوقت لكتابة السيناريو الفعلي.

1. تحديد المتغيرات الضرورية

افتح البرنامج النصي في المحرر المفضل لديك. يمكنك استخدام شيء بسيط مثل برنامج Notepad الذي يأتي مع نظام التشغيل Windows، ولكن المقالة ستستخدم برنامج Notepad++  في هذا البرنامج التعليمي. برنامج Notepad++ مجاني ومكيف بشكل أفضل لهذا الغرض، لذا يجب عليك تجربته.

لاحظ أنه لا ينبغي عليك استخدام أي تطبيقات مثل Word أو Google Docs، والتي قد تؤثر على تنسيق البرنامج النصي. استخدم محرر النصوص أو الأكواد.

سيحتوي البرنامج النصي على بعض المعلومات الأساسية الموصى بها حول التوافق والأداء. اتركهم كما هم وابدأ البرنامج النصي أدناه.

ابدا ب:

AppLoggingRate = 10 ; Time interval (in seconds) between active window title captures.
SleepTime := AppLoggingRate * 1000
LogPath = %A_ScriptDir%
LastActiveWindow =

ابدأ بتعيين القيمة "10" لـ AppLoggingRate ، والتي سيتم استخدامها لحساب الوقت بين محاولات تسجيل النوافذ.

عند استخدامها مع وظيفة النوم الخاصة بـ AHK، فإن الرقم 1000 يساوي تقريبًا ثانية واحدة. لذا، بضربه في AppLogingRate، ستجعل متغير SleepTime "يساوي 10 ثوانٍ".

LogPath هو المسار المستخدم لتخزين السجلات. يستخدم المثال القيمة %A_ScriptDir% ، والتي تُترجم إلى "الدليل الذي تقوم بتشغيل البرنامج النصي منه". يمكنك استخدام المسار الكامل إلى مجلد آخر إذا كنت تريد ذلك.

أخيرًا، قم بتعيين LastActiveWindow على الوضع الفارغ واستخدمه لاحقًا للتحقق مما إذا كانت النافذة النشطة قد تغيرت.

2. مراقبة النوافذ النشطة

نظرًا لأننا نريد المراقبة المستمرة للنافذة النشطة وإذا تغيرت، فسجل العنوان والوقت، وسيتعين علينا استخدام "حلقة".

كما يوحي الاسم، تعمل الحلقة بشكل مستمر، وتكرر نفس الوظيفة (الوظائف). بفضل بناء جملة AHK البسيط، من السهل نسبيًا فهم "الرمز" التالي:

Loop
{
    Sleep %SleepTime%
    Msgbox, It Works!
}

حدد حلقة ببساطة عن طريق كتابة كلمة "حلقة" ثم وضع علامة على بدايتها بـ "{" وانتهاء بـ "}". سيتم تشغيل كل شيء في السطور بين "{" و "}" إلى الأبد حتى تخرج من البرنامج النصي.

ابدأ الحلقة بالانتظار ( Sleep ) لمدة زمنية تساوي متغير SleepTime. هذا المتغير يجعل التحكم في الوقت أسهل. بدلاً من تحرير البرنامج النصي بنفسك، يمكنك "إخباره"، عبر هذا المتغير، بعدد الثواني التي يجب أن تستمر فيها كل حلقة.

وأخيرا، استخدم صندوق الرسائل لاختبار البرنامج النصي. حاول حفظه وتشغيله (انقر نقرًا مزدوجًا على ملف البرنامج النصي). سترى مربع رسالة يقول "إنه يعمل!" (السيناريو يعمل) بعد 10 ثواني.

انقر بزر الماوس الأيمن فوق رمز AHK في علبة Windows واخرج من البرنامج النصي عندما يكون لديك ما يكفي من مربعات الرسائل. ثم ارجع إلى المحرر واستبدل سطر MsgBox بما يلي:

WinGetActiveTitle, ActiveWindow

هذا هو الأمر للحصول على عنوان النافذة النشطة. احذف السطر الإضافي "StoreActiveWindow" الذي استخدمه المثال أثناء البرمجة النصية للاختبار.

كيفية إنشاء تطبيق لتتبع الوقت على نظام التشغيل Windows باستخدام AutoHotKey

احصل على عنوان النافذة النشطة وقم بتخزينه في متغير

3. احصل على الوقت والاسم الحاليين

الآن يأتي جوهر منطق البرنامج النصي. قارن اسم النافذة النشطة بالاسم السابق، وإذا اختلفا، "افعل شيئًا". كل شيء بسيط مثل هذا:

If ActiveWindow != %LastActiveWindow%
{
}

بالنظر إلى ما سبق، تحقق مما إذا كان ActiveWindow الحالي مختلفًا ( != ) عن القيمة المخزنة في متغير LastActiveWindow (الذي تم تعيينه في البداية على أنه فارغ). إذا كان الأمر كذلك، فسيقوم AHK بتنفيذ الكود الموجود بين { و } ، وهو فارغ حاليًا.

اضبط الوظيفة لمقارنة عنوان النافذة النشطة والنافذة السابقة

من الضروري تتبع التاريخ والوقت لقياس مدة تشغيل النافذة. سيتم الاحتفاظ بسجلات مختلفة لكل يوم، باستخدام التاريخ الموجود باسمهم. لن يتم تسجيل كل تغيير فحسب، بل سيتم أيضًا تسجيل وقت حدوثه. للقيام بذلك، قم بتعيين تنسيقات زمنية مختلفة لمتغيرات LogTime و LogFilename ، باستخدام:

FormatTime, LogTime,, HH:mm:ss
FormatTime, LogFilename,, yyyy-MMM-dd

أضف تلك الأسطر بين الأقواس المتعرجة في "If ActiveWindow..." ، بحيث يقوم AHK بتشغيلها عندما يكتشف تغييرًا في النافذة.

كيفية إنشاء تطبيق لتتبع الوقت على نظام التشغيل Windows باستخدام AutoHotKey

احصل على الوقت الحالي وقم بتعيينه في متغيرين بتنسيقات مختلفة

4. تنسيق البيانات

نحن الآن نلتقط الوقت في متغيرين منسقين بشكل مختلف، بالإضافة إلى عنوان النافذة النشطة. ومع ذلك، هناك مشكلة صغيرة: يمكن أن يحتوي عنوان النافذة أيضًا على أحرف غير مرغوب فيها. من الممكن إزالة كافة الأحرف غير الأبجدية الرقمية باستخدام دعم AHK لـ RegEx، من خلال:

LogWindow := Regexreplace(ActiveWindow, "[^a-zA-Z0-9]", " ")

مع أخذ ذلك في الاعتبار، دعونا "نطلب" من AHK إزالة كافة الأحرف من متغير ActiveWindow التي لا تتطابق مع ما هو موجود بين قوسين:

  • أحرف صغيرة
  • حرف كبير
  • أعداد

ثم قم بتعيين النتيجة إلى متغير LogWindow.

كيفية إنشاء تطبيق لتتبع الوقت على نظام التشغيل Windows باستخدام AutoHotKey

قم بتنظيف عنوان النافذة النشطة باستخدام RegEx

بعد تعيين كافة المتغيرات وجمع كافة البيانات القيمة، أنت الآن جاهز لتنسيق ملف السجل ومحتوياته.

LogFilename = %LogFilename%_AppLog.md
LogFile = %LogPath%\%LogFilename%

في السابق، قمنا بتعيين التاريخ الحالي لمتغير LogFilename. لذلك، بالنسبة للسطر الأول، قم بإضافة "_AppLog.md" إلى التاريخ لاستخدامه كاسم للملف.

كيفية إنشاء تطبيق لتتبع الوقت على نظام التشغيل Windows باستخدام AutoHotKey

قم بتعيين اسم ملف السجل

في السطر الثاني، قم بدمج المتغير LogPath ، المحدد في البداية كوجهة لملف السجل مع اسم الملف. مجموعتهم هي اسم المسار الكامل لملف السجل، المخصص للمتغير LogFile.

لنقم بتعيين القيمة المكافئة لـ "سطر فارغ، الوقت - اسم النافذة، وسطرين فارغين آخرين، وفاصل، وسطر فارغ آخر، من أجل حسن التدبير" لمتغير FileContent.

FileContent = `n%LogTime% - %LogWindow%`n`n- - -`n
  • يخبر الحرف "n" AHK بإدخال سطر جديد (أي ما يعادل الضغط على Enter مرة واحدة).
  • ستظهر ثلاث شرطات كفاصل عند عرضها في عارض متوافق.
  • "% LogTime%" و"% LogWindow%" عبارة عن متغيرات تقوم بتخزين اسم النافذة النشطة ووقت اكتشافها.

كيفية إنشاء تطبيق لتتبع الوقت على نظام التشغيل Windows باستخدام AutoHotKey

يحدد محتويات ملف السجل

5. تحديث الملفات

لقد حددت ما نريد كتابته في الملف، بالإضافة إلى المسار واسم الملف. ولم يبق إلا النص الفعلي البسيط كما يلي:

FileAppend, %FileContent%, %LogFile%

قم بإلحاق كل شيء في متغير "FileContent" بملف "LogFile".

كيفية إنشاء تطبيق لتتبع الوقت على نظام التشغيل Windows باستخدام AutoHotKey

استخدم وظيفة الإلحاق الخاصة بـ AHK لتحديث ملف السجل أو إنشاء ملف من البداية

ستضيف وظيفة "الإلحاق" "FileContent" إلى الملف إذا كان موجودًا، ولكنها ستقوم أيضًا بإنشائه من البداية إذا كان الملف غير موجود.

هناك تعديل أخير: استبدل محتويات متغير LastActiveWindow بالنافذة النشطة حاليًا.

كيفية إنشاء تطبيق لتتبع الوقت على نظام التشغيل Windows باستخدام AutoHotKey

يقوم بإدراج عنوان النافذة النشطة الحالية في متغير LastActiveWindow للاختبار المستقبلي

للقيام بذلك، يجب أن يكون البرنامج النصي قادرًا على اكتشاف التغيير التالي في النافذة.

LastActiveWindow = %ActiveWindow%

ومع هذه الإضافة الأخيرة، أصبح مسجل Windows جاهزًا! احفظ البرنامج النصي وقم بتشغيله. ثم، تحقق من ملف تخفيض السعر، وسيظهر هذا الملف في مجلد ملف البرنامج النصي بعد 10 ثوانٍ.

كيفية إنشاء تطبيق لتتبع الوقت على نظام التشغيل Windows باستخدام AutoHotKey

يتم إنشاء ملف سجل Windows في نفس الدليل مثل البرنامج النصي

السيطرة على وقتك الخاص

يمكنك فتح ملف السجل باستخدام أي محرر نصوص. ومع ذلك، سيبدو أفضل إذا قمت بفتحه في محرر متوافق مع تخفيض السعر. في لقطة الشاشة، يمكنك رؤية السجل في محرر Typora الشهير.

كيفية إنشاء تطبيق لتتبع الوقت على نظام التشغيل Windows باستخدام AutoHotKey

يتم تحميل ملف تخفيض السعر الذي تم إنشاؤه بواسطة البرنامج النصي في Typora

إنها طريقة سهلة للتحقق من التطبيقات التي تستخدمها معظم الوقت ولا تتطلب سوى أداة مثل Notepad لاستخدامها.

إذا كنت تريد شيئًا "أكثر خصوصية"، فيمكنك دائمًا "تصميم" مخرجات المسجل لإنشاء ملف CSV بدلاً من ذلك. الأمر سهل مثل ضبط متغير FileContent وامتداد الملف الذي تم إنشاؤه. يمكنك بعد ذلك استيراد هذه الملفات إلى تطبيقات مثل Excel أو Google Calc أو حتى أدوات تتبع الوقت التابعة لجهات خارجية.

السيناريو الكامل

#NoEnv  ; Recommended for performance and compatibility with future AutoHotkey releases.
; #Warn  ; Enable warnings to assist with detecting common errors.
SendMode Input  ; Recommended for new scripts due to its superior speed and reliability.
SetWorkingDir %A_ScriptDir%  ; Ensures a consistent starting directory.
; Variables
; ---------
AppLoggingRate = 10 ; Time interval (in seconds) between active window title captures.
SleepTime := AppLoggingRate * 1000
LogPath = %A_ScriptDir%
LastActiveWindow = 
; Logic
; -----
Loop
{
	Sleep %SleepTime%
	
	WinGetActiveTitle, ActiveWindow
	StoreActiveWindow = %ActiveWindow%
	
	If ActiveWindow != %LastActiveWindow%
	{
		FormatTime, LogTime,, HH:mm:ss
		FormatTime, LogFilename, , yyyy-MM-dd
		
		LogWindow := Regexreplace(ActiveWindow, "[^a-zA-Z0-9]", " ")
		
		LogFilename = %LogFilename%_AppLog.md
		LogFile = %LogPath%\%LogFilename%
		
		FileContent = `n%LogTime% - %LogWindow%`n`n- - -`n
		
		sleep 50
		
		FileAppend, %FileContent%, %LogFile%
		LastActiveWindow = %ActiveWindow%
	}
}
Exit

اترك تعليقاً

كيفية إزالة إشعار طلب حقوق الطبع والنشر في الزاوية اليمنى من الشاشة على نظام التشغيل Windows 10

كيفية إزالة إشعار طلب حقوق الطبع والنشر في الزاوية اليمنى من الشاشة على نظام التشغيل Windows 10

هل ترى إشعار تفعيل Windows 10 في الزاوية اليمنى من الشاشة؟ سترشدك هذه المقالة إلى كيفية حذف إشعار طلب حقوق الطبع والنشر على نظام التشغيل Windows 10.

تعليمات من AZ حول كيفية تثبيت Windows 10 الإصدار 14393.222

تعليمات من AZ حول كيفية تثبيت Windows 10 الإصدار 14393.222

أصدرت Microsoft مؤخرًا آخر تحديث تراكمي لمستخدمي أجهزة الكمبيوتر التي تعمل بنظام Windows 10 والذي يسمى Build 14393.222. يعمل هذا التحديث الذي تم إصداره لنظام التشغيل Windows 10 بشكل أساسي على إصلاح الأخطاء بناءً على تعليقات المستخدمين وتحسين تجربة أداء نظام التشغيل.

قم بحماية شبكة الكمبيوتر الخاص بك مع Bastion host في 3 خطوات فقط

قم بحماية شبكة الكمبيوتر الخاص بك مع Bastion host في 3 خطوات فقط

هل لديك أجهزة كمبيوتر على شبكتك المحلية تحتاج إلى وصول خارجي؟ يمكن أن يكون استخدام مضيف أساسي كحارس بوابة لشبكتك حلاً جيدًا.

3 طرق لمسح كافة سجلات الأحداث بسرعة في نظام التشغيل Windows 10

3 طرق لمسح كافة سجلات الأحداث بسرعة في نظام التشغيل Windows 10

في بعض الأحيان قد تحتاج إلى حذف سجلات الأحداث القديمة مرة واحدة. في هذا الدليل، سيعرض لك موقع Quantrimang.com 3 طرق لحذف كافة سجلات الأحداث بسرعة في Windows 10 Event Viewer.

كيفية إنشاء مفتاح Windows إذا كانت لوحة المفاتيح غير متوفرة

كيفية إنشاء مفتاح Windows إذا كانت لوحة المفاتيح غير متوفرة

إذا كنت تفضل استخدام لوحة مفاتيح كلاسيكية قديمة، مثل IBM Model M، والتي لا تتضمن مفتاح Windows فعليًا، فهناك طريقة سهلة لإضافة المزيد، عن طريق استعارة مفتاح لا تستخدمه كثيرًا.

كيفية إنشاء وضع خلفية شفافة على نظام التشغيل Windows 10

كيفية إنشاء وضع خلفية شفافة على نظام التشغيل Windows 10

WindowTop هي أداة لديها القدرة على تعتيم جميع نوافذ التطبيقات والبرامج التي تعمل على أجهزة الكمبيوتر التي تعمل بنظام Windows 10. أو يمكنك استخدام واجهة ذات خلفية داكنة على النوافذ.

تساعدك أساليب IP المزيفة على الوصول بشكل مجهول

تساعدك أساليب IP المزيفة على الوصول بشكل مجهول

لقد ذكرنا في العديد من المقالات السابقة أن البقاء مجهول الهوية عبر الإنترنت أمر في غاية الأهمية. يتم تسريب المعلومات الخاصة كل عام، مما يجعل الأمان عبر الإنترنت ضروريًا بشكل متزايد. وهذا أيضًا هو السبب وراء ضرورة استخدام عناوين IP الافتراضية. فيما يلي، سنتعرف على طرق إنشاء عناوين IP وهمية!

كيفية إيقاف تشغيل شريط اللغة على شريط مهام Windows 8

كيفية إيقاف تشغيل شريط اللغة على شريط مهام Windows 8

شريط اللغة في نظام التشغيل Windows 8 عبارة عن شريط أدوات لغة مصغر مصمم للعرض تلقائيًا على شاشة سطح المكتب. ومع ذلك، يرغب العديد من الأشخاص في إخفاء شريط اللغة هذا على شريط المهام.

نصائح لتحسين سرعة الاتصال بالإنترنت من Linksys

نصائح لتحسين سرعة الاتصال بالإنترنت من Linksys

يعد تعظيم سرعة الإنترنت أمرًا ضروريًا لتحسين اتصال الشبكة لديك. يمكنك الحصول على تجربة ترفيه وعمل مثالية باستخدام أجهزة الكمبيوتر وأجهزة التلفزيون المجهزة للإنترنت ووحدات التحكم في الألعاب وما إلى ذلك.

كيفية إعداد WEP، WPA، WPA2 لجهاز التوجيه Linksys

كيفية إعداد WEP، WPA، WPA2 لجهاز التوجيه Linksys

يعد الاتصال اللاسلكي أمرًا ضروريًا اليوم، ولهذا السبب، يعد الأمان اللاسلكي ضروريًا لضمان السلامة في شبكتك الداخلية.