- Today
- Total
SA_BLOG
[비주얼베이직] API를 이용하여 시스템 종료하기 본문
네이버 지식인 1:1 질문이 와서 API를 이용한 시스템 종료에 대해 알아보았다.
내가 찾은 방법은 2가지 이다.
1. ExitWindowsEx
2. InitiateSystemShutdown
위 2가지 API를 사용하기 위해서 NT계열은 시스템 종료를 위한 권한이 필요한데 권한을 얻는 방법은
(http://slaner.tistory.com/61)에서 알 수 있다.
----------------------------------------------------------------------------------
# 이 프로젝트파일은 VS 2013 Community 버전에서 만들어 졌습니다.
# 닷넷프레임워크 4.5 이상 설치되어 있어야 합니다.
----------------------------------------------------------------------------------
# ExitWindowsEx
- 사용할 수 있는 상수목록 -
1. EWX_LOGOFF = 0 // 로그오프
2. EWX_SHUTDOWN = 1 // 시스템 종료
3. EWX_REBOOT = 2 // 다시 시작
4. EWX_FORCE = 4 // 모든 윈도우를 닫고 시스템 종료
5. EWX_POWEROFF = 8 // 시스템을 종료하고 전원을 내림. (시스템 종료는 다 똑같아 보입니다. 제가 보기에는..)
(함수)
Private Declare Function ExitWindowsEx Lib "user32.dll" ( _
ByVal uFlags As Int32, _
ByVal dwReserved As Int32) As Int32
(사용 예)
ExitWindowsEx(EWX_SHUTDOWN, 0)
# InitiateSystemShutdown
(함수)
Private Declare Function InitiateSystemShutdown Lib "advapi32.dll" Alias "InitiateSystemShutdownA" ( _
ByVal lpMachineName As String, _
ByVal lpMessage As String, _
ByVal dwTimeout As Int32, _
ByVal bForceAppsClosed As Int32, _
ByVal bRebootAfterShutdown As Int32) As Int32
(사용 예)
InitiateSystemShutdown(Environment.MachineName(), vbNullString, 0, False, False)
'프로그래밍 > 비주얼베이직' 카테고리의 다른 글
[비주얼베이직] SQLite을 이용하여 DB 저장/불러오기 (0) | 2014.10.27 |
---|---|
정규식 이해한 내용 (0) | 2014.10.22 |
[비주얼베이직] 클래스, 변수, 프로시저에 주석달기 (0) | 2014.10.04 |
[비주얼베이직] 세자리 마다 콤마 찍어주기 (0) | 2014.10.03 |
[비주얼베이직] URI 인코딩 (0) | 2014.10.02 |