إيلينا: شكرا لإجابتك. هناك بعض الملاحظات في الجزء السفلي من مستند مسن هذا (msdn. microsoften - أوسليبراريهليب) التي تحذر حول ديادلوكس المحتملة إذا قرأت إلى نهاية كل من ستدوت إعادة توجيه و ستدر تيارات بشكل متزامن. IT39s من الصعب معرفة ما إذا كان الحل الخاص بك هو عرضة لهذه القضية. أيضا، يبدو أنك تقوم بإرسال العملية 39 ستدوتستدر إخراج الحق في العودة كمدخلات. لماذا ا. ) نداش ماتيو بيات سيب 26 16 في 4:42 هذا هو أكثر حداثة تنتظر، مكتبة مكتبة موازية تبل (تبل) حل قائم على 4.5 وما فوق. مثال الاستخدام أجاب التنفيذ أكتوبر 5 16 في 10:54 أنا شيء أن هذا هو نهج بسيط وأفضل (نحن لسنا بحاجة أوتوريزيتيفنت): أجاب 14 يونيو 12 في 14:29 صحيح، ولكن mustn39t كنت تقوم به. فيلنام المسار quggsci. exequot كوت لوت obeycommand. txtquot لتبسيط التعليمات البرمجية الخاصة بك أو ربما شيء ما يعادل الأمر كوتشو كوت المسار quggsci. exequot إذا كنت حقا don39t تريد استخدام ملف obeycommand. txt منفصل. نداش اميت نيدو يونيو 4 13 في 22:03 الحل الخاص بك لا تحتاج أوتوريزيتيفنت ولكن لك الاستطلاع. عند إجراء الاستطلاع بدلا من استخدام الحدث (عندما تكون متاحة) ثم كنت تستخدم وحدة المعالجة المركزية دون سبب والتي تشير إلى أنك مبرمج سيئة. الحل الخاص بك هو سيء حقا بالمقارنة مع الآخر باستخدام أوتوريزيتيفنت. (لكنني لم أعطيك -1 لأنك حاولت المساعدة). نداش إيريك أويليت نوف 7 14 في 18:38 كنت تواجه نفس المشكلة، ولكن السبب كان مختلفا. ومع ذلك فإنه يحدث تحت ويندوز 8، ولكن ليس تحت ويندوز 7. يبدو أن السطر التالي قد تسبب في المشكلة. كان الحل عدم تعطيل وسشليكسكيوت. تلقيت الآن نافذة منبثقة شل، غير المرغوب فيها، ولكن أفضل بكثير من البرنامج في انتظار لا شيء معين أن يحدث. لذلك أضفت العمل التالي حول ذلك: الآن الشيء الوحيد الذي يزعجني هو لماذا يحدث هذا تحت ويندوز 8 في المقام الأول. أجاب 13 يناير 15 في 10:35 حاولت أن تجعل فئة من شأنها أن تحل مشكلتك باستخدام تيار غير متزامن قراءة، من خلال الأخذ في الاعتبار مارك بييرز، روب، ستيفيفاي الأجوبة. القيام بذلك أدركت أن هناك خلل المتعلقة غير متزامن الناتج إخراج تيار قراءة. لا يمكنك القيام بذلك: سوف تتلقى System. InvalidOperationException. لم تتم إعادة توجيه ستانداردوت أو لم تبدأ العملية بعد. ثم عليك أن تبدأ إخراج غير متزامن قراءة بعد بدء العملية: القيام بذلك، وجعل حالة سباق لأن تيار الإخراج يمكن أن تتلقى البيانات قبل تعيينه إلى غير متزامن: ثم بعض الناس يمكن أن أقول أن لديك فقط لقراءة تيار قبل تعيينه إلى غير متزامن. ولكن نفس المشكلة تحدث. سيكون هناك حالة سباق بين قراءة متزامن وتعيين تيار في وضع غير متزامن. لا توجد طريقة للحصول على قراءة غير متزامنة آمنة من تيار الإخراج من عملية في الطريقة الفعلية وقد تم تصميم عملية و بروسيسستارتينفو. ربما كنت أفضل باستخدام قراءة غير متزامن مثل اقترح من قبل المستخدمين الآخرين لحالتك. ولكن يجب أن تكون على علم بأنك يمكن أن تفوت بعض المعلومات بسبب حالة العرق. أنا كتابة البرنامج الذي يبدأ عددا غير معروف من العمليات في تسلسل باستخدام myProcess. Start () و myProcess. WaitForExit (). ويبدو أن المشكلة هي أن بعض العمليات قد تبدأ عمليات أخرى ومن ثم الخروج، مما تسبب في برنامجي لمواصلة دون العملية التي بدأت في الواقع إنجاز مهمتها. هل هناك أي طريقة لمراقبة هذه كوتسوب-بروسيسكوت شكرا مقدما تحرير: بعد بعض الاختبارات الإضافية اكتشفت أن نفس المشكلة تحدث عندما على سبيل المثال بدء تشغيل Winword. exe. ببساطة ويتفوريكسيت لا يعمل مع بعض التطبيقات. كتب توم عن نفس المشكلة في هذا الموضوع ولكن كان راضيا عندما عملت على جهاز كمبيوتر مختلف. يبدو أن عملية QUWINWORD. EXEquot قيد التشغيل بالفعل على الجهاز الخاص بي. ربما لأنني استخدم ورد كمحرر البريد الإلكتروني (). إغلاق هذا قبل تشغيل برنامجي (التي تم تكوينها لبدء كلمة وانتظر للخروج) كوتسولفسكوت المشكلة. ومع ذلك، لا أستطيع افتراض أن وينورد لا يعمل عندما يبدأ برنامجي. الخميس، أغسطس 09، 2007 8:01 آم لا، ثيريس ليس كثيرا يمكنك القيام به بشكل موثوق به. المشكلة هي، في الوقت الذي استدعاء ويتفوريكسيت التطبيق قد يكون قد بدأت بالفعل تطبيق آخر وخرجت ثيريس أي وسيلة لمعرفة ما إذا كان هذا التطبيق ولدت أي الآخرين في هذه المرحلة. لها طبيعة process. Start. أنت لا تجد أن ويتفوريكسيت ينتظر إلى أجل غير مسمى لأن العملية قد حان وذهب قبل أن يطلق عليه أنت الخميس، أغسطس 09، 2007 1:15 بيإم حسنا، فإنه لا يخلق عملية جديدة، لها فقط بهذه السرعة قد لا تظهر في عملية المستكشف. كل عملية. بدءا هو أن يطلب من العملية لبدء ثيريس أكثر من ذلك أن العملية الجديدة المطلوبة للقيام به. إذا كان لا يريد التمسك في الذاكرة، وهذا هو اختيارها. لا شيء شيء يمكنك القيام به حيال ذلك، للأسف. بعض التطبيقات تبدأ دائما عملية جديدة. عند فتح ملف فيسوال ستوديو سلن، على سبيل المثال، فإنه يبدأ دائما عمليتين. ثيرس تطبيق صغير يتحقق من نوع ملف سلن ثم يفتح إصدار مناسب من فيسوال ستوديو لأنه لا يمكن إقران تطبيق واحد فقط لكل ملحق. المسألة الأخرى هي أن بعض التطبيقات يمكن التعامل مع وثائق متعددة في وقت واحد، مما يعني أنها عموما إعادة استخدام العمليات الموجودة. في مثل هذه الحالات، إذا تم إعادة استخدام العملية لأنه تم فتح مستند بالفعل، فهذا يعني أن المستند الذي قمت بفتحه مع process. Start قد يكون مغلقا، ولكن عملية استضافة لا تزال قيد التشغيل (خدمة المستند الأصلي) مما يعني أنك لا يمكن أبدا معرفة متى تتم إعادة استخدام العملية عند استدعاء process. Start يتم مع المستند الذي تم فتحه مع process. Start الخاص بك. إذا كنت تبحث لدمج نوع من حل وينورد، أود أن أقترح استخدام الأتمتة. راجع msdn. microsoftnewsgroupsdefault. aspxdgmicrosoft. public. officedevamplangenampcrUS للمناقشات حول أتمتة منتجات أوفيس. الخميس، أغسطس 09، 2007 1:37 بيإم عليك أن تتبع عدد العمليات التي تم إطلاقها واستخدام هذا في منطقك. قد تستخدم أيضا ويتفورمولتيبلوبجيكتس إذا كنت تعرف مسبقا أبروكسيناتيلي كيف سيتم بدء العديد من العمليات. من وقت بدء العملية، عملية أقفال كائن ويزيد العداد. كلما تنتهي العملية فإنه يقفل الكائن وينقص العداد. عندما تم تشغيل العملية x عدد المرات قيل لها أن تنتظر يستيقظ، يقفل الكائن ويتحقق لمعرفة عدد موبوجيتس هناك، من الانتظار لهذا العدد من الكائنات مرة أخرى. الخميس، أغسطس 09، 2007 12:39 بيإم لا، ثيريس ليس كثيرا يمكنك القيام به بشكل موثوق. المشكلة هي، في الوقت الذي استدعاء ويتفوريكسيت التطبيق قد يكون قد بدأت بالفعل تطبيق آخر وخرجت ثيريس أي وسيلة لمعرفة ما إذا كان هذا التطبيق ولدت أي الآخرين في هذه المرحلة. لها طبيعة process. Start. أنت لا تجد أن ويتفوريكسيت ينتظر إلى أجل غير مسمى لأن العملية قد حان وذهب قبل أن يطلق عليه أنت الخميس، أغسطس 09، 2007 1:15 بيإم لا، آمل أن لا يحدث هذا الوضع (هل من الممكن حتى هافنت فكر من قبل). . على أي حال، أن يجيب بوضوح واحدة من المشاكل. شكرا لكم. ولكن يجب أن يكون هناك سولوتيون إلى المسألة المتعلقة بدء winword. exe (وما شابه ذلك) ذلك. يتم عرض أي عملية إضافية في تاسماناجر (ولكن لا يزال كلمة تظهر). أريد أن أجبر على إنشاء عملية جديدة يمكنني السيطرة عليها. الخميس، أغسطس 09، 2007 1:25 بيإم حسنا، فإنه يخلق عملية جديدة، لها فقط بهذه السرعة قد لا تظهر في عملية مستكشف. كل عملية. بدءا هو أن يطلب من العملية لبدء ثيريس أكثر من ذلك أن العملية الجديدة مطلوب القيام به. إذا كان لا يريد التمسك في الذاكرة، وهذا هو اختيارها. لا شيء شيء يمكنك القيام به حيال ذلك، للأسف. بعض التطبيقات تبدأ دائما عملية جديدة. عند فتح ملف فيسوال ستوديو سلن، على سبيل المثال، فإنه يبدأ دائما عمليتين. ثيرس تطبيق صغير يتحقق من نوع ملف سلن ثم يفتح إصدار مناسب من فيسوال ستوديو لأنه لا يمكن إقران تطبيق واحد فقط لكل ملحق. المسألة الأخرى هي أن بعض التطبيقات يمكن التعامل مع وثائق متعددة في وقت واحد، مما يعني أنها عموما إعادة استخدام العمليات الموجودة. في مثل هذه الحالات، إذا تم إعادة استخدام العملية لأنه تم فتح مستند بالفعل، فهذا يعني أن المستند الذي قمت بفتحه مع process. Start قد يكون مغلقا، ولكن عملية استضافة لا تزال قيد التشغيل (خدمة المستند الأصلي) مما يعني أنك لا يمكن أبدا معرفة متى تتم إعادة استخدام العملية عند استدعاء process. Start يتم مع المستند الذي تم فتحه مع process. Start الخاص بك. إذا كنت تبحث لدمج نوع من حل وينورد، أود أن أقترح استخدام الأتمتة. راجع msdn. microsoftnewsgroupsdefault. aspxdgmicrosoft. public. officedevamplangenampcrUS للمناقشات حول أتمتة منتجات أوفيس. الخميس، أغسطس 09، 2007 1:37 بيإم كذلك صحيح أن فرامورك لا يسمح لإيجاد العمليات الفرعية مباشرة، شيء يمكن أن كوبلد معا. يمكنك الحصول على بيد من العملية التي بدأت، ثم باستخدام بينفوك يمكنك معرفة بيد بيد من جميع العمليات تشغيل ومقارنتها. هل يمكن بعد ذلك الانتظار لتلك بريوسيسس الفرعية للخروج هنا هو مثال C لاستخدام أبي. عليك أن تبحث في شيء مثل بينفوك عن كيفية تحويلها الخميس، أغسطس 09، 2007 4:20 بيإم تقوم ميكروسوفت بإجراء استطلاع عبر الإنترنت لفهم رأيك لموقع مسن على الويب. إذا اخترت المشاركة، سيتم تقديم الاستبيان عبر الإنترنت لك عند مغادرة موقع مسن على ويب. هل ترغب في المشاركة
Comments
Post a Comment