عرض النافذة على شاشة تسجيل الدخول باستخدام C# في نظام التشغيل Windows XP
-
01-07-2019 - |
سؤال
أحاول إنشاء خدمة باستخدام C# تطلق عملية يمكن عرضها على شاشة تسجيل الدخول لنظام التشغيل Windows XP.
لقد وجدت بعض التعليمات البرمجية التي تقوم بذلك في C++.رمز C++ مخصص لخدمة تقوم بإنشاء عملية أخرى مع تعيين STARTUPINFO.lpDesktop على "WinSta0\WinLogon".يتم بعد ذلك عرض العملية التي تم إنشاؤها على شاشة تسجيل الدخول إلى Windows.لا يمكنني العثور على طريقة لتحديد "سطح المكتب" لعملية جديدة في C# باستخدام فئة System.Diagnostic.Process.
هل يعرف أحد كيفية القيام بذلك باستخدام C#؟
المحلول
كان الحل هو استدعاء وظيفة C++ Win32 API CreateProcess من kernel32.dll من كود C#.كان هذا الموقع مفيدًا جدًا في الحصول على توقيع الوظيفة الصحيح لـ C#:
http://www.pinvoc.net/default.aspx/kernel32/CreateProcess.html
نصائح أخرى
أعتقد أنه سيتعين عليك كتابته بلغة C++، وتجميعه إلى ملف DLL ثم استدعاء DLL من التعليمات البرمجية المُدارة لديك.