Câu trả lời:
Làm thế nào về việc sử dụng msg
lệnh tích hợp của Window như vậy?
msg * "Message you would like to send"
Bạn có thể thêm các tham số khác, chẳng hạn như /TIME:x
x là số giây bạn muốn thông báo hiển thị. Tất nhiên, msg /?
sẽ cho bạn thấy tất cả các tùy chọn có sẵn.
Điều này ngụ ý Windows XP và cao hơn là hệ thống mà bạn muốn hiển thị thông báo. Nếu bạn có Phiên bản gia đình của HĐH hiện hành, bạn sẽ không gặp may. Xem http://ss64.com/nt/msg.html để biết các thông số khả dụng.
Nếu bạn có Phiên bản gia đình, tập lệnh bó sau sẽ bật lên một thông báo bằng phương pháp PopUp của VBSCript:
@echo off
::See http://msdn.microsoft.com/en-us/library/x83z1d9f(v=vs.84).aspx
::for an explanation of the PopUp method
::
::Use the directory from whence script was called as working directory
set CWD=%~dp0
::Use a random file name for the temporary VBScript.
set usrmsg=%CWD%%random%.vbs
::First parameter is the timeout in seconds. 0 = wait forever
set _timeout=%~1
::Second parameter is the message, enclosed in quotes.
set _Message=%~2
::Third parameter is the title of the window, enclosed in quotes.
set _Title=%~3
::This last variable is used to display a button/icon on the window.
::Setting this to 4096 sets the window to Modal (on top of everything else)
set _nType=4160
::Create the temp script using the provided information.
ECHO Set wshShell = CreateObject( "WScript.Shell" )>%usrmsg%
ECHO wshShell.Popup "%_Message%" ^& vbCrLf, %_Timeout%, "%_Title%", %_nType%>>%usrmsg%
::Run the script.
WSCRIPT.EXE %usrmsg%
::Delete the script.
DEL %usrmsg%
::Exit the batch file
exit /b
Hi vọng điêu nay co ich!
Đã thêm: Gregg đề cập trong các nhận xét rằng để tính năng này hoạt động trong Windows 10, bạn phải sử dụng "/ time: 0" nếu bạn muốn tin nhắn ở trên màn hình lâu hơn 60 giây.
/TIME:0
. Đây là trên Win10 x64 v1607 Enterprise LTSB. Tôi đã tự hỏi tại sao kịch bản của tôi kiểm tra tốt, nhưng tôi không bao giờ nhận được tin nhắn khi tôi đặt trong Trình lập lịch tác vụ. Ổ cắm đáng xấu hổ: serverfault.com/a/931932/131761
Ngoài ra, hãy xem https://www.howtogeek.com/136894/how-to-create-popup-reminder-with-no-additable-software/ . Trong trường hợp liên kết chết, tôi sẽ tóm tắt ở đây:
/ C TITLE [Tiêu đề của bạn ở đây] & ECHO. & ECHO. & ECHO [Tin nhắn của bạn ở đây] & ECHO. & ECHO. & TIMEOUT [hết thời gian]
Điều này sẽ tạo ra một cửa sổ giao diện điều khiển với văn bản đã cho, nó sẽ xuất hiện TRÊN TOP của cửa sổ hiện tại của bạn, nhưng sẽ không tự động lấy cắp tiêu điểm (bạn có thể tiếp tục tương tác với cửa sổ hiện tại của mình như bình thường).
Đây là giải pháp tốt nhất tôi tìm thấy, hy vọng nó sẽ giúp được ai đó!
Sử dụng msgbox
trong vbs. như thế này:
Set filesys = CreateObject("Scripting.FileSystemObject")
Set shell = CreateObject("Shell.Application")
Set wshShell = WScript.CreateObject( "WScript.Shell" )
PCName = wshShell.ExpandEnvironmentStrings( "%COMPUTERNAME%" )
msgbox "Dear user on " & PCName & vbcrlf & " " & vbcrlf & "This is a message box on top of all other windows.", &h51000, "I am msgbox"
shell.Open "C:\Users"
Mã &h51000
sẽ đảm bảo hộp thư ở trung tâm và trên tất cả các cửa sổ khác mọi lúc.
Nếu bạn chỉ muốn lên lịch cho hộp thông báo, bạn chỉ cần sử dụng bộ lập lịch tác vụ, có một chức năng tích hợp để lên lịch cho một tin nhắn. xem vị trí của [bắt đầu một chương trình] trong trình lập lịch tác vụ.
Display a Message
không được dùng nữa và msg
lệnh không hoạt động với tôi trong Windows 10 1703. Tôi đang sử dụng powershell
để hiển thị hộp thông báo từ tác vụ theo lịch trình, sử dụng lệnh này làm đối số khi xác định hành động:
-WindowStyle hidden -Command "& {[System.Reflection.Assembly]::LoadWithPartialName('System.Windows.Forms'); [System.Windows.Forms.MessageBox]::Show('<message body here>','<window title here>')}"
Đó là AF xấu xí, nhưng nó hoạt động.
powershell
giải pháp, một hộp thông báo xuất hiện. Khi sử dụng msg
giải pháp không có gì xảy ra, như tôi nêu trong nhận xét của mình.
powershell -WindowStyle hidden -File "<path to script>"
nhưng nó không hoạt động, nó chỉ hoạt động với -Command
đối số, vì vậy: powershell -WindowStyle hidden -Command "& '<path to script>'"
msg
gì Tôi không nhận được gì nếu tôi cố chạy nó từ hộp Run hoặc từ dấu nhắc lệnh.