2014-09-02 3 views
3

내가 찾은 윈도우 종료를 취소 C#을 내가 그렇게 종료 Windows 용 예약 할 수있는 온라인 프로그래밍

private void button1_Click(object sender, EventArgs e) 
{ 
    // Shutdown 
    Process.Start("shutdown", "/s /t 10"); 

} 
private void button2_Click(object sender, EventArgs e) 
{ 
    // Cancel Shutdown 
    Process.Start("shutdown /a"); 
} 

그래서 나는 버튼에 연결 한 더 위를 호출하는. 이 종료를 취소하는 명령을 다른 단추에 묶어 둘 수있는 방법이 있습니까?

내가 검색 피난처있다; t 유용한 것을 발견, 나는

Process.Start("cmd.exe", "shutdown /a"); 
or 
Process.Start("shutdown /a"); 

같은 몇 가지 물건을 발견하지만 그 중 어느 것도 작동 보인다.

호출 프로세스. 시작 ("종료/a"); 타입 'System.ComponentModel.Win32Exception'의

되지 않은 예외의 결과

+3

당신은 버튼 이벤트의 코드를 표시 할 수 있습니다 :

은 윈도우의 명령에 내장 된 사용? 아마도 당신은'CanCancel'을 확인할 수있는 곳에서 할 필요가 있지만 약간의 코드를 기반으로 말할 수는 없습니다. – MethodMan

+0

올바르게 실행하려면 WM_QUERYENDSESSION (http://hintdesk.com/c-catch- 종료 이벤트 - of - 컴퓨터 /). SessionEnding 이벤트도 있습니다. http://msdn.microsoft.com/en-us/library/microsoft.win32.systemevents.sessionending%28v=vs.110%29.aspx – hatchet

+0

메시지와 메시지를 포함하면 도움이 될 것입니다. 예외의 StackTrace입니다. –

답변

0

Process.Start를 ("종료", "/ A") System.dll을 발생; 종료가

Process.Start를 사용하여 예약 된 경우

는 ("종료", "/ s/t 60") 일 것이다;

하지만 이미 시작된 종료 (즉, 60 초 경과)는 취소되지 않습니다. http://technet.microsoft.com/en-gb/library/bb491003.aspx

+0

나는 이것이 작동하고 있다고 생각한다. – user3916570