كيف يمكنني الحصول على قائمة بجميع الأنابيب اسمه فتح في ويندوز؟

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

  •  06-07-2019
  •  | 
  •  

سؤال

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

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

المحلول

ويمكنك عرض هذه مع مستكشف عملية من Sysinternals. استخدام "البحث -> البحث المؤشر أو DLL ..." الخيار وأدخل نمط "\ جهاز \ NamedPipe \". وسوف تظهر لك العمليات التي لديها والتي أنابيب مفتوحة.

نصائح أخرى

وحاول القيام بما يلي بدلا من ذلك:

String[] listOfPipes = System.IO.Directory.GetFiles(@"\\.\pipe\");

في وحدة بوويرشيل ويندوز، نوع

[System.IO.Directory]::GetFiles("\\.\\pipe\\")


إذا كان إصدار نظام التشغيل الخاص بك أكبر من ويندوز 7، يمكنك أيضا كتابة

get-childitem \\.\pipe\

استخدم pipelist.exe من Sysinternals.

وC #:

String[] listOfPipes = System.IO.Directory.GetFiles(@"\\.\pipe\");

وأنا تعثرت عبر ميزة في كروم من شأنها أن قائمة من كل فتح الأنابيب اسمه بالانتقال إلى "ملف: //.//pipe//"

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

وفسر الأنبوب الثاني هذا الموقع عندما قدم ... تحتاج اثنين الخطوط المائلة العكسية في البداية. لذا تأكد من استخدام System.IO.Directory.GetFiles (@ "\\. \ الأنابيب \").

ملحوظة بأنني رأيت هذا استدعاء دالة بطرح "أحرف غير قانونية في المسار." استثناء عندما كان واحدا من الأنابيب على الجهاز الخاص بي أحرف غير صالحة. عملت PipleList.exe موافق على الرغم من ذلك يبدو وكأنه خطأ في كود صافي MS ل.

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