الحصول على pid لعملية تم إنشاؤها في C#
سؤال
دعنا نقول أنني أحاول إنشاء عملية جديدة مع الكود التالي:
System.Diagnostics.Process p = new System.Diagnostics.Process();
p.StartInfo.WorkingDirectory = System.IO.Path.GetDirectoryName(System.Reflection.Assembly.GetExecutingAssembly().GetName().CodeBase);
p.StartInfo.FileName = System.IO.Path.GetDirectoryName(System.Reflection.Assembly.GetExecutingAssembly().GetName().CodeBase) + "\\AwesomeFile.exe";
p.StartInfo.Arguments = "parameter1 parameter2";
p.StartInfo.CreateNoWindow = true;
p.Start();
وفي السطر التالي ، سأحاول الحصول على مجموعة من هذه العملية مع السطر التالي:
MessageBox.Show(p.Id);
هذا الخط يعطيني "لا توجد عملية مرتبطة بهذا الكائن." خطأ. أي فكرة عن سبب حدوث هذا الخطأ؟
المحلول
قم بهذا النظام.
نصائح أخرى
تحقق من قيمة الإرجاع العملية. في بعض الحالات ، يمكن لـ Process.start أن يعود خطأ ، وفي هذه الحالة لن يرتبط أي معرف به.
لا تنتمي إلى StackOverflow