Strona główna
» WINDOWS
»
Jak wyświetlić okno komunikatu w systemie Windows 10 (PowerShell i Batch)
Jak wyświetlić okno komunikatu w systemie Windows 10 (PowerShell i Batch)
Aby wyświetlić niestandardowe okno komunikatu w systemie Windows 10 , wywołaj wbudowaną MessageBox.Showmetodę Windows Forms z poziomu programu Windows PowerShell. Uruchom ją jednorazowo w terminalu lub zapisz jako plik wielokrotnego użytku .bat. .ps1W sesji pulpitu po zalogowaniu nie jest wymagane konto administratora.
Okno komunikatu to modalne okno dialogowe , które pozostaje otwarte do momentu zamknięcia i może blokować interakcję z jego właścicielem. Różni się od powiadomienia typu tost. Dokumentacja MessageBox.Show firmy Microsoft zawiera listę argumentów komunikatu, podpisu, przycisku i ikony.
Wybierz sposób wyświetlania wiadomości
Jednorazowe okno dialogowe: uruchom krótkie polecenie w programie PowerShell.
Uruchom z poziomu wiersza poleceń: uruchom program Windows PowerShell za pomocą powershell.exe.
Możesz go później użyć ponownie: zapisz polecenie jako plik wsadowy lub skrypt programu PowerShell.
W przykładach wykorzystano program Windows PowerShell i System.Windows.Formszestaw dostępny w systemie Windows. Polecenie ładuje ten zestaw, a następnie określa komunikat, tytuł, przycisk OK i ikonę informacyjną.
Utwórz plik wsadowy wielokrotnego użytku
Otwórz Notatnik z menu Start. Do tego krótkiego skryptu wystarczy pusty dokument.Przed wprowadzeniem skryptu otwórz pusty dokument Notatnika.
Plik wsadowy uruchamia program PowerShell bez ładowania profilu.
Zmień Backup complete.na żądany tekst i Backup statustytuł. Zachowaj pojedyncze cudzysłowy wokół obu ciągów. Jawne wartości przycisku i ikony sprawiają, że okno dialogowe jest przewidywalne; [void]odrzuca wartość zwracaną przez metodę, ponieważ w tym przykładzie wymagane jest jedynie wyświetlenie pola.Ustaw wiadomość i tytuł w wywołaniu MessageBox.Show.
Wybierz Plik > Zapisz jako . Wprowadź ShowMessage.batnazwę pliku i wybierz Wszystkie pliki jako typ pliku, a następnie zapisz plik w łatwo dostępnym miejscu, takim jak Pulpit. Jeśli pozostawisz typ jako dokument tekstowy, Notatnik może go zapisać jako ShowMessage.bat.txt.Zapisz z rozszerzeniem .bat i wybierz Wszystkie pliki.
Otwórz zapisany ShowMessage.batplik. Pojawi się okno komunikatu; kliknij OK , aby je zamknąć.Uruchom zapisany plik wsadowy z poziomu Eksploratora plików.Okno niestandardowej wiadomości pozostanie otwarte do momentu wybrania przycisku OK.
Ponieważ plik wsadowy zagnieżdża polecenie PowerShell wewnątrz polecenia ujętego w cudzysłów, należy zachować prostotę tekstu i unikać stosowania podwójnych cudzysłowów w wiadomości i tytule.
Uruchom polecenie bezpośrednio w programie PowerShell
Otwórz program Windows PowerShell w menu Start.Otwórz program Windows PowerShell i wykonaj jednorazowe polecenie.
Załaduj formularze Windows Forms, a następnie wywołaj MessageBox.Show.
Kliknij OK , gdy pojawi się okno dialogowe.Polecenie PowerShell wyświetla żądany komunikat.
Aby utworzyć skrypt programu PowerShell wielokrotnego użytku, zapisz dwa powyższe wiersze programu PowerShell w Notatniku jako ShowMessage.ps1, wybierając opcję Wszystkie pliki . Uruchom kopię na pulpicie za pomocą . Jeśli zasady wykonywania blokują skrypt, użyj polecenia wbudowanego lub pliku wsadowego zamiast zmieniać zasady dla całego urządzenia. Zapoznaj się z dokumentacją Add-Type& "$env:USERPROFILE\Desktop\ShowMessage.ps1" firmy Microsoft .
Wyświetl wiadomość z wiersza poleceń
W wierszu poleceń wklej to jednowierszowe polecenie i naciśnij Enter . Uruchomi się program Windows PowerShell i przekaże mu kod dialogowy:
Wiersz poleceń może przekazać to samo wywołanie dialogowe do programu PowerShell.
Okno dialogowe pojawia się na pulpicie; zamknij je przyciskiem OK , a wiersz poleceń powróci do swojego pierwotnego stanu. Przełącznik -NoProfileuruchamia program PowerShell bez ładowania profilu użytkownika, zgodnie z opisem w dokumentacji wiersza poleceń programu Windows PowerShell firmy Microsoft .
Zamknij okno dialogowe, aby powrócić do wiersza poleceń.
Użyj przycisków Tak i Nie
Aby zadać pytanie, zmień argumenty przycisku i ikony, a następnie sprawdź wynik. Metoda zwraca DialogResult, więc skrypt może wykonać inną akcję w zależności od odpowiedzi:
$answer = [System.Windows.Forms.MessageBox]::Show('Continue with cleanup?', 'Confirm action', [System.Windows.Forms.MessageBoxButtons]::YesNo, [System.Windows.Forms.MessageBoxIcon]::Question)
if ($answer -eq [System.Windows.Forms.DialogResult]::Yes) { 'Continue with cleanup' } else { 'Cancelled' }
Użyj opcji Tak i Nie, gdy skrypt wymaga podjęcia decyzji przez użytkownika.
Ciągi znaków w pojedynczym cudzysłowie w programie PowerShell traktują większość znaków dosłownie. Jeśli komunikat zawiera apostrof, należy go podwoić w ciągu (na przykład ). Zapoznaj się z zasadami cytowania w programie PowerShell'Don''t close this window' firmy Microsoft . W przypadku polecenia wsadowego należy również unikać podwójnych cudzysłowów w komunikacie, ponieważ polecenie jest zagnieżdżone w argumencie w cudzysłowie.-Command
Jeśli okno komunikatu się nie pojawi
Sprawdź, czy plik kończy się na .batlub .ps1, a nie .txt.
Należy uruchomić go w sesji pulpitu po zalogowaniu; usługa lub proces nieinteraktywny może nie wyświetlać tam interfejsu użytkownika.
Użyj kombinacji klawiszy Alt+Tab, jeśli okno dialogowe może znajdować się za innym oknem.
Jeśli zapisany skrypt nie działa, wypróbuj polecenie inline w celu wyizolowania błędów w nazwie pliku lub cudzysłowie.
Jeśli potrzebujesz jedynie przypomnienia, które nie powinno przerywać bieżącego zadania, użyj powiadomienia systemu Windows zamiast tego okna dialogowego. W przypadku prostego, niestandardowego wyskakującego okienka, które należy potwierdzić, powyższa metoda programu PowerShell jest najkrótszą drogą.