reboot_api.exe 첨부파일
DOS 명령어를 이용해 간단하게 재부팅 기능을 구현할 수 있습니다.
shutdown.exe 파일인데요... 우리가 가끔 DOS에서 이용하는 외부명령어 입니다.
내부명령어와, 외부 명령어는 잘 아시죠?
CLS, DIR, COPY...등은 내부 명령어,,,
XCOPY, FDISK, CHKDSK, SHUTDOWN 과 같은 명령어(엄밀히 말하면, DOS 파일명)등은 실행파일로 돌아가는
외부 명령어로 구분지어집니다.
십년도 넘은 기억이라 새롭네요.ㅎㅎㅎ
18년전까지만 해도(Windows95 출시전)활발하게 사용하던 명령어들입니다.
shutdown은 Win2000 버전부터 추가된 명령어입니다.
구현방법은 간단합니다.
shutdown /r /t 0 이라고 명령어를 입력하면 됩니다.
옵션설명
/r : 다시시작하라
/t : 시간을 나타냅니다. 값을 0을 주게 되면 즉시 실행하라는 뜻이죠.
/s : 시스템 종료를 나타닙니다.
*기본적으로 /t 옵션을 사용하지 않으면 30초 이후 실행하는 것으로 간주됩니다.
폼박스에 버튼1,2,3 을 만들고 아래와 같이 코딩하면 됩니다.
Public Class Form1
Private Sub Form1_KeyDown(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs)
If e.KeyCode = Keys.Escape Then
Me.Close()
End If
End Sub
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim a As Integer
a = MsgBox("재부팅 하시겠습니까?", vbYesNoCancel + vbExclamation, "알림!")
If a = vbYes Then
Shell("C:\Windows\System32\shutdown.exe /r /t 0")
ElseIf a = vbNo Then
'
ElseIf a = vbCancel Then
'
End If
End Sub
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
Dim a As Integer
a = MsgBox("PC를 종료 하시겠습니까?", vbYesNoCancel + vbExclamation, "알림!!")
If a = vbYes Then
Shell("c:\windows\system32\shutdown.exe -s -t 0")
ElseIf a = vbNo Then
'
ElseIf a = vbCancel Then
'
End If
End Sub
Private Sub Button3_Click_1(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click
End
End Sub
End Class
실행화면입니다.
사용목적은 사용자의 활용하기에 따라 달라지겠지만,,,
저같은 경우, 원격데스크탑을 주로 사용합니다.
이때 문제점이... 재부팅이 필요할때 가장 불편합니다.
원격으로는 pc재부팅이 힘듭니다.
재부팅 또는 종료할 수 있는 기능이 생략됩니다.
시스템종료 또는 재부팅 버튼이 있어야 할 자리에, 연결끊기가 있죠?
이래서 항상 도스에서 shutdown -r -t 0 이러한 명령을 입력해야 해서
단순하게 몇줄로 귀차니즘을 해결 할 수 있습니다.ㅎㅎㅎ
코드 활용도에 따라서 이걸 응용하면, 알람pc를 만들 수 있습니다.
몇시 몇분에 PC 종료하기, 재부팅하기,,, 등등
약간의 테크닉만 발휘한다면 시스템 로그를 통한, 몇시몇분에 PC를 켰고 종료 했는지 로그정보를 계속 저장하여
PC런타임 통계도 가능하겠죠?ㅎㅎ
'VB.NET' 카테고리의 다른 글
VB.NET 복사 & 붙여넣기 한글 깨짐 현상 해결 방법 (1) | 2013.05.14 |
---|---|
[VB.NET] USB드라이브 찾기 (0) | 2013.04.05 |