Χρήσιμος κώδικας, αλλά είναι λίγο αργός, όταν έχεις πολλά processes. Δεν μας επηρεάζει βέβαια αυτό πάρα πολύ μια και δεν πρόκειται να τρέχει συνεχώς (μονο στην αρχή), αλλα απλά το επισημαίνω.
Στο loop, καλό είναι να προσθέσεις τη γραμμή:
| | If count > 1 Then Exit For |
για να αποφύγεις να συνεχίσεις τον έλεγχο αφότου βρείς και δεύτερο process με το ίδιο όνομα. Ουσιαστικά θέλεις να μην φορτώσεις το ίδιο πράγμα αν το βρεις ήδη δύο φορές. (Μια αυτό που έχει τρέξει και μια αυτό που τρέχει τώρα).
Επίσης να συμπληρώσω οτι το process name το παίρνεις με τον εξης κώδικα:
| | Dim strCurrentProcessName As String strCurrentProcessName = _ System.Diagnostics.Process.GetCurrentProcess.ProcessName.ToString()
|
Τωρα βέβαια δεν ξέρω αν αυτός ο τρόπος είναι ασφαλής. Το process name εικάζω οτι πιθανόν να είναι κοινό και για εφαρμογές που μπορεί να μην είναι ίδιες.
Κοιτώντας, βρήκα και ένα
αρθράκι στο code project, που μπορεί να είναι χρήσιμο.
Happy coding!
Σωτήρης Φιλιππίδης
DotSee Web Services