المدونة
مقالات عملية من شركة كومورا سوفت حول تطوير المواقع، وتحسين محركات البحث، وإعلانات جوجل، وتطوير ويندوز، وإعادة استخدام الأصول القديمة، والتحقيق في الأخطاء.
بحث ذكي في الموقع بالكامل
تُرسل استعلامات البحث إلى Cloudflare AI Search لإنشاء النتائج. يُرجى عدم إدخال معلومات شخصية.
-
إطالة عمر تطبيقات VB6 / Access الخاصّة بالأعمال وترحيلها ── جدول قرار الإبقاء والتغليف والاستبدال
كيف نقرِّر الإبقاء على تطبيقات VB6 وAccess الخاصّة بالأعمال، أو إطالة عمرها، أو استبدالها؟ نستعرض عبر جدول قرار وضع بيئة التشغيل الحاليّ، ومشكلة 32bit/64bit ...
-
قراءة ملفّات تفريغ الأعطال عبر WinDbg + SOS ── مدخل عمليّ للتحليل بعد الجمع
نشرح خطوات قراءة ملفّات تفريغ أعطال Windows باستخدام WinDbg وامتداد SOS. نغطّي ضبط مسار الرموز (symbol path)، وطريقة تتبّع الاستثناءات وتسريبات الذاكرة عبر !...
-
منع التشغيل المتعدّد لتطبيقات Windows ── Mutex المسمّى وتفعيل النافذة عند التشغيل المزدوج
نرتّب هنا طريقة تنفيذ منع التشغيل المتعدّد لتطبيقات Windows للأعمال باستخدام Mutex مسمّى. نشرح الفرق بين Global\ وLocal\ ومطبّاته في بيئات RDP، وAbandonedMut...
-
استدعاء Win32 API بأمان من C# ── دليل P/Invoke العمليّ (DllImport / LibraryImport / CsWin32)
نُنظِّم النقاط العمليّة لاستدعاء Win32 API من C# عبر P/Invoke. الفرق بين DllImport وLibraryImport، والتوليد التلقائيّ عبر CsWin32، ومطبّات ترحيل السلاسل النص...
-
دمج مصادقة Entra ID في تطبيقات WinForms/WPF ── التشكيل العمليّ لـ MSAL.NET ووسيط WAM
نُنظّم خطوات دمج مصادقة Entra ID في تطبيقات WinForms/WPF لسطح المكتب. نشرح مفهوم العميل العامّ، وتسجيل التطبيق، وAcquireTokenSilent في MSAL.NET، ووسيط WAM، و...
-
التاريخ والوقت والمناطق الزمنية في تطبيقات الأعمال ── من فخاخ DateTime إلى مبدأ التخزين بتوقيت UTC وتصميم الاختبارات
ينزاح الوقت 9 ساعات بعد نقل الخادم ── نرتّب أسباب أعطال التاريخ والوقت انطلاقًا من خاصيّة Kind في DateTime والتحويل الضمنيّ. نشرح التمييز بين استخدام DateTim...
-
الاختبار الآليّ لواجهة المستخدم في تطبيقات سطح مكتب Windows ── آليّة UI Automation وبناء اختبارات لا تنكسر بسهولة باستخدام FlaUI
نرتّب الاختبار الآليّ لواجهة المستخدم في تطبيقات WinForms/WPF انطلاقاً من آليّة عمل Windows UI Automation. نشرح التنفيذ الأدنى عبر FlaUI، وتصميم AutomationId...
-
التعامل مع الدقّة العالية (DPI) في WPF ── أسباب الضبابيّة والتلطّخ رغم أنّه «يُفترَض أن يكون محصّناً ضدّ DPI» وطرق العلاج
WPF مصمَّم بحيث يعي System DPI، لكن نقل النافذة إلى شاشة بدقّة DPI مختلفة يجعل الشاشة كلّها تتلطّخ، وتصبح الصور النقطيّة ضبابيّة. نُنظّم تشخيص السبب، ودعم Pe...
-
مشكلة بقاء EXCEL.EXE عند التعامل مع Excel من C# ── أنماط تحرير مراجع COM وقرار الاستبدال
نُنظّم مشكلة بقاء عمليّة EXCEL.EXE عند تشغيل Excel عبر COM من C#، انطلاقاً من آليّة عدّ مراجع COM وRCW. نشرح مطبّ «قاعدة النقطتين»، وأنماط التحرير عبر Releas...
-
دعم الدقّة العالية (High DPI) في WinForms ── أسباب النِّيَة والانكسار على شاشات 4K ومعالجتها الواقعيّة
نرتّب هنا أسباب نِيَة وانكسار تطبيقات WinForms على شاشات 4K، انطلاقاً من مفهومَي الافتراض الوهميّ لـ DPI (DPI Virtualization) وأوضاع إدراك DPI (System Aware ...