Jak Zamknąć Program Z Visual Basic

Spisu treści:

Jak Zamknąć Program Z Visual Basic
Jak Zamknąć Program Z Visual Basic

Wideo: Jak Zamknąć Program Z Visual Basic

Wideo: Jak Zamknąć Program Z Visual Basic
Wideo: Создание реальной программы на Visual Basic .NET 1/9 2024, Może
Anonim

Elastyczny i potężny język programowania Visual Basic. NET, będący jednym ze specjalnie stworzonych narzędzi do tworzenia aplikacji na platformę Microsoft. NET, pozwala w pełni wykorzystać wszystkie jego możliwości. W szczególności składniki przestrzeni nazw System. Diagnostics umożliwiają interakcję z procesami, dziennikami zdarzeń i licznikami wydajności. Na przykład możesz zamknąć program z Visual Basic przy użyciu klasy Process.

Jak zamknąć program z Visual basic
Jak zamknąć program z Visual basic

Niezbędny

Microsoft Visual Studio

Instrukcje

Krok 1

Zaimportuj przestrzenie nazw System, System. Diagnostics i System. Threading. Dodaj następujące wiersze kodu na początku modułu:

System importu

Importuje system. Diagnostyka

Importuje system. Threading

To tylko dla wygody korzystania z komponentów związanych z tymi przestrzeniami nazw.

Krok 2

Uzyskaj dane procesu, który ma zostać zamknięty. Użyj obiektu klasy System. Diagnostics. Process. Zadeklaruj zmienną tej klasy:

Dim oProc jako proces

Następnie użyj jakiejś metody, aby znaleźć wymagany proces.

Krok 3

Jeśli program, który w przyszłości będzie musiał zostać zamknięty, jest uruchamiany przez tworzoną aplikację, to po prostu zapisz obiekt zwrócony przez metodę Start przy starcie:

oProc = Process. Start ("app.exe")

Krok 4

Jeśli potrzebujesz zamknąć proces o znanym identyfikatorze, użyj statycznej metody GetProcessById klasy Process, aby uzyskać odpowiedni obiekt:

oProc = Process. GetProcessById (nID)

Gdzie nID to numeryczny identyfikator procesu.

Krok 5

Jeśli znane są tylko niektóre cechy procesu docelowego, poszukaj go. Pobierz listę procesów uruchomionych na komputerze lokalnym jako tablicę obiektów klasy Process. Użyj metody GetProcesses (zwraca wszystkie procesy) lub GetProcessesByName (tylko procesy o podanej nazwie):

Dim aoAllProcesses As Process () = Process. GetProcesses ()

Dim aoProcsByName As Process () = Process. GetProcessesByName („app.exe”)

Wypisz obiekty tablicy za pomocą pętli:

Dim oProc jako proces

Dla każdego oProc we wszystkich procesach

„działania na oProc”

Następny

Przeprowadź pętlę przez właściwości MainModule, MainWindowTitle, ProcessName itp. znaleźć żądany obiekt.

Krok 6

Spróbuj zakończyć program, wysyłając wiadomość o zamknięciu do jego głównego okna. Wywołaj metodę CloseMainWindow obiektu odpowiadającego procesowi docelowemu. W razie potrzeby poczekaj na zakończenie aplikacji, wywołując WaitForExit, na przykład:

oProc. CloseMainWindow ()

oProc. WaitForExit ()

Ta metoda nie gwarantuje zakończenia programu, ponieważ komunikat o zamknięciu okna jest często przetwarzany i można go zignorować.

Krok 7

Poczekaj chwilę po wywołaniu CloseMainWindow, aby upewnić się, że program się zakończy. Użyj metody Sleep klasy Thread. Następnie sprawdź stan procesu, badając właściwość HasExited i, jeśli nie została zakończona, wywołaj metodę Kill:

Wątek. Uśpienie (6000)

oProc. Refresh ()

Jeśli nie oProc. HasExited to

oProc. Zabij ()

Zakończ, jeśli

W razie potrzeby można w pętli odpytywać stan procesu, wysyłając użytkownikowi okresowe monity o zamknięcie aplikacji bez zapisywania danych. I tylko jeśli zgodzisz się zadzwonić do Kill.

Krok 8

Zwolnij zasoby systemowe po zakończeniu programu przy użyciu metody Close:

oProc. Zamknij ()

Krok 9

Aby uniknąć nieoczekiwanych błędów podczas wykonywania aplikacji, umieść cały algorytm zamykania programu w bloku Try-Catch-End Try. W razie potrzeby zaimplementuj pełną obsługę wyjątków z komunikatami diagnostycznymi.

Zalecana: