تدمج هذه المكتبة الكثير من وظائف Windows في Delphi X/11 مع أغلفة وحاويات فئة حديثة. مثل هذه التطبيقات هي مدير إعلام Windows ، الذي يسمح بنشر الإخطارات إلى مركز الإجراءات ، وعناصر التحكم في نقل Windows Media ، والتي تسمح للتطبيق بتسجيل نفسه على أنه تشغيل الوسائط وعرض عناصر تحكم في المركب المنبثق ومركز الإجراءات ، ومدير المجلد الرئيسي والكثير من المرافق الأخرى للعمل مع واجهات Windows مثل IBuffers و IRandomAccessStream والمزيد.
منذ Windows 7 ، تستخدم التطبيقات ميزة تسمى appusermodelid. هذا هو معرف تطبيق فريد يستخدمه Windows للتمييز بين تطبيقك عن الآخرين والحصول على معلومات حوله. هذا مسجل في مكانين ، قائمة ابدأ وتسجيل Windows. يتم تسجيله بشكل غير مألوف عند تثبيت التطبيق ، لأنه يضيف الاختصار في قائمة START. يمكن تسجيله على مستوى العالم (يتطلب امتيازات المسؤول) أو فقط للمستخدم الحالي. هنا هو المكان الذي يتم فيه تسجيله:
| ابدأ القائمة | السجل | |
|---|---|---|
| عالمي | ٪ SystemDrive ٪ programData Microsoft Windows Start Menu Programs | hkey_local_machine software classes appusermodelid |
| فقط المستخدم الحالي | شل: قائمة ابدأ | hkey_current_user software classes appusermodelid |
تستخدم هذه المكتبة TAppRegistration لإدارة تسجيل التطبيق على كلا هذا المكان. في Cod.WindowsRT.AppRegistration يوجد متغير AppRegistration محدد للتطبيق الحالي ، من نوع TCurrentAppRegistration . للتطبيق ، خلال وقت التشغيل ، ستحتاج إلى تعيين appusermodelid مرة واحدة ، على هذا النحو:
AppRegistration.AppUserModelID := 'com.codrutsoft.test';
إذا لم يتم تعريفه ، فسيكون ذلك افتراضيًا اسم الوحدة القابلة للتنفيذ ، مثل firefox.exe .
فيما يلي مثال على كيفية إعادة تسجيل التطبيق ، فقد تم التوصل إليه للقيام بذلك أثناء تثبيت البرنامج ، ولكن يمكن القيام به أيضًا أثناء وقت التشغيل ، ولكنه لم يتم التوصل إليه لأنه يعني أنه سيضيف اختصار قائمة البدء أثناء وقت التشغيل.
with TAppRegistration.Create do
try
AppUserModelID := 'com.codrutsoft.test';
AppExecutable := 'C:AppNameapplication.exe';
AppName := 'Example app name';
AppIconPath := ''; // location to ico file, can be left blank to create automatically
AppDescription := 'Very interesting app description.';
AppLaunchArguments := ''; // launch arguments for start menu shortcut
AppShowInSettings := false; // show in settings the option to edit notification settings
// Register
RegisterApp( falsew ); // true = global, false = local
finally
Free;
end;
لإلغاء التسجيل ، يكون الأمر أكثر بساطة ، موصى به أيضًا أثناء إلغاء التثبيت ، فقط اتصل:
with TAppRegistration.Create do
try
AppUserModelID := 'com.codrutsoft.test';
AppName := 'Example app name'; // required to delete the start menu shortcut
// Register
UnregisterApp( not Settings.UserInstall );
finally
Free;
end;
بمجرد تسجيل التطبيق بمعرفه ، يمكن فتحه من قائمة Run (Win+R) والناء على الجملة التالية
shell:appsfolder<AppUserModelID>