Tôi muốn bắt đầu một chương trình với C# (có thể sử dụng Process.Start()
). Sau đó chương trình của tôi sẽ đợi cho đến khi chương trình bắt đầu được đóng lại, trước khi chương trình tiếp tục.
Làm cách nào để thực hiện việc này?Làm cách nào để tôi có thể bắt đầu Quy trình mới và đợi cho đến khi quá trình kết thúc?
12
A
Trả lời
26
Sau khi bạn gọi Start()
add: Process.WaitForExit()
var myProcess = new Process {StartInfo = new ProcessStartInfo(processPath)};
myProcess.Start().WaitForExit();
3
Có hai cơ chế. Bạn có thể móc sự kiện Process.Exited hoặc những gì bạn có thể thực sự muốn là gọi Process.WaitForExit().
http://msdn.microsoft.com/en-us/library/system.diagnostics.process.exited.aspx
http://msdn.microsoft.com/en-us/library/system.diagnostics.process.waitforexit.aspx
Các vấn đề liên quan
- 1. Quá trình không đồng bộ bắt đầu và đợi cho đến khi kết thúc
- 2. VBScript - Làm thế nào để làm cho chương trình đợi cho đến khi quá trình kết thúc?
- 3. Chờ cho đến khi quá trình kết thúc
- 4. Dòng lệnh không đợi cho đến khi quá trình thực thi exe kết thúc
- 5. chờ quá trình cho đến khi tất cả các tiến trình con kết thúc?
- 6. Làm thế nào để chờ đợi cho một quá trình để kết thúc C++
- 7. Làm thế nào để bắt đầu một quá trình và làm cho nó 'độc lập'
- 8. Làm cách nào để tôi có thể bắt đầu và kết thúc trong regex của Python?
- 9. Bắt đầu quá trình mới trên nút js
- 10. Tôi đã bắt đầu một quy trình, làm cách nào để gọi một phương thức trong quá trình đó
- 11. Làm cách nào để đợi cho đến khi quá trình bên ngoài hoàn tất?
- 12. Tôi bắt đầu điều tra quá trình Java của mình ở đâu sẽ không kết thúc?
- 13. Bắt đầu quá trình phi cao từ quá trình cao
- 14. Bắt đầu một quá trình riêng biệt
- 15. Có thể UAC nâng cao quy trình mà không bắt đầu quá trình khác
- 16. Quá trình bắt đầu và mạo danh
- 17. Có xóa dữ liệu khi quá trình bắt đầu không?
- 18. Làm cách nào để jQuery đợi cho đến khi hiệu ứng kết thúc?
- 19. Làm cách nào để bắt đầu Quy trình bị ẩn?
- 20. Làm thế nào tôi có thể kết thúc ncurses mà không kết thúc chương trình C++?
- 21. Làm cách nào để có thể bắt đầu và kết thúc trên toàn bộ lịch biểu?
- 22. Tôi làm cách nào để bắt đầu quá trình Java thứ hai?
- 23. Hủy quá trình bắt đầu qua System.Diagnostics.Process.Start()
- 24. Làm thế nào tôi có thể gửi khóa F4 đến một quy trình trong C#?
- 25. Quá trình đồng bộ C# bắt đầu
- 26. Làm cách nào để tôi có thể chuyển dữ liệu vào quá trình bắt đầu qua Net :: SSH trên stdin?
- 27. Tại sao không phạm vi cho tìm thấy quá tải của tôi bắt đầu và kết thúc cho std :: istream_iterator?
- 28. cách đơn giản nhất để bắt đầu một quá trình mới/thread trong PHP
- 29. Java Class - Đừng chờ đợi cho quá trình để thoát
- 30. vấn đề quy trình bắt đầu
Bạn không thể vượt qua bất kỳ đối số cho các nhà xây dựng như bạn có thể với phương pháp Bắt đầu tĩnh, tuy nhiên bạn có thể cung cấp cho họ bằng cách sử dụng tài sản StartInfo, ví dụ var p = Process mới { \t \t StartInfo = \t \t \t { \t \t \t \t FileName = @ "cmd.exe", \t \t \t \t Arguments = ... \t \t \t \t UseShellExecute = false \t \t \t}, \t}; p.Start(); p.WaitForExit(); p.Close(); –