المدونة
مقالات عملية من شركة كومورا سوفت حول تطوير المواقع، وتحسين محركات البحث، وإعلانات جوجل، وتطوير ويندوز، وإعادة استخدام الأصول القديمة، والتحقيق في الأخطاء.
بحث ذكي في الموقع بالكامل
تُرسل استعلامات البحث إلى Cloudflare AI Search لإنشاء النتائج. يُرجى عدم إدخال معلومات شخصية.
-
استدعاء 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 ...
-
كيف تختار وسيلة الاتّصال بين عمليّات Windows ── جدول قرار للأنابيب المسمّاة / TCP / gRPC / الذاكرة المشتركة / COM
كيف تختار وسيلة التواصل بين تطبيقات Windows؟ ننظّم في جدول قرار مجالات تفوّق ومطبّات الأنابيب المسمّاة، وTCP المحليّ، وgRPC، والذاكرة المشتركة، وتكامل الملفّ...
-
استخدام SQLite في تطبيقات C# للأعمال ── وضع WAL، والتحكّم الحصريّ، والوقاية من التلف، والتمييز عن EF Core
نرتّب هنا المعرفة العمليّة اللازمة لدمج SQLite في تطبيقات الأعمال عبر Microsoft.Data.Sqlite. نشرح وضع WAL، وSQLITE_BUSY وتوحيد مسار الكتابة، ومطبّات تخطيط ال...
-
كيفيّة إنشاء خدمات Windows وتشغيلها ── من التمييز عن جدولة المهام إلى تحويل BackgroundService إلى خدمة
هل ينبغي تحويل المعالجة المقيمة إلى خدمة Windows، أم تكفي جدولة المهام؟ نرتّب من منظور عمليّ جدول القرار، وكيفيّة إنشاء الخدمة عبر .NET Worker Service، وحساب...