다른 모든 창 위에 작업 스케줄러의 메시지 상자 표시


13

예정된 시간에 다른 창 위에 메시지 상자를 표시하는 좋은 방법이 있습니까? 기본 "메시지 표시"작업은 다른 모든 것 아래에 쓸모가 없습니다.

답변:


13

Window의 내장 msg명령을 사용하는 것은 어떻습니까?

msg * "Message you would like to send"

/TIME:x여기서 x는 메시지를 표시 할 시간 (초) 과 같은 다른 매개 변수를 추가 할 수 있습니다 . 물론 msg /?사용 가능한 모든 옵션이 표시됩니다.

이것은 메시지를 표시하려는 시스템으로서 Windows XP 이상을 의미합니다. 해당 OS의 Home Edition이 있으면 운이 좋지 않습니다. 사용 가능한 매개 변수는 http://ss64.com/nt/msg.html 을 참조 하십시오 .

Home Edition이있는 경우 다음 배치 스크립트는 VBSCript의 PopUp 방법을 사용하여 메시지를 팝업합니다.

@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

도움이 되었기를 바랍니다!

추가 : Gregg는 Windows 10에서이 기능을 사용하려면 메시지가 60 초 이상 화면에 표시되도록하려면 "/ time : 0"을 사용해야한다는 의견을 언급했습니다.


무슨 소리 야? 무엇입니까 msg? 실행 상자 또는 명령 프롬프트에서 실행하려고하면 아무것도 얻지 못합니다.
Moss

귀하는 귀하의 질문에 귀하가 보유한 Windows 버전을 지정하지 않았습니다. 홈 에디션이 있다면 운이 좋지 않습니다. ss64.com/nt/msg.html
JSanchez

2
를 지정하지 않으면 FYI msg는 60 초 후에 자동으로 닫힙니다 /TIME:0. 이것은 Win10 x64 v1607 Enterprise LTSB에 있습니다. 스크립트가 제대로 테스트 된 이유가 궁금하지만 작업 스케줄러에 넣을 때 메시지가 표시되지 않습니다. 부끄러운 플러그 : serverfault.com/a/931932/131761
gregg

6

https://www.howtogeek.com/136894/how-to-create-popup-reminders-with-no-additional-software/ 도 참조 하십시오 . 링크 사망의 경우 여기에 요약하겠습니다.

  1. Windows 작업 스케줄러를 엽니 다 (시작 메뉴에서 '작업 스케줄러'검색)
  2. 작업에서 '작업 만들기'를 클릭하십시오.
  3. 일반 탭에서 '사용자가 로그온 한 경우에만 실행'이 선택되어 있고 '숨김'이 선택되어 있지 않은지 확인하십시오.
  4. 트리거 탭에서 '새로 만들기'를 클릭하여 메시지가 트리거되는 시간을 설정하십시오.
  5. 작업 탭에서 '새로 만들기'를 클릭하고 상단에서 선택한 작업이 '프로그램 시작'인지 확인하십시오.
  6. '프로그램 / 스크립트'에 CMD를 입력하십시오.
  7. '인수 추가'에서 다음을 복사하여 붙여 넣습니다.

    / C TITLE [제목은 여기에 있음] & ECHO. & ECHO. & ECHO [여기에 메시지는 여기 있음] & ECHO. & ECHO. & TIMEOUT [timeout]

  8. [여기에 제목]과 [여기에 메시지]를 원하는 텍스트로 바꿉니다 (괄호는 포함하지 않음).
  9. [시간 초과]를 시간 초과하기 전에 메시지가 대기 할 시간 (초)으로 바꾸거나 시간 초과를 원하지 않는 경우 -1 (콘솔 창이 초점을 맞춘 상태에서 키를 누르면 메시지가 닫힙니다)
  10. '확인'을 클릭하십시오!

주어진 텍스트가있는 콘솔 창이 생성되어 현재 창의 맨 위에 표시되지만 포커스를 자동으로 훔치지는 않습니다 (평소와 같이 현재 창과 계속 상호 작용할 수 있음).

이것이 내가 찾은 최고의 솔루션이었습니다. 누군가에게 도움이되기를 바랍니다!


이 답변은 매우 매끄 럽습니다. 감사합니다!
spartikus

1

msgboxVBS에서 사용하십시오 . 이처럼 :

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"

코드 &h51000는 항상 msgbox를 중앙 및 다른 모든 창 위에 배치합니다.

msgbox 만 스케줄하려면 태스크 스케줄러를 사용하면됩니다. 메시지 스케줄 기능이 내장되어 있습니다. 작업 스케줄러에서 [프로그램 시작] 위치를 참조하십시오.


1

Display a Message더 이상 사용되지 않으며 msgWindows 10 1703에서 명령이 작동하지 않습니다 powershell. 예약 된 작업에서 메시지 상자를 표시하는 데 사용 하고 있습니다. 작업을 정의 할 때 이를 인수 로 사용하십시오 .

-WindowStyle hidden -Command "& {[System.Reflection.Assembly]::LoadWithPartialName('System.Windows.Forms'); [System.Windows.Forms.MessageBox]::Show('<message body here>','<window title here>')}"

못생긴 AF이지만 작동합니다.


솔루션을 사용할 때 발생하는 상황을 설명 할 수 있습니다. 이 오류는 다른 사용자에게 도움이 될 수 있습니다.
Stese

응답에서 누락 된 내용을 얻지 못했습니다. powershell솔루션을 사용하면 메시지 상자가 나타납니다. msg내 의견에서 언급했듯이 솔루션을 사용할 때 아무 일도 일어나지 않습니다.
isalgueiro

나는 똑같이 시도했지만 powershell -WindowStyle hidden -File "<path to script>" 작동하지 않으며 -Command인수 로만 작동합니다 . powershell -WindowStyle hidden -Command "& '<path to script>'"
Mattia72
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.