مقالات بوسم «تطوير Windows»
قائمة بالمقالات الموسومة بـ «تطوير Windows» (74 مقالة)، من الأحدث إلى الأقدم.
-
واجهة مجمع مؤشّرات الترابط Win32 ── تزامن دون إنشاء مؤشّرات ترابط، عبر CreateThreadpoolWork
هل تنثر استدعاءات CreateThread في شيفرتك الأصليّة؟ يشرح هذا المقال واجهة مجمع مؤشّرات الترابط Win32 التي أُعيد تصميمها في Vista ── كائنات work وtimer وwait و...
-
الأنابيب المسمّاة عمليّاً ── IPC القياسيّ في Windows من التصميم إلى الأمان
دليل عمليّ للأنابيب المسمّاة، وسيلة الاتّصال القياسيّة بين العمليّات في Windows. ينظّم المقال، من المصادر الأوّليّة، الاختيار بين وضع البايت ووضع الرسالة، وت...
-
تطبيقات تتعطّل عند الاستئناف من السكون ── كيف تعمل أحداث الطاقة في Windows وكيف تبني تطبيقات أعمال تصمد أمامها
فتحت الحاسوب المحمول فوجدت اتّصالات تطبيق الأعمال ميّتة ── السبب تصميم لم يحسب حساب السكون. يغطّي المقال تدفّق إشعار WM_POWERBROADCAST، وسلوك Modern Standby،...
-
DllMain وقفل المحمِّل ── السبب الحقيقي لعبارة «لا تفعل شيئاً في تهيئة الـDLL»
لماذا يجب ألا تستدعي LoadLibrary أو تتزامن مع مؤشّرات ترابط أخرى من DllMain. يستند المقال إلى المصادر الأوّليّة ليشرح كيف يسلسل قفل المحمِّل كلّ إشعار DLL، و...
-
ما الذي يعنيه «لا يستجيب» حقّاً ── كيف يقرِّر Windows أنّ تطبيقاً قد تجمّد، وكيف تصمِّم تطبيقات لا تتجمّد
«لا يستجيب» في Windows آليّة يحكم فيها نظام التشغيل أنّ نافذة لم تسترجع رسالة لمدّة 5 ثوانٍ ويستبدلها بنافذة شبح. يغطّي المقال دواخل ذلك الحكم، والأسباب الكل...
-
كيف تعمل الحافظة والسحب والإفلات ── معالجة نقل بيانات OLE بشكل صحيح في تطبيقات الأعمال
تلصق جدولاً من Excel فينهار التنسيق؛ تغلق تطبيق المصدر فلا يعود اللصق ممكناً ── كلاهما يأتي من وضع الحافظة المحتوى نفسه بعدّة تنسيقات دفعة واحدة. يغطي المقال...
-
WPR/WPA عمليّاً ── مدخل إلى تحقيق أداء المنظومة عند «الحاسوب كلّه بطيء»
مشكلات أداء مثل «الحاسوب كلّه بطيء» أو «بدء التشغيل بطيء» لا يتابعها مدير المهام يمكن تحقيقها بالتقاط أثر ETW على مستوى نظام التشغيل وقراءته بـ WPR/WPA. يغطّ...
-
إغلاق Windows كما يراه تطبيقك ── النجاة من إشعارات الخروج وإعادة التشغيل وفقدان الطاقة بشكل صحيح
إعادة تشغيل ليليّة من Windows Update أفسدت بيانات قياس ── يمكن منع هذا النوع من الحوادث بالتصميم. يغطّي المقال من المصادر الأوّليّة كيفيّة استقبال إشعارات ال...
-
ماذا تعني «استخدام الذاكرة» في Windows فعليّاً ── قراءة Working Set وPrivate Bytes وCommit وملفّ الصفحات قراءة صحيحة
عمود الذاكرة في مدير المهام، وWorking Set، وPrivate Bytes، وCommit ليست الرقم نفسه. يشرح المقال علاقة الذاكرة الافتراضيّة بالفيزيائيّة في Windows، ودور ملفّ ...
-
استخدام WMI/CIM من C# وPowerShell ── دليل عمليّ لاسترجاع معلومات العتاد ومراقبة العمليّات والاستعلام عن بُعد
الإجابة الكلاسيكيّة للحصول على الرقم التسلسليّ للحاسوب، ومراقبة المساحة الحرّة على القرص، وكشف بدء عمليّة هي WMI/CIM. يشرح المقال أوامر CIM مثل Get-CimInstan...
-
التعامل مع الأعطال لا ينتهي بالاستعادة ── نمط ما بعد الحادثة (منع التكرار) للفِرَق الصغيرة
التعامل مع العطل بـ«الإصلاح والاعتذار ثمّ الانتهاء» يُكرِّر العطل نفسه. نُترجِم مفهوم blameless postmortem للفِرَق الصغيرة، ونُقدِّم قالباً يُكتَب في ساعة وا...
-
مدخل إلى ADR (سجلّ قرار العمارة) ── أقلّ وسيلة لتوثيق «لماذا اخترنا هذا التصميم» في التطوير الصغير
لا تخبرنا الشيفرة «لماذا اتُّخذ هذا القرار». نشرح كيفية توثيق أسباب قرارات التصميم عبر ADR (Architecture Decision Record) بصيغة Markdown بمعدّل قرار واحد لكل...
-
إدارة إصدارات مخطّط قاعدة بيانات تطبيقات الأعمال ── ممارسات الترحيل (migration) لمنع «اختلاف قاعدة البيانات من عميل لآخر»
دليل عمليّ لإدارة إصدارات مخطّط قاعدة بيانات تطبيقات الأعمال الموزَّعة على عملاء متعدّدين. نشرح PRAGMA user_version وتنفيذ الترحيل الأماميّ (forward migratio...
-
CI/CD عمليّ لتطبيقات WinForms / WPF ── أتمتة من البناء إلى التوقيع والتوزيع عبر GitHub Actions
دليل عمليّ لبناء CI/CD لتطبيقات WinForms / WPF عبر GitHub Actions. يشمل YAML الأدنى للبناء + الاختبار على windows-latest، وترقيم الإصدار المدفوع بالوسم (tag)...
-
عندما يُعامَل تطبيق 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 الخاص بالأعمال مقيمًا في علبة النظام (منطقة الإشعارات) وإخطار المستخدم عبر الإشعارات المنبثقة (Toast). يتناول الاستخدام الصحيح...
-
إلى متى ستستمرّ تطبيقات VB6 في العمل ── وضع دعم بيئة التشغيل والمسار العمليّ للترحيل إلى .NET
إلى متى تستمرّ تطبيقات VB6 في العمل؟ يُنظّم هذا المقال التناقض بين سياسة دعم بيئة تشغيل VB6 (المدعومة حتّى على Windows 11) وحقيقة انتهاء دعم بيئة التطوير (ID...
-
معالجة التقويم الياباني والعطلات الرسمية وتاريخ الإغلاق في تطبيقات الأعمال — تصميم مقاوم لتغيّر العصر، وJapaneseCalendar، وحساب أيام العمل في الممارسة العملية
عرض «ريوا 8» في تقرير رسمي، وحساب أيام العمل باستثناء العطلات الرسمية، والدفع في آخر يوم عمل من الشهر التالي لإغلاق يقع في اليوم العشرين — تحمل معالجة التوار...
-
دليل عملي لأداة Process Monitor (ProcMon) — تحديد سبب «عدم قراءة الإعدادات» و«ACCESS DENIED» خلال 10 دقائق
«عدّلت ملف الإعدادات لكن التغيير لا ينعكس» أو «كان يعمل حتى الأمس لكنه لا يبدأ اليوم» — قبل التدخل في الكود المصدري، يمكن لأداة Process Monitor (ProcMon) تحد...
-
متى لا يُفضَّل تحويل تطبيق Windows إلى الويب: جدول القرار وحل «التقسيم» الواقعي
تتزايد الطلبات على تحويل تطبيقات Windows الداخلية إلى الويب، لكن في التطبيقات التي تعتمد على التكامل مع الأجهزة، ومعالجة الملفات المحلية، والعمل دون اتصال، و...
-
تعدد اللغات في تطبيقات WinForms/WPF ── الممارسة العملية لملفات resx وتجميعات الأقمار الصناعية (Satellite Assemblies) وتبديل الثقافة (Culture)
نستعرض من منظور عملي تعدد اللغات في تطبيقات سطح المكتب على Windows، بما في ذلك الفرق بين CurrentCulture وCurrentUICulture، وآلية الموارد عبر resx وتجميعات ال...
-
ملف CSV ليس مجرد نص عادي ── الممارسة العملية لملفات CSV في تطبيقات C# (ترميز الأحرف وتوافق Excel والحماية من الحقن)
نستعرض بمنظور عملي الأنماط النموذجية للأعطال في إدخال وإخراج CSV بتطبيقات الأعمال ── التحليل اليدوي باستخدام Split(',')، وتشوّه النصوص في Excel بسبب UTF-8 بد...
-
لا تُحِط HttpClient بـ using ── الممارسة العمليّة للاتّصال عبر HTTP في تطبيقات C# للأعمال (أنماط الإنشاء، وضبط المهلة، وإعادة المحاولة)
إنشاء HttpClient داخل using في كلّ مرّة يؤدّي إلى استنزاف المقابس (sockets)، وجعله static يجعله لا يتابع تغيّر DNS ── نشرح آليّة هاتين المشكلتين الكبيرتين، و...
-
تحديد سبب «البطء» باستخدام 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 ...
-
منع التشغيل المتعدّد لتطبيقات Windows ── Mutex المسمّى وتفعيل النافذة عند التشغيل المزدوج
نرتّب هنا طريقة تنفيذ منع التشغيل المتعدّد لتطبيقات Windows للأعمال باستخدام Mutex مسمّى. نشرح الفرق بين Global\ وLocal\ ومطبّاته في بيئات RDP، وAbandonedMut...
-
استدعاء Win32 API بأمان من C# ── دليل P/Invoke العمليّ (DllImport / LibraryImport / CsWin32)
نُنظِّم النقاط العمليّة لاستدعاء Win32 API من C# عبر P/Invoke. الفرق بين DllImport وLibraryImport، والتوليد التلقائيّ عبر CsWin32، ومطبّات ترحيل السلاسل النص...
-
التعهيد الخارجي والتطوير التعاقدي لتطبيقات Windows: ما ينبغي تنظيمه قبل الطلب
قبل تكليف جهة خارجية بتطوير تطبيق Windows تعاقديّاً، إليك النقاط التي ينبغي تنظيمها: تعديل البرمجيّات القائمة، وتكامل الأجهزة، وCOM/ActiveX، والتوزيع/التحديث...
-
حبّ المطوّر الغريب، أو كيف تعلّمت التوقف عن القلق وأحببتُ Windows
Windows نظام مرهق. لكنّ هذا الإرهاق هو إرهاق نظام تشغيل حمل على عاتقه أعمالاً واقعية طوال عقود.
-
لماذا تظهر رسالة «قامت Windows بحماية جهاز الكمبيوتر الخاص بك» في Windows
نرتّب من منظور عمليّ أسباب ظهور تحذير SmartScreen عند توزيع تطبيقات Windows، بدءاً من توقيع الشيفرة، وشهادات EV/OV، وAzure Artifact Signing، وMSIX، وMicrosof...
-
المزالق الشائعة في تطوير مكوّنات COM و OCX / ActiveX - فخاخ Visual Studio بين 32-bit و 64-bit، والتسجيل، وصلاحيّات المسؤول
دليل عمليّ يكشف الأسباب الحقيقيّة لإخفاق مكوّنات COM و OCX و ActiveX: عدم تطابق 32-bit / 64-bit مع Visual Studio 2022، وأخطاء regsvr32 و Regasm، ومواقع التسج...
-
ما هو ClickOnce - كيف يعمل، وكيف تعمل التحديثات، ومتى يلائم العمل الفعليّ ومتى لا يلائمه
نظرة عمليّة على ClickOnce لتوزيع تطبيقات .NET لسطح مكتب Windows: كيف تعمل manifests والتحديثات والـ cache، ومتى يلائم العمل الداخليّ ومتى يستحسن MSI أو MSIX.
-
كيف نستعمل Windows Sandbox لتسريع التحقّق من تطبيقات Windows - صلاحيّات المسؤول والبيئات النظيفة وإعادة إنتاج حالات نقص الصلاحيّات أو الموارد
مرشد عمليّ يبيّن كيف يسرّع Windows Sandbox التحقّق من تطبيقات Windows، عبر ملفّات .wsb لكلّ سيناريو وفحوصات المستخدم القياسيّ ومحاكاة شُحّ الموارد.
-
أساسيّات أمان ميزة التحديث التلقائيّ - الأنماط السيّئة وأفضل الممارسات
نلخّص أساسيّات أمان ميزة التحديث التلقائيّ: لماذا لا يكفي HTTPS، وأهمّيّة signed metadata والتحقّق من جهة الـ client وفصل المفاتيح ومواجهة rollback وfail-clo...
-
متى يصبح Windows admin privilege ضرورياً - UAC والمناطق المحميّة وكيفيّة التمييز على مستوى التصميم
تنظيم متى يصبح admin privilege ضروريّاً على Windows من زاوية UAC ومناطق الكتابة والتصميم per-user/per-machine، مع نماذج فصل المنطق المرفوع عن واجهة المستخدم ...
-
ما هو VBA: حدوده، آفاقه المستقبليّة، متى يجب استبداله، وأنماط الترحيل العمليّة
نظرة عمليّة على ماهيّة VBA وحدوده الفعليّة، ومتى يكون الإبقاء عليه كافياً ومتى يستحقّ الاستبدال، مع أنماط ترحيل متدرّجة لأصول Excel وAccess القائمة.
-
مزالق تطبيقات serial communication - framing وtimeouts وflow control وreconnects ومحوّلات USB وتجمّد الـ UI
ملخّص عمليّ لمزالق تطبيقات serial communication على Windows: framing وtimeouts وflow control وreconnects ومحوّلات USB-to-serial وتجمّد الـ UI، مع ممارسات تخف...
-
كيف نُبقي سجلّات الأعطال في تطبيقات Windows حتى عند الموت بسبب أخطاء برمجية - أفضل الممارسات مع WER وعلامات نهائية وتصميم watchdog
يشرح هذا المقال كيف نضمن الحصول على أدلّة قابلة للتشخيص حتى حين تموت عملية Windows بخطأ برمجي حقيقي، عبر دمج السجلّات الزمنية وعلامة crash نهائية وWER LocalD...
-
طريقة التفكير في تصميم UX لتطبيقات Windows - جدول قرار لتحديد ما يُعطى الأولوية في ToC / ToB / المراقبة / الأجهزة الميدانية / الأدوات المقيمة
يُنظّم هذا المقال أولويّات UX لتطبيقات Windows في صورة جدول قرار حسب ToC وToB والمراقبة وأجهزة الميدان، ليختار القارئ الكثافة والملاحة وأسلوب الإدخال الملائم.
-
أيّها نختار من بين Windows Forms وWPF وWinUI - جدول قرار للتطوير الجديد، الأصول القائمة، التوزيع، والتعبير عن الـ UI
هذا المقال يُنظّم اختيار WinForms أو WPF أو WinUI من زاوية الأصول القائمة والتوزيع وقدرة التعبير في الـ UI، ويُقدّم جدول قرار عمليّاً يُساعد القرّاء على حسم ...
-
المزالق وأفضل الممارسات عند استخدام shared memory - تنظيم مسبق للتزامن، الرؤية، العمر، ABI، والأمان
نُلخّص أبرز المزالق عند استخدام shared memory ونصمّم للتزامن، الرؤية، العمر، ABI، والاستعادة، حتّى يبني القارئ تكاملاً ثابتاً منخفض الأعطال.
-
ما هو ملفّ تعريف المستخدم في Windows - تنظيم عمليّ لـ `C:\Users` و `AppData` و `NTUSER.DAT` و Local / Roaming / Mandatory / Temporary
دليل عمليّ لتنظيم ملفّ تعريف المستخدم في Windows وفق AppData و NTUSER.DAT و Local و Roaming و Mandatory و Temporary و FSLogix، مع طريقة المعاينة عند الأعطال.
-
ما هو Reg-Free COM - كيف يعمل Registration-Free COM وأين يلائم وأين لا يلائم
مقالة تشرح Reg-Free COM كآليّة تنشيط مبنيّة على manifests بدلاً من الـ registry، توضّح متى يلائم في تطبيقات سطح المكتب ومتى لا يحلّ مشكلات bitness والتبعيّات.
-
كيف تبني إخراج تقارير Excel - دليل قرار عمليّ بين COM Automation وOpen XML والمقاربة المعتمدة على القوالب والمقايضات
دليل قرار عمليّ لاختيار طريقة إخراج تقارير Excel بين COM Automation وOpen XML والقوالب وVBA الموروثة، مع موازنة بيئات التشغيل والصيانة.
-
كيفيّة دمج الصورة والنصّ في كلّ إطار من فيديو MP4 باستخدام Media Foundation - ترتيب Source Reader والرسم وتحويل الألوان وSink Writer مع نسخة بملفّ .cpp واحد قابل للّصق مباشرةً
نُنظِّم في هذا المقال خطوات Media Foundation لرسم شعار ونصّ على كلّ إطار MP4 بعقليّة Source Reader ثمّ Sink Writer، مع نموذج C++ بملفّ واحد جاهز للتشغيل.
-
جمع crash dumps لتطبيقات Windows: متى تبدأ بـ WER أو ProcDump أو WinDbg
مقدّمة عمليّة لجمع crash dumps لتطبيقات Windows: متى تختار WER LocalDumps أو ProcDump أو MiniDumpWriteDump، وكيف توازن بين mini وfull dumps، وما الذي تنظر إل...
-
كيف تعزل العمل الذي يحتاج إلى المسؤول فقط داخل تطبيقات Windows
دليل عمليّ لإبقاء واجهة تطبيق Windows عند asInvoker مع إسناد العمل المرفَّع إلى helper EXE عبر runas و named pipes، مع التحقّق من الطلبات وأخطاء شائعة.
-
أفضل الممارسات في DPAPI لإبعاد الأسرار عن إعدادات النصّ الصريح في تطبيقات Windows
دليل تطبيقيّ لاستخدام DPAPI و ProtectedData في .NET لتخزين أسرار تطبيقات Windows محلّيّاً بدل النصّ الصريح، مع اختيار CurrentUser و LocalMachine وحدود الحماية.
-
ما الذي يجب التحقّق منه قبل ترحيل .NET Framework إلى .NET - قائمة تحقّق عمليّة لما قبل الترحيل
قائمة عمليّة لما قبل ترحيل .NET Framework إلى .NET: جرد المشاريع وفحص WCF و Web Forms و EF6 و NuGet لتجنّب المفاجآت قبل بدء التنفيذ.
-
كيفيّة تحويل إطارات YUV إلى RGB باستخدام Media Foundation - أنماط التحويل التلقائيّ في Source Reader والتحويل اليدويّ
دليل عمليّ لتحويل إطارات YUV إلى RGB في Media Foundation: التحويل التلقائيّ عبر Source Reader مقابل التحويل اليدويّ لـ NV12 و YUY2 مع color matrix و stride.
-
دليل الخصائص المتقدّمة لـ NIC في Windows - Jumbo Frames و RSS و LSO و RSC و Flow Control و EEE و Wake on LAN
دليل لاختيار الإعدادات المناسبة في علامة Advanced لمحوّل NIC في Windows، ومتى يستحقّ لمس Jumbo Frames و RSS و LSO و EEE و Wake on LAN فعلاً.
-
كيفيّة استخراج صورة ثابتة من MP4 باستخدام Media Foundation - ملفّ .cpp واحد يمكن لصقه في تطبيق وحدة تحكّم C++
دليل عمليّ لاستخراج إطار ثابت قرب لحظة محدّدة من ملفّ MP4 عبر Source Reader في Media Foundation، مع معالجة الـ seek و stride واتّجاه الصورة، وملفّ .cpp واحد ...
-
قائمة تحقّق للحدّ الأدنى من الأمان في تطوير تطبيقات Windows
قائمة تحقّق عمليّة لخطّ الأساس الأمنيّ في تطبيقات Windows: حدود الصلاحيّات، توقيع التوزيع، حماية الأسرار، HTTPS، تحميل DLL، logging، وتحديث التبعيّات قبل الإ...
-
ما هي COM / ActiveX / OCX - دليل عمليّ للفروق والعلاقات بينها
نظرة عمليّة لتمييز COM و ActiveX و OCX، مع علاقتها بـ OLE وأماكن استخدامها، لمساعدتك على فصل الأساس عن سياق المكوّن عن الملفّ في تحقيقات وترحيل أصول Windows ...
-
كيف نُحوِّل C# إلى native DLL باستخدام Native AOT - استدعاء exports من نوع UnmanagedCallersOnly من C/C++
يوضِّح هذا المقال كيف نُصدر مكتبة C# بوصفها native DLL عبر Native AOT، ونكشف نقاط دخول UnmanagedCallersOnly تُستدعى مباشرةً من C أو C++ بحدّ API ثابت ومتين.
-
حين يتعطّل تطبيق التحكّم بكاميرا صناعيّة فجأةً بعد شهر (الجزء الثاني) - ما هو Application Verifier وكيف نبني بنية اختبار لمسارات الفشل
كيف يكشف Application Verifier عن تسريبات handle ومسارات الفشل مبكراً عبر Low Resource Simulation و!htrace، لبناء بنية اختبار عمليّة لتطبيقات الكاميرا الصناعيّة.
-
حين يتعطّل تطبيق التحكّم بكاميرا صناعيّة فجأةً بعد شهر (الجزء الأوّل) - كيفيّة العثور على handle leak وتصميم السجلّات للتشغيل طويل الأمد
تطبيق التحكّم بكاميرا صناعيّة يتعطّل بعد شهر بسبب handle leak على مسار فشل إعادة الاتّصال. نشرح كيف نضيّق التحقيق ونصمّم سجلّات دورة حياة الموارد لمنع تكرار ...
-
حين تتوقّف حركة TCP للكاميرا الصناعيّة لعدّة ثوانٍ - كيف نضيق نطاق انتظار إعادة الإرسال باستخدام طوابع زمنيّة RFC1323
تشريح لتوقّفات TCP المتقطّعة لعدّة ثوانٍ بين تطبيق المضيف والكاميرا الصناعيّة، مع استخدام Wireshark وفقد الحزم وطوابع RFC1323 الزمنيّة لتقصير انتظار RTO.
-
كيفيّة استخدام FileSystemWatcher بأمان - الأحداث المفقودة والإشعارات المكرّرة وفخاخ كشف الاكتمال
دليل عمليّ يشرح لماذا ينبغي اعتبار FileSystemWatcher مجرّد محفّز للمسح وليس إشارة اكتمال، ويقدّم أنماط المطالبة الذرّيّة و idempotency.
-
ما هو Media Foundation - لماذا يبدأ في الإحساس بأنّه COM وواجهات Windows الإعلاميّة في آنٍ واحد
مقال يوضّح لماذا يشعر مطوّرو Media Foundation بأنّهم يكتبون كود COM، ويرتّب المصطلحات الأساسيّة ونقاط الدخول مثل Source Reader و Sink Writer و Media Session ...
-
دليل عملي إلى soft real-time على Windows - قائمة فحص لخفض latency
دليل عمليّ مكثّف لبناء تطبيقات soft real-time على Windows العاديّ، يقدّم قائمة فحص لاستراتيجيّة الانتظار، الأولويّات، الـ timers، إعدادات الطاقة، والقياس لخف...
-
التحكّم الآمن في تزامن تكامل الملفّات - أفضل الممارسات لـ file lock والمطالبة الذرّيّة والمعالجة idempotent
دليل مكثَّف لتزامن تكامل الملفّات: file lock، المطالبة الذرّيّة، نشر temp -> rename، ملفّات done، lease-based locks، و idempotency لتفادي السباقات والقراءات ...
-
لماذا يكون غلاف C++/CLI في الغالب أفضل طريقة لاستخدام native DLL من C# - مقارنة عمليّة مع P/Invoke
يوضح المقال متى يكون P/Invoke كافياً ومتى يصبح غلاف C++/CLI رفيعاً الخيار الأنظف لاستدعاء native DLL من C#، مع أمثلة عمليّة.
-
أساسيات COM STA/MTA - نماذج مؤشّرات الترابط وكيفية تجنّب حالات التعليق (Hang)
شرح عمليّ لشقَقتَي COM (STA و MTA) ونماذج مؤشّرات الترابط وحلقة الرسائل و Marshaling، مع أسباب التعليق في تطبيقات Windows وكيفيّة تجنّبها.
-
كيفية استدعاء DLL بنظام 64 بت من تطبيق 32 بت - دراسة حالة عملية لجسر COM
يوضّح هذا المقال كيفيّة استدعاء DLL بنظام 64 بت من تطبيق 32 بت عبر جسر COM خارج العملية، مع عرض البِنية وتسلسل النداء وقيود التسجيل والـ marshalling.
-
ما هو COM - لماذا لا يزال تصميم Windows COM يبدو جميلاً حتى اليوم
يوضّح المقال بإيجاز ما هو COM وما يجعل تصميم Windows COM أنيقاً عبر IUnknown و GUID والتوافق الثنائي، ويبيّن لماذا لا يزال هذا النموذج حاضراً في تطوير Window...