Tôi đang cố gắng tìm hiểu xem một cá thể của một ứng dụng (không phải vb.net) đã chạy chưa - bởi vì tôi sẽ muốn bắt đầu nó nhưng tôi không muốn bắt đầu nó nếu nó đang chạy. Tôi đã tìm thấy giải pháp để kiểm tra xem quy trình có đang chạy hay không:Làm thế nào để tôi có được danh sách các Process Name đang chạy, trong VB.NET?
Dim proc As Integer = Process.GetProcessesByName(ProcessName).GetUpperBound(0) + 1
và trả về Đúng nếu> = 1 (hoặc chỉ số quy trình).
Vấn đề của tôi là, đây là ứng dụng của bên thứ ba và tên quy trình không chỉ là tên mà còn chứa số phiên bản (mà tôi có thể không biết trong thời gian chạy) và dường như thêm * 32 (có thể là * 64 nếu nó được cài đặt trong x64?).
Tôi cần có danh sách các quy trình đang chạy, theo tên và kiểm tra xem "processname" có phải là chuỗi con của tên không. Nhưng tôi đã không thành công trong việc có được một danh sách các tên, chỉ xử lý id.
Tôi đã cố gắng này, nhưng "Bất kỳ" không hoạt động. Cảm ơn bạn đã giải thích * 32. – Thalia
@emptyheaded Chỉ cần thêm "Import System.Linq" ở đầu tệp của bạn và Mọi tệp sẽ hoạt động. Đó là một phương pháp mở rộng LINQ (http://msdn.microsoft.com/en-us/library/bb534972.aspx) –
@Reed Copsey: Nếu nó không phải là 'p.ProcessName.Contains' thay vì p.Name.Contains? Và tôi không chắc chắn nếu. Bất kỳ là caseIN nhạy cảm. Nếu không một số bổ sung. ToUpper sẽ rất hữu ích để tìm kiếm các processname? – PeterCo