داعيا تطبيق يستند إلى النافذة-صافي باستخدام Runtime.getRuntime (). إكسيك من وحدة تحكم الربيع يعمل على القط

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

سؤال

وأنا أدعو ملف إكس دعا myapp.exe عبر وحدة تحكم الربيع. هنا هو رمز في وحدة تحكم: Runtime.getRuntime () إكسيك ( "D: \ VMD \ تطبيقات \ myapp.exe")؛.

وmyapp.exe هو تطبيق C # .NET. إذا كنت اضغط مباشرة على myapp.exe باستخدام مستكشف Windows، يتم فتح التطبيق صعودا ويدير. ومع ذلك، إذا كنت استدعاء الأمر من خلال وحدة تحكم الربيع داخل القط، لم يتم فتح تطبيق أعلى؛ ولكن، عندما فتح إدارة المهام أستطيع أن أرى أن عملية myapp.exe قيد التشغيل. ومع ذلك، لم يتم فتح نافذة للmyapp.exe تصل. في جبوس، يتم استدعاء التطبيق بنجاح عن طريق وحدة تحكم الربيع. لا أحد يعرف لماذا لم يتم فتح التطبيق. NET عبر القط؟

ويتم تثبيت القط كخدمة. عند بدء القط يدويا باستخدام ملف startup.bat، ومن ثم استدعاء myapp.exe من رابط داخل تطبيق الويب القط والقوارب myapp.exe بنجاح. ومع ذلك، وأنا لست متأكدا من الطقس أو لا القط يجري التي كخدمة يمنع myapp.exe من العمل بشكل صحيح، لأنه عندما بدأت جبوس كخدمة، myapp.exe أطلقت بنجاح.

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

المحلول

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

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

لماذا لا يكون التطبيق. NET الخاص بك يبدأ تلقائيا في جلسة عمل مستخدم؟ هل يمكن الاتصال القط عبر مأخذ، والانتظار لبعض نوع من إشارة البداية للوصول، والذي من شأنه أن يؤدي ثم تعيين الإطار الرئيسي للتطبيق.

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