مقالات بوسم «تطوير Windows»
قائمة بالمقالات الموسومة بـ «تطوير Windows» (86 مقالة)، من الأحدث إلى الأقدم.
-
ما الذي يفعله بدء التشغيل السريع فعليّاً ── لماذا «إيقاف التشغيل» في Windows ليس إعادة التشغيل
إيقاف التشغيل في Windows إغلاق هجين افتراضيّاً، فيُحفَظ النواة وبرامج التشغيل في hiberfil.sys. لماذا لا تُعاد تهيئتها إلا بإعادة التشغيل، ومتى يُوقَف بدء الت...
-
Time Travel Debugging ── تسجيل الأخطاء التي لا تتكرّر في التطبيقات طويلة التشغيل وإرجاعها
خطأ يظهر مرّة في الشهر لا يترك في تفريغ الانهيار سوى نتيجته. سجّل التنفيذ وأرجعه بـ WinDbg Time Travel Debugging (TTD): TTD.exe والمخزن الحلقي وTTD.Calls.
-
لماذا تتعطّل الوسائط ── قواعد وسائط سطر أوامر Windows
في Windows لا توجد مصفوفة وسائط؛ يصل إلى CreateProcess سلسلة واحدة ويتولّى الطرف المستقبل تقسيمها. نشرح قواعد CommandLineToArgvW وCRT و.NET، وArgumentList، و...
-
انتهاء خدمة برامج تشغيل الطابعات في Windows ── كيف تستعد تطبيقات الأعمال لطباعة التقارير والملصقات
تُنهى Microsoft تدريجيّاً خدمة برامج تشغيل الطابعات v3/v4، ومن تمّوز/يوليو 2026 يُفضَّل برنامج تشغيل فئة IPP. نرتّب في جداول قرار ما يختفي في Windows protect...
-
WinRT هو COM ── IInspectable و.winmd وإسقاط اللغات، ولماذا لا يزال WinUI يركب عقداً ثنائياً
WinRT ليس وقت تشغيل مُداراً؛ بل ABI أُضيفت إليه بيانات وصفية (.winmd) وإسقاطات لغات فوق COM. من علاقة IUnknown وIInspectable إلى تهيئة HWND وهوية الحزمة في ت...
-
ما الذي يبقى بعد موت الأب ── تربية العمليات الابنة في كائن Job
لماذا يبقى مساعد SDK ماسكاً الكاميرا أو منفذ COM بعد إنهاء الواجهة قسراً. كيف تجعل كائن Job شجرة العمليات وحدة واحدة وتصمم عمر العملية الابن بـ KillOnJobClos...
-
ما كائن OLE؟ ── آلية التضمين والربط ومطبّات مستندات الأعمال
حقيقة ميزة تضمين جدول Excel في Word هي كائن OLE. نشرح الفرق بين التضمين والربط، والملفّ المركَّب والتخزين المنظَّم، وآلية In-Place Activation، وصولاً إلى الر...
-
واجهة مجمع مؤشّرات الترابط Win32 ── تزامن دون إنشاء مؤشّرات ترابط، عبر CreateThreadpoolWork
أتستدعي CreateThread في كلّ مكان في الشيفرة الأصليّة؟ دليل من المصادر الأوّليّة لواجهة مجمع مؤشّرات الترابط Win32: كائنات work وtimer وwait وio، ومجموعات الت...
-
الأنابيب المسمّاة عمليّاً ── IPC القياسيّ في Windows من التصميم إلى الأمان
دليل عمليّ للأنابيب المسمّاة، وسيلة IPC القياسيّة في Windows. يغطّي وضع البايت مقابل وضع الرسالة، وخوادم متعدّدة العملاء، وأمان ACL وانتحال الهويّة، وصفوف تد...
-
تطبيقات تتعطّل عند الاستئناف من السكون ── كيف تعمل أحداث الطاقة وكيف تبني تطبيقات أعمال تصمد أمام الاستئناف
لماذا تنقطع تطبيقات الأعمال بعد استئناف الحاسوب المحمول من السكون: إشعارات WM_POWERBROADCAST، وModern Standby، وتصميم إعادة الاتّصال، وكبح السكون، وpowercfg.
-
DllMain وقفل المحمِّل ── السبب الحقيقي لعبارة «لا تفعل شيئاً في تهيئة الـDLL»
لماذا يُحظَر استدعاء LoadLibrary أو مزامنة مؤشّرات الترابط من DllMain. نشرح من المصادر الأوّليّة كيف يسلسل قفل المحمِّل كلّ إشعار DLL، وسيناريوهات الجمود الن...
-
ما الذي يعنيه «لا يستجيب» حقّاً ── كيف يقرِّر Windows أنّ تطبيقاً تجمّد، وكيف تصمِّم تطبيقات لا تتجمّد
يحكم Windows أنّ نافذة «لا تستجيب» بعد 5 ثوانٍ بلا استخراج رسالة ويعرض نافذة شبح: الحكم، وأسباب التعليق، وتصميم مؤشّر ترابط الواجهة، وإجراء التحقيق.
-
كيف تعمل الحافظة والسحب والإفلات ── معالجة نقل بيانات OLE بشكل صحيح في تطبيقات الأعمال
لماذا ينهار لصق Excel ويفشل اللصق بعد إغلاق المصدر: تنسيقات الحافظة، والعرض المؤجَّل، وسحب وإفلات OLE، وسياسات السجلّ ومزامنة السحابة.
-
WPR/WPA عمليّاً ── مدخل إلى تحقيق «الحاسوب كلّه بطيء» عبر المنظومة كلّها
حقِّق حاسوباً بطيئاً أو بدء تشغيل بطيئاً لا يشرحه مدير المهام بأثر ETW على مستوى نظام التشغيل: التقط بـ wpr.exe، ثمّ اقرأ المعالج والانتظار ودخل/خرج القرص في...
-
إغلاق Windows كما يراه تطبيقك ── النجاة من إشعارات الخروج وإعادة التشغيل وفقدان الطاقة بشكل صحيح
فساد بيانات بسبب إعادة تشغيل ليليّة من Windows Update يمكن منعه بالتصميم: إشعارات WM_QUERYENDSESSION/PRESHUTDOWN، وتنظيف في ثوانٍ، وحفظ يصمد أمام فقدان الطاقة.
-
ماذا تعني «استخدام الذاكرة» في Windows فعليّاً ── قراءة Working Set وPrivate Bytes وCommit وملفّ الصفحات قراءة صحيحة
عمود الذاكرة في مدير المهام، وWorking Set، وPrivate Bytes، وCommit ليست الرقم نفسه. يشرح المقال علاقة الذاكرة الافتراضيّة بالفيزيائيّة في Windows، ودور ملفّ ...
-
استخدام WMI/CIM من C# وPowerShell ── دليل عمليّ لاسترجاع معلومات العتاد ومراقبة العمليّات والاستعلام عن بُعد
الإجابة الكلاسيكيّة للحصول على الرقم التسلسليّ للحاسوب، ومراقبة المساحة الحرّة على القرص، وكشف بدء عمليّة هي WMI/CIM. يشرح المقال أوامر CIM مثل Get-CimInstan...
-
معالجة الأعطال لا تنتهي بالاستعادة ── قالب postmortem (منع التكرار) للفرق الصغيرة
إن انتهت معالجة العطل عند «أصلحنا واعتذرنا»، تكرر العطل نفسه. نكيّف مبدأ blameless postmortem للفرق الصغيرة، ونقدّم قالباً يُكتب في ساعة، وجدول تقييم قوّة إج...
-
مدخل إلى ADR (سجلّ قرار العمارة) ── أقلّ وسيلة لتوثيق «لماذا اخترنا هذا التصميم» في التطوير الصغير
لا تخبرنا الشيفرة «لماذا اتُّخذ هذا القرار». نشرح كيفية توثيق أسباب قرارات التصميم عبر ADR (Architecture Decision Record) بصيغة Markdown بمعدّل قرار واحد لكل...
-
إدارة إصدارات مخطّط قاعدة بيانات تطبيقات الأعمال ── ممارسات الترحيل لمنع «اختلاف قاعدة البيانات من عميل لآخر»
دليل عمليّ لإدارة إصدارات مخطّط قاعدة بيانات تطبيقات الأعمال الموزَّعة على عملاء متعدّدين. نشرح PRAGMA user_version وتنفيذ الترحيل الأماميّ بلغة C#، وجدول ال...
-
CI/CD عمليّ لتطبيقات WinForms / WPF ── أتمتة البناء والتوقيع والتوزيع عبر GitHub Actions
دليل عمليّ لبناء CI/CD لتطبيقات WinForms / WPF عبر GitHub Actions. يشمل YAML الأدنى للبناء والاختبار على windows-latest، وترقيم الإصدار المدفوع بالوسم، وإدما...
-
عندما يُعامَل تطبيق Windows الذي طوّرته شركتك بوصفه فيروساً ── التعامل مع الكشف الخاطئ في Microsoft Defender والتعايش مع أثره على الأداء
نرتّب الإجراء الرسميّ عند كشف Microsoft Defender تطبيق Windows الذي طوّرته شركتك خطأً. نشرح آليّة برامج مكافحة الفيروسات الحديثة، والإبلاغ عن الكشف الخاطئ لـ...
-
السكون والإسبات وModern Standby والتطبيقات طويلة التشغيل ── منع «التوقّف في منتصف الليل» بالتصميم
نرتّب أسباب وصول تطبيقات Windows طويلة التشغيل إلى حالة «توقّفت عندما نظرت صباحاً»، انطلاقاً من الفرق بين سكون S3 والإسبات وModern Standby. نشرح سلوك المؤقّت...
-
هل تعمل تطبيقات الأعمال على Windows بإصدار Arm؟ ── واقع محاكاة x64 (Prism) ومكتبات DLL وCOM الأصليّة
نجيب المطوّرين ومسؤولي الأنظمة عن سؤال «هل تعمل تطبيقات الأعمال على Windows بإصدار Arm؟». نستعرض آليّة محاكاة x64 (Prism)، والطبقات التي لا تعمل مثل برامج ال...
-
عندما ترث نظاماً بلا شيفرة مصدريّة ولا مواصفات ── الإجراءات العمليّة لتشغيله وصيانته دون توقّف
نُنظِّم الإجراءات العمليّة لبدء تشغيل وصيانة نظام أعمال بلا شيفرة مصدريّة ولا مواصفات. نشرح صون البيئة العاملة والنسخ الاحتياطيّ، وجرد الملفّات التنفيذيّة وق...
-
MAX_PATH ومطبّات المسارات وأسماء الملفّات في Windows ── حدّ 260 حرفاً، الأسماء المحجوزة، النقطة الأخيرة، حساسيّة الأحرف
ننظّم مشكلات حدود المسارات وأسماء الملفّات، وهي سبب شائع لظهور «الملفّ غير موجود». نشرح تفاصيل MAX_PATH=260 حرفاً، وتفعيل المسارات الطويلة عبر LongPathsEnabl...
-
مطبّات محرّك الشبكة ومسار UNC ── التعامل العملي مع خادم الملفّات (المجلّد المشترك) في تطبيقات الأعمال
نرتّب الأعطال الشائعة عند الكتابة إلى مجلّد مشترك أو مراقبته من تطبيق أعمال. نشرح سبب عدم ظهور حرف القرص (Z:) من الخدمة، والصلاحيّات المطلوبة لكلّ حساب تشغيل...
-
إقامة تطبيقات Windows في علبة النظام والإشعارات المنبثقة ── مطبات NotifyIcon وكيفية اختيار AppNotification
نرتّب إقامة تطبيقات Windows للأعمال في علبة النظام والإشعارات المنبثقة. نشرح الاستخدام الصحيح لـ NotifyIcon، وإعادة التسجيل عند إعادة تشغيل Explorer، وجدول ا...
-
إلى متى ستستمر تطبيقات VB6 في العمل ── وضع دعم بيئة التشغيل والمسار العملي للترحيل إلى .NET
إلى متى تستمر تطبيقات VB6 في العمل؟ نرتّب وضع بيئة التشغيل المشمولة حتى في Windows 11 وانتهاء دعم بيئة التطوير، وجدول القرار بين إعادة الكتابة الكاملة والتحو...
-
معالجة التقويم الياباني والعطلات الرسمية وتاريخ الإغلاق في تطبيقات الأعمال ── تصميم يقاوم تغيّر العصر، وJapaneseCalendar، وحساب أيام العمل
نرتّب معالجة التواريخ الخاصة بتطبيقات الأعمال اليابانية: عرض التقويم الياباني، وحساب أيام العمل باستثناء العطلات، وتاريخ الإغلاق. نشرح التصميم المقاوم لتغيّر...
-
دليل عملي لـ Process Monitor (ProcMon) ── تحديد «الإعدادات لا تُقرأ» وACCESS DENIED خلال 10 دقائق
أعطال مثل «عدّلت الإعدادات لكنها لا تنعكس» تُحدَّد أسبابها عبر Process Monitor (ProcMon) من واقع الوصول إلى الملفات وRegistry. نشرح استخدام الفلتر عملياً وقر...
-
متى لا يُفضَّل تحويل تطبيق Windows إلى الويب: جدول القرار وحل «التقسيم» الواقعي
في تطبيقات Windows التي تشمل التكامل مع الأجهزة ومعالجة الملفات المحلية والعمل دون اتصال، قد يزيد التحويل إلى الويب التكلفة ويُضعف الوظائف. نرتّب جدول قرار ل...
-
تعدد اللغات في تطبيقات WinForms/WPF ── الممارسة العملية لملفات resx وتجميعات الأقمار الصناعية وتبديل الثقافة
نرتّب تعدد اللغات في تطبيقات سطح المكتب على Windows: الفرق بين CurrentCulture وCurrentUICulture، وآلية resx وتجميعات الأقمار الصناعية، والاختيار الواقعي للطر...
-
ملف CSV ليس «مجرد نص» ── الممارسة العملية لـ CSV في تطبيقات C# للأعمال (ترميز الأحرف وتوافق Excel والحماية من الحقن)
نرتّب الحوادث النموذجية لإدخال وإخراج CSV في تطبيقات الأعمال — التحليل اليدوي بـ Split(',')، وتشوه النصوص في Excel بسبب UTF-8 بلا BOM، وسقوط الصفر البادئ — و...
-
لا تُحِط HttpClient بـ using ── الممارسة العملية لاتصال HTTP في تطبيقات C# للأعمال (أنماط الإنشاء والمهلة وإعادة المحاولة)
إنشاء HttpClient داخل using في كل مرة يستنزف المقابس، وجعله static يمنعه من متابعة تغيّر DNS. نرتّب نمط الإنشاء الصحيح عبر PooledConnectionLifetime وIHttpCli...
-
تحديد سبب «البطء» بـ PerfView وdotnet-trace ── مدخل عملي لتحقيق أداء .NET
عندما يصبح تطبيق الأعمال «بطيئاً» أو «يلتصق بالمعالج»، أي أداة تستخدم وماذا تنظر؟ نرتّب توزيع الأدوار بين PerfView وdotnet-trace، وقراءة عيّنات المعالج، وتحق...
-
مدخل إلى سجلّ أحداث Windows وETW ── وضع سجلّات تطبيق الأعمال على آليّة نظام التشغيل القياسيّة
سجلّ الأحداث وETW طبقة تسجيل مختلفة يراها القائمون على التشغيل وأدوات نظام التشغيل القياسيّة. نشرح التمييز بين الوسائل الثلاث بما فيها سجلّ الملفّات، والكتاب...
-
ليس appsettings.json وحده ── إدارة الإعدادات عمليّاً في تطبيقات Windows للأعمال (الإعدادات حسب البيئة، الأسرار، وجهة الكتابة)
نرتّب إدارة الإعدادات لتطبيقات Windows للأعمال. نشرح تدرّج appsettings.json، والتمييز بين IOptions وIOptionsMonitor، والإعدادات حسب البيئة، وأماكن الإعدادات ...
-
الطباعة وإخراج PDF في تطبيقات أعمال Windows ── التمييز بين System.Drawing.Printing وWPF ومكتبات التقارير
نرتّب بجدول قرار حسب المتطلبات طباعة WinForms عبر PrintDocument، وطباعة FlowDocument/FixedDocument في WPF، وخيارات إخراج PDF. ونشرح التحكم بفواصل الصفحات، وا...
-
إطالة عمر تطبيقات VB6 / Access للأعمال وترحيلها ── جدول قرار الإبقاء والتغليف والاستبدال
كيف نقرّر الإبقاء على تطبيقات VB6 وAccess للأعمال، أو إطالة عمرها، أو استبدالها؟ نرتّب عبر جدول قرار وضع بيئة التشغيل، ومشكلة 32bit/64bit في ACE، ومخاطر الاس...
-
منع التشغيل المتعدّد لتطبيقات Windows ── Mutex المسمّى وتفعيل النافذة عند التشغيل المزدوج
نرتّب تنفيذ منع التشغيل المتعدّد لتطبيقات Windows للأعمال بـ Mutex مسمّى. نشرح الفرق بين Global\ وLocal\ ومطبّاته في بيئات RDP، وAbandonedMutexException، وإظ...
-
استدعاء Win32 API بأمان من C# ── دليل P/Invoke العملي (DllImport / LibraryImport / CsWin32)
نرتّب النقاط العملية لاستدعاء Win32 API من C# عبر P/Invoke. الفرق بين DllImport وLibraryImport، والتوليد التلقائي عبر CsWin32، ومطبّات ترحيل السلاسل، وSafeHa...
-
ما ينبغي تنظيمه قبل طلب التعهيد أو التطوير التعاقديّ لتطبيق Windows
قبل تكليف جهة خارجية بتطوير تطبيق Windows تعاقديّاً، إليك النقاط التي ينبغي تنظيمها: تعديل البرمجيّات القائمة، وتكامل الأجهزة، وCOM/ActiveX، والتوزيع/التحديث...
-
لماذا تظهر رسالة «قامت Windows بحماية جهاز الكمبيوتر الخاص بك»
نرتّب من منظور عمليّ أسباب ظهور تحذير SmartScreen عند توزيع تطبيقات Windows، بدءاً من توقيع الشيفرة وشهادات EV/OV و Azure Artifact Signing و MSIX و Microsoft...
-
فخاخ التسجيل وbitness في تطوير COM و OCX / ActiveX
نرتّب من منظور عمليّ ما يسهل التعثّر فيه في تطوير COM و OCX و ActiveX: 32-bit/64-bit، Visual Studio 2022، regsvr32/Regasm، صلاحيات المسؤول، HKCR، و STA/MTA.
-
ما هو ClickOnce: الآليّة والتحديث ومتى يلائم العمل ومتى لا يلائمه
نرتّب ClickOnce المستعمل في توزيع تطبيقات سطح مكتب Windows على .NET: الـ manifests والتحديث والـ cache والتوقيع، ومتى يلائم المشروع ومتى لا يلائمه، مع رسوم M...
-
كيف نسرّع فحص تطبيقات Windows بـ Windows Sandbox
نرتّب كيف يسرّع Windows Sandbox عزل مشكلات صلاحيات المسؤول، وإعادة الإنتاج في بيئة نظيفة، وفحص نقص الصلاحيات أو الموارد، بما في ذلك الفصل بين .wsb وCLI.
-
تصميم أمن التحديث التلقائي - لماذا لا يكفي HTTPS
نرتّب التحديث التلقائي بوصفه حد ثقة: بيانات وصف موقّعة، وتحقّق من جهة العميل، وفصل المفاتيح، ومواجهة التراجع، وfail-closed، بمنظور العمل اليومي.
-
كيف ترسم الحدّ بين unit test وintegration test
نُرتّب الحدّ بين unit test وintegration test من زوايا المنطق الصافي والتنسيق والتوصيل واختلاف البيئة والاعتماد على الزمن، في جدول قرار يقلّل التردّد في العمل...
-
آليّة حلّ أسماء DLL في Windows - ترتيب البحث وSxS
نرتّب حلّ أسماء DLL في Windows عمليّاً، حتى أثر DLL search order وKnown DLLs وloaded-module list وAPI set ومانيفست SxS وواجهات LoadLibrary.
-
متى يلزم امتياز المسؤول على Windows - UAC والمناطق المحميّة وكيفيّة التمييز في التصميم
نرتّب المواضع التي يلزم فيها امتياز المسؤول على Windows من زاوية UAC والمناطق المحميّة والخدمات وبرامج التشغيل وتصميم per-user/per-machine.
-
ما هو VBA - القيود، والآفاق، ومتى يُستبدَل، وأنماط الترحيل الواقعيّة
نرتّب أساسيّات VBA وقيوده وآفاقه، ومتى ينبغي استبداله، وكيف يُرحَّل ماكرو Excel والأدوات الداخليّة على مراحل بشكل واقعي.
-
مزالق تطبيقات الاتصالات التسلسلية - حتى إعادة الاتصال وتصميم السجلّ
مزالق تطبيقات الاتصالات التسلسلية التي يجدر تجنّبها عند ربط الأجهزة والتحكّم بأجهزة القياس: framing، والـ timeout، وRTS/CTS، وDTR/RTS، وإعادة الاتصال، وتصميم...
-
تصميم يُبقي السجلات والـ dump عند انهيار تطبيق Windows
نرتّب كيف نجمع سجلاً عادياً وعلامة انهيار نهائية وWER LocalDumps وعملية مراقبة، حتى تبقى أدلة يمكن تتبع السبب بها حتى لو سقط تطبيق Windows باستثناء غير متوقع...
-
تصميم UX لتطبيقات Windows - أولويات حسب بيئة الاستخدام
نرتّب ما يجب إعطاؤه الأولوية في تصميم UX لتطبيق Windows في صورة جداول قرار حسب BtoC / BtoB، وأسلوب الإدخال، وبيئة الاستخدام، وتكلفة الخطأ.
-
كيف نختار بين WinForms و WPF و WinUI - جدول قرار عملي
نرتّب اختيار WinForms أو WPF أو WinUI من زوايا التطوير الجديد والأصل القائم والتوزيع والتعبير في الواجهة وتنظيم الفريق.
-
مزالق shared memory وأفضل الممارسات في العمل
نرتّب مزالق استخدام shared memory في العمل، وتصميماً يخفض معدل الأعطال ويشمل المزامنة والرؤية والعمر وABI والأذونات.
-
مدخل إلى ملف تعريف المستخدم في Windows - AppData و NTUSER.DAT
ننظّم أساسيات ملف تعريف المستخدم في Windows، وتقسيم AppData، والملفات المحلية والـ roaming وMandatory وTemporary، وFolder Redirection وFSLogix، وطريقة المعاي...
-
ما هو Reg-Free COM - استخدام COM بلا تسجيل
نرتّب أساسيات Reg-Free COM، ودور سياق التنشيط والبيان، والمزايا والحدود، ومحاور الحكم العملي.
-
كيف تبني إخراج تقارير Excel - COM وOpen XML والقوالب
يتغيّر تصميم إخراج تقارير Excel كثيراً بحسب ما إذا كنت تشغّل Excel تلقائياً، أو تولّد xlsx مباشرة، أو تبقي VBA القائمة. نرتّب معايير اختيار الأسلوب والبنية ا...
-
كيف تحرق صورة ونصّاً في إطارات MP4 بـ Media Foundation
نرتّب كيف تحرق صورة ونصّاً في كل إطار من فيديو MP4 بـ Media Foundation وتنتج MP4 جديداً، بتقسيم الأدوار بين Source Reader والرسم وتحويل الألوان وSink Writer،...
-
مدخل إلى جمع dump انهيار تطبيقات Windows: WER / ProcDump / WinDbg
لتعقّب انهيار تطبيق Windows صعب الإعادة، ترتّب المقالة الفصل بين WER LocalDumps وProcDump وMiniDumpWriteDump وWinDbg، وما ينبغي الانتباه إليه في التشغيل.
-
لماذا يُفضَّل انتظار الأحداث على Sleep(1) في Windows
على Windows تتأثّر دقّة الانتظار المؤقّت القصير بدقّة ساعة النظام وبالجدولة. إن كنت تنتظر وصول عمل أو اكتمال I/O أو طلب إيقاف، فالتصميم المدفوع بالأحداث أولى...
-
جدول قرار: إنهاء أم استمرار بعد استثناء غير متوقّع
عند وقوع استثناء غير متوقّع، هل تُنهي التطبيق أم تستمر؟ المقالة ترتّب الحكم من تلف الحالة والآثار الجانبيّة الخارجيّة والخيوط والحدود الأصليّة.
-
كيفيّة فصل «المعالجات التي تحتاج امتيازات المسؤول فقط» في تطبيقات Windows
نرتّب هنا تصميماً ملموساً يُبقي واجهة تطبيق Windows عند asInvoker ويفصل المعالجات التي تحتاج امتيازات المسؤول إلى helper EXE، شاملاً UAC و runas و named pipe...
-
حفظ أسرار تطبيقات Windows - تجنّب إعداد النصّ الصريح بـ DPAPI
نرتّب هنا فكرة DPAPI و ProtectedData، والفرق بين CurrentUser و LocalMachine، ونقاط التنفيذ، كي لا تُحفَظ معلومات الاتّصال ورموز API بالنصّ الصريح في ملفّ إعد...
-
قائمة التحقّق قبل ترحيل .NET Framework إلى .NET
قائمة تحقّق عمليّة قبل ترحيل .NET Framework إلى .NET: نوع المشروع، والتقنيات غير المدعومة، وتبعيّات NuGet، وأسلوب SDK، و WPF/WinForms، و CI/CD، والتشغيل.
-
كيفيّة تحويل YUV إلى RGB في Media Foundation
نرتّب هنا تحويل إطارات YUV إلى RGB في Media Foundation عبر مسارَي التحويل التلقائيّ في Source Reader والتحويل اليدويّ لـ NV12 و YUY2، مع stride وفضاء اللون.
-
دليل إعدادات NIC المتقدّمة في Windows - RSS و LSO و EEE و Wake on LAN
نرتّب إعدادات NIC المتقدّمة في Windows من منظور عملي. نلخّص ماذا يتغيّر عند تعديل Jumbo Packet و Speed و Duplex و RSS و RSC و LSO و Flow Control و EEE و Wake...
-
استخراج صورة ثابتة من MP4 عند زمن محدّد بـ Media Foundation
نلخّص خطوات التنفيذ لأخذ إطار قريب من زمن محدّد في MP4 عبر Source Reader، وترتيب stride و alpha في RGB32، ثم الحفظ PNG.
-
قائمة التحقّق الدنيا لأمان تطبيقات Windows
ننظّم في صورة قائمة تحقّق أساسيات الصلاحيات والتوقيع والتحديث والأسرار و HTTPS والتحقّق من الإدخال وتحميل DLL والسجلات لتطبيقات أعمال WPF و WinForms و WinUI ...
-
ما هي COM / ActiveX / OCX: الفروق والعلاقات
تنظيم ما هي COM وما هي ActiveX وما هي OCX، مع الفروق والعلاقات وصلة OLE، وأين تُستخدم، وكيف تُفهم اليوم من منظور العمل اليومي.
-
كيف نستدعي DLL من C# Native AOT من C/C++
إصدار مكتبة أصناف C# كـ native DLL عبر Native AOT، واستدعاء نقاط دخول UnmanagedCallersOnly من C/C++، مع مواضع الاستخدام وأنماط التنفيذ والملاحظات.
-
لماذا نستخدم Generic Host و BackgroundService في تطبيق سطح المكتب
تنظيم البدء والمعالجة الدوريّة والإيقاف والسجلات والإعدادات و DI في أدوات Windows والتطبيقات المقيمة باستخدام Generic Host و BackgroundService.
-
كيف تتعامل مع ActiveX / OCX اليوم - جدول قرار للإبقاء أو التغليف أو الاستبدال
عند العثور على ActiveX أو OCX، يبيّن المقال كيف تختار بين الإبقاء والتغليف والاستبدال، مع 32bit / 64bit والتسجيل واعتماد المتصفّح وصيانة البائع.
-
بنية اختبار مسارات الفشل في Windows بـ Application Verifier
نرتّب ما هو Application Verifier مع بناء بنية اختبار مسارات الفشل في Windows باستخدام Handles وHeaps وLow Resource Simulation و!htrace.
-
تحقيق تعطّل الكاميرا الصناعيّة بعد تشغيل طويل: فصل handle leak
نرتّب طريقة النظر إلى تعطّل تطبيق Windows فجأة بعد تشغيل طويل، من زوايا إيجاد handle leak وتصميم السجلّات، بحالة تطبيق تحكّم بكاميرا صناعيّة.
-
توقّف اتّصال الكاميرا الصناعيّة بسبب إعادة إرسال TCP: السبب والتضييق
نرتّب طريقة تضييق توقّف اتّصال الكاميرا الصناعيّة لعدّة ثوانٍ بسبب إعادة إرسال TCP، مع فقد الحزم وRTO وطوابع RFC1323 ونقاط التحقّق في Wireshark.
-
دليل عملي لـ FileSystemWatcher: معالجة الفقد والتكرار
نرتّب استخدام FileSystemWatcher ونقاط الحذر فيه من زوايا الفقد، والإشعارات المكرّرة، ومزالق الحكم على الاكتمال، وإعادة المسح، وclaim الذرّي، وidempotency.
-
مدخل إلى Media Foundation - فهم الواجهة من منظور COM
نرتّب ما هو Media Foundation مع المصطلحات الأساسيّة لواجهات وسائط Windows مثل COM و HRESULT و IMFSourceReader و MFT، بالترتيب الذي يُضبَط أوّلاً.
-
دليل عملي لتحقيق soft real-time قدر الإمكان على Windows العادي
ننظّم طريقة تثبيت المعالجة الدوريّة والمعالجة منخفضة التأخير على Windows العادي، من دقّة المؤقّت والأولويّة وإعدادات الطاقة وطريقة المراقبة.
-
أساسيات التحكّم الحصري في تكامل الملفّات - أفضل الممارسات لـ file lock والـ claim الذرّي
ننظّم التحكّم الحصري في تكامل الملفّات عبر file lock والـ claim الذرّي و temp -> rename و idempotency، ونلخّص تصميماً يتجنّب الحوادث في التكامل عبر المجلّدات...
-
استدعاء native DLL من C#: غلاف C++/CLI مقابل P/Invoke
عند استخدام native DLL من C#، نميّز الحالات التي يكفي فيها P/Invoke عن تلك التي ينفع فيها غلاف C++/CLI، من زوايا الملكيّة والاستثناءات وأنواع C++ والـ callba...
-
أساسيات COM STA/MTA - نموذج الخيوط وتجنّب التعليق
نرتّب هنا أساسيات COM STA/MTA بما يشمل نموذج Apartment وخيط واجهة المستخدم وحلقة الرسائل والـ marshalling وتجنّب التعليق.
-
دراسة حالة لجسر COM يستدعي DLL بـ 64bit من تطبيق 32bit
عندما يتعذّر استدعاء DLL بـ 64bit مباشرة من تطبيق 32bit، نرتّب هنا فكرة الربط عبر جسر COM مع قيد Windows والتركيبة وتدفّق المعالجة.
-
ما هو COM - لماذا لا يزال تصميم Windows COM يبدو جميلاً حتى اليوم
نرتّب هنا ما هو COM من زاوية تصميم الواجهة في Windows COM وIUnknown وGUID والتوافق الثنائي، ونشرح لماذا ما زال هذا النموذج صالحاً اليوم.