2016-11-07 1 views
0

나는 작은 파워 쉘 스크립트를 가지고있어서 나를 위해 스스로 경보를 빠르게 설정할 수있다. 기본적으로 지정된 시간만큼 기다린 다음잠시 후 '메시지 * 알람'이 사라지는 이유는 무엇입니까?

msg * alarm!

메시지 상자가 나타납니다. 유일한 문제는 그것이 잠시 후에 사라진다는 것입니다. 그래서 제가 책상에 없다면 메시지 상자를 놓칠 것입니다.

문서에 따르면 found here은 시간 값을 지정하지 않은 경우의 동작입니다.

/시간 : 초 사용자가 보낸 메시지가 사용자 화면에 표시되는 시간을 지정합니다. 시간 제한에 도달하면 메시지가 사라집니다. 시간 제한을 설정하지 않으면 사용자가 메시지를보고 확인을 클릭 할 때까지 사용자 화면에 메시지가 남아 있습니다.

그러나 이것은 그렇지 않으며 사라집니다. 지금 당장은 그것을 유지하기 위해 임의로 높은 숫자를 지정해야합니다. 추적

msg * /time:999999 alarm! 
+0

때문이다 ? – Diskdrive

+0

프로그래밍/개발 관련 질문이 아닙니다. Windows 시스템 유틸리티의 동작에 대한 질문입니다. –

+0

@ Bill_Stewart - 정말요? 명령 줄 명령에 관한 질문은 현재이 사이트의 범위를 벗어 났습니까? 문자 그대로 이것에 대한 태그가 있습니다.이 질문은 300+ upvotes와 같습니다 (http://stackoverflow.com/questions/8055371/how-to-run-two-commands-in-one-line-in-windows-cmd) – Diskdrive

답변

2

전화의 msg.exe를 시작하고 그것을 999999의 최대 시간 제한 값을 전달할 때 관심의 기능을 다음 cdb 쇼와 :

command: msg * /time:999999 alarm

f423f(999999)의 시간 초과 값이 전달됩니다를 ~ rax 레지스터. 어떤 타임 아웃 값없이 msg.exe 시작

WINSTA!WinStationSendMessageW+0x353: 
000007fe`fbf1ec93 e874deffff  
call WINSTA!CSmartSession::ShowMessageBox (000007fe`fbf1cb0c) 
rax=00000000000f423f rbx=0000000000000000 rcx=0000000000000010 

(60)3cShowMessageBox 함수에 전달되는 것을 보여준다.

command: msg * alarm

WINSTA!WinStationSendMessageW+0x353: 
000007fe`fbf1ec93 e874deffff  
call WINSTA!CSmartSession::ShowMessageBox (000007fe`fbf1cb0c) 
rax=000000000000003c rbx=0000000000000000 rcx=0000000000000010 

내 생각 엔 설명서를이 나쁜 질문은 왜 확인이 사람이 설명 할 수없는 최신 (이제까지 인 경우)

+0

안녕 Lieven - 그냥 궁금해,이 cdb 명령을 추적하는 데 사용하고 무엇입니까? – Diskdrive

+0

나는이 하나를'cdb -c ".whilewhile (1) {tc; r}"msg.exe */time : 999999 alarm >> msgtrace.txt'라고 사용했다. 여러 가지 방법으로. 예를 들어 while 루프는 필요하지 않아야합니다. 왜냐하면 while 루프 때문에 디버거를 종료해야했습니다 ... –

관련 문제