كيف يمكنني تشغيل تطبيق عند بدء التشغيل على نظام Windows تم تعديله لعدم تشغيل Explorer

StackOverflow https://stackoverflow.com/questions/1121832

  •  13-09-2019
  •  | 
  •  

سؤال

ملخص

كيف يمكنني تشغيل تطبيق GUI الخاص بي على بدء تشغيل Windows على مربع Windows المعدل لن يبدأ Explorer.exe.

  • وضع رابط في برامج -> مجلد بدء التشغيل لا يتم تنفيذها.
  • طلبي الرسومية لذلك لا يمكنني تعديل التطبيق فقط لتشغيل كخدمة.

خلفية

لدي تطبيق يحتاج إلى تشغيله على جهاز كمبيوتر مخصص يستخدم لإنشاء محتوى ل Digital Signage. وبعد إنه نوع البرامج التي تنشئ الإعلانات ومحتوى عرض الشرائح المختلفة التي تراها عرضها على شاشات البلازما / LCD في المنظمات الكبيرة.

لقد كان لدي خبرة مع العديد من البائعين مختلفين من برامج إدارة المحتوى هذه وكلها بناء تطبيق Windows بشكل أساسي ثم قم بتعليم الأشياء من Windows لمنع أي نوع من النوافذ المنبثقة من الظهور وما إلى ذلك. واحد من البائعين الذين أتعامل معهم الآن، تم تعديل Windows بحيث explorer.exe لا يبدأ.

يعمل تشغيل وظيفة بدء التشغيل في برنامجنا باستخدام رابط في مجلد بدء التشغيل. ما وجدته هو أنه منذ explorer.exe لا يعمل دون أي من طلبي.

عندما يقوم الكمبيوتر بتشغيله تلقائيا في وضع التشغيل لتطبيق لافتات رقمية يبدأ في عرض المحتوى القابل للبرمجة. يمكنك الضغط على كنترول-بديل-حذف وقتل برنامجهم ثم ابدأ explorer.exe من taskmanager. وبعد بعد حوالي ثانية أو نحو ذلك ... أرى ابدأ طلبتي.

لذلك، سؤالي هو - كيف يمكنني إجراء تحميل تطبيقي على مربع Windows لن يبدأ explorer.exe. وبعد أي شخص يعرف ما إذا كان القول باستخدام مفتاح تسجيل في مجلد المدى سيعمل حتى في حالة عدم وجود مستكشف؟ هل هناك طريقة بطريقة أخرى لجعل البرنامج يعمل على بدء التشغيل؟


تحرير: ملاحظات تنفيذ الإجابة المقبولة

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

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

المحلول

تحويل طلبك إلى خدمة وتعيينه كبدء تلقائي. بدلا من ذلك، هناك أدوات عبر الإنترنت لتشغيل EXE تعسفي كخدمة. كتابة واحدة نفسك واضحة جدا.

إذا احتاج طلبك إلى التفاعل مع سطح المكتب وإنشاء UI، فستحتاج إلى خدمتك لإطلاق EXE على سطح المكتب المناسب. للقيام بذلك، يمكنك استخدام Wtsenumeratesessions للعثور على جلسة المستخدم التفاعلية، Wtsqueryusertoken للحصول على الرمز المميز، ثم CreateProcessAser لإطلاق التطبيق على سطح المكتب الصحيح مثل هذا المستخدم.

نصائح أخرى

<HKLM|HKCU>\Software\Microsoft\Windows\CurrentVersion\Run هو المكان المعتاد لوضع الأشياء، ولكن إذا كان هذا ليس جيدا بما فيه الكفاية HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon لديه سلسلة تسمى "Userinit" وهي تدعم قيم مفصولة بفواصل متعددة.

إذا كنت ترغب في الدخول إلى أرض غير موثقة، فهناك مليون مكان في السجل حيث بدأت الأمور، بدء تشغيل التشغيل التلقائي من Sysinternals أثناء المراقبة مع Regmon / ProcessMonitor

يمكنك محاولة تعديل

[HKEY_CLASSES_ROOT\Folder\shell] 

اضبط القيمة الافتراضية على مسار / اسم قابل للتنفيذ

هذا أمر خطير .. إذا كنت تعزاه ذلك، فقد يكون لديك مشاكل ضخمة في الحصول على النظام .. أفضل لمحاولة / اللعب في VM

هل يمكنك إضافة إدخال إلى التسجيل

HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Run

مفتاح؟

لست متأكدا إذا كان Explorer.exe مسؤول عن بدء تشغيل البرامج الموجودة في هذا المجال أو إذا كان Windows Backend مسؤولا ولكنه يستحق المحاولة.

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