كيف يمكنني بدء/إيقاف التطبيقات على جهاز كمبيوتر مختلف؟
-
27-09-2019 - |
سؤال
هل من الممكن لتطبيق واحد C# (سطح المكتب) بدء تطبيقات وإيقافها على جهاز آخر؟
لا أقصد بالمعنى الخبيث ، أو حتى عبر الإنترنت. لديّ جهاز كمبيوتر في غرفة وأحتاج إلى تطبيق على واحد للبدء (ثم التوقف) والتطبيق على الآخر.
كان أحد المسارين المكونين من نصفه في ذهني هو استخدام برنامج إضافي على الكمبيوتر المستهدف ، لذلك أعتقد أنه يجب أن أشير إلى أنني قادر تمامًا على إجراء أي تغييرات ضرورية على أي من الجهاز.
المحلول
إذا كنت تستطيع القيام بتغييرات ، فهناك الكثير من الاحتمالات!
- WMI: لم تجرب ذلك أبدًا ولكن بالنظر إلى حقوق كافية ، يجب أن تكون قادرًا على بدء العمليات ، أو على الأقل خدمات على جهاز بعيد
- .NET Remoting: قديم إلى حد ما ، ولكن سهل التنفيذ
- WCF
- httplistener
- قوائم قوائم رسائل خاصة (هذا ما فعلته مرة واحدة)
- ?
تتضمن معظم البدائل كتابة خدمة صغيرة تستمع إلى تقنية الاتصال التي تختارها ثم تبدأ عملية أو تقوم بشيء آخر.
نصائح أخرى
مثال على استخدام WMI في مشروع الرمز:
ولكن ربما في حالتك بسيطة PsExec.exe
قد تكون المكالمة كافية ، على سبيل المثال
Process.Start("psexec.exe", "\\remotehost -u user -p password calc.exe");
psexec.exe من sysinternals أو استخدم PowerShell 2.0 و WMI