سؤال

وأنا أحاول تسجيل خدمة ATL باستخدام

وExeName.exe / الخدمة

وكما هو موضح هنا: HTTP: // MSDN. microsoft.com/en-us/library/74y2334x(VS.80).aspx

وبعد القيام بذلك على الرغم من انها لا تظهر في خدماتي لوحة التحكم (واحد أن أحصل على بكتابة الخدمات في المربع بدء على ويندوز فيستا).

ولقد حاولت من خلال حفر رمز ATL لنرى أين أنه يتعامل مع رمز التبديل / الخدمة، ولكن لا يمكن العثور عليه، على الرغم من أنني يمكن أن تجد رمز لمعالجة / REGSERVER و / UnregServer

ويستخدم هذا العمل، لقد تمكنت بطريقة أو بأخرى لتسجيل هذه الخدمة من قبل. ولكن، وأنا الآن قد انتقلت موقعها ولا يمكن الحصول عليها مسجلة مرة أخرى. عند تشغيل ExeName.exe / الخدمة، فإنه بدء بمثابة خادم المحلي إذا أفعل / REGSERVER لأول مرة، ولكن أريد تثبيته كخدمة.

وأنا شيء مفقود، وهل تعرف أين يتم التعامل مع التبديل / الخدمة؟

هل كانت مفيدة؟

المحلول 4

وتأكد من أنك لم كتبته غير قصد بعض الأحرف في اسم ParseCommandLine وظيفة في CAtlServiceModuleT الدرجة المحددة في atlbase.h

إذا قمت بذلك، هناك نسخة من هذه الوظيفة أيضا في الفئة الأساسية الأمر الذي يعني eveything ستجمع بشكل جيد، ويمكن أن يأخذك كل يوم لاكتشاف هذا الخطأ المعتوه!

و؛ -)

نصائح أخرى

واطلاق النار في الظلام: هل يعمل على ويندوز فيستا؟ إذا كان الأمر كذلك تأكد من أنك تقوم بتشغيل مع امتيازات المسؤول الكاملة. وإلا فإنه من الممكن أنك تسجيل هذا التطبيق عن طريق المحاكاة الافتراضية.

ونفس كما فعل JaredPar والقيادة تحاول مع شل الطاقة مع امتيازات المسؤول الكاملة.

والجري مع CAtlServiceModule :: طريقة تركيب من خارج منطقة الجزاء، يجب عليك استخدام العواصم الصحيحة على كل حجة - "/ الخدمة"، "/ UnregServer"، الخ.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top