Windows programming

Moderators: None (Apply to moderate this forum)
Number of threads: 3711
Number of posts: 9173

This Forum Only
Post New Thread
Single Post View       Linear View       Threaded View      f

Report
Shutdown XP with one click code Posted by Juli on 25 Aug 2005 at 7:19 PM
If anyone is interested I have some source code that will shutdown WinXP/NT with a single mouseclick.


Report
Re: Shutdown XP with one click code Posted by Collegeboy on 19 Sept 2005 at 8:17 PM
: If anyone is interested I have some source code that will shutdown WinXP/NT with a single mouseclick.
:
:
:
tell me how..Im a beginner in programming...my email is right there..
Report
Re: Shutdown XP with one click code Posted by Luke7 on 20 Sept 2005 at 4:01 AM
: : If anyone is interested I have some source code that will shutdown WinXP/NT with a single mouseclick.
: :
: :
: :
: tell me how..Im a beginner in programming...my email is right there..
:

Here you go.

; shutdown.asm Shutdown an NT system (WinXP or NT)
.386
.model flat,stdcall
option casemap:none

include \masm32\include\windows.inc
include \masm32\include\user32.inc
include \masm32\include\kernel32.inc
include \masm32\include\advapi32.inc

include \masm32\macros\macros.asm

includelib \masm32\lib\kernel32.lib
includelib \masm32\lib\user32.lib
includelib \masm32\lib\advapi32.lib

; Local Prototypes
;-------------------
IsWinNT PROTO
ReqNTPrivilege PROTO :DWORD

.const
;-------------------
dwMaskNT DWORD 2

.data
;-------------------
msg_NotNT BYTE "This is NOT an NT system.",0
msg_NotPL BYTE "Privilege requested NOT granted.",13,"Unable to reboot.",0
AppName BYTE "ASM Win NT Shutdown",0

.code
;-------------------
start:
invoke IsWinNT
;----------------------------------------------------------------
; if is not an NT system we don't need other stuff and we can
; directly call ExitWindowsEx(), so this demo will exit.
;----------------------------------------------------------------
.if eax == FALSE
invoke MessageBox,NULL,addr msg_NotNT,addr AppName,MB_OK
invoke ExitProcess,NULL
.endif
;----------------------------------------------------------------
; with ReqNTPrivilege call, we ask for the 'SeShutdownPrivilege'
; note string names of possible privilege are in windows.inc
;----------------------------------------------------------------
invoke ReqNTPrivilege, SADD("SeShutdownPrivilege")
.if eax == FALSE
invoke MessageBox,NULL,addr msg_NotPL,addr AppName,MB_OK
invoke ExitProcess,NULL
.endif
invoke ExitWindowsEx, EWX_SHUTDOWN , 0 ; For Reboot, use EWX_REBOOT
invoke ExitProcess,NULL
;
;
IsWinNT proc
;------------------
; return TRUE (not zero) in eax if we are in win nt systems
;
LOCAL osvi:OSVERSIONINFO
;
mov osvi.dwOSVersionInfoSize, sizeof osvi
invoke GetVersionEx, addr osvi
.if eax == 0
ret
.endif
mov eax, osvi.dwPlatformId
and eax, dwMaskNT
ret
;-------------------
IsWinNT endp
;
;
ReqNTPrivilege proc lpPrivilegeName:DWORD
;-------------------
; return TRUE (not zero) in eax if privilege is granted
; lpPrivilegeName parameter points to a string with request privilege name
;
LOCAL hProcess:DWORD
LOCAL hToken:DWORD
LOCAL phToken:DWORD
LOCAL RetLen:DWORD
LOCAL pRetLen:DWORD
LOCAL tkp:TOKEN_PRIVILEGES
LOCAL tkp_old:TOKEN_PRIVILEGES
;
invoke GetCurrentProcess
mov hProcess, eax
lea eax, hToken
mov phToken, eax
invoke OpenProcessToken, hProcess, \
TOKEN_ADJUST_PRIVILEGES Or TOKEN_QUERY, \
phToken
.if eax != FALSE
lea eax, tkp.Privileges[0].Luid
invoke LookupPrivilegeValue, NULL, \
lpPrivilegeName, \
eax
lea eax, RetLen
mov pRetLen, eax
mov tkp.PrivilegeCount, 1
mov tkp.Privileges[0].Attributes, SE_PRIVILEGE_ENABLED
invoke AdjustTokenPrivileges, hToken, \
NULL, \
addr tkp, \
sizeof tkp_old, \
addr tkp_old, \
pRetLen
.endif
ret
;-------------------
ReqNTPrivilege endp
;
;
end start


Report
Re: Shutdown XP with one click code Posted by dede on 9 Nov 2005 at 4:32 PM
you can simpley write one line instead of all of this using ExitWindowsEx();
ExitWindowsEx(EWX_SHUTDOWN|EWX_FORCE,0);

dede




 

Recent Jobs

Official Programmer's Heaven Blogs
Web Hosting | Browser and Social Games | Gadgets

Popular resources on Programmersheaven.com
Assembly | Basic | C | C# | C++ | Delphi | Flash | Java | JavaScript | Pascal | Perl | PHP | Python | Ruby | Visual Basic
© Copyright 2011 Programmersheaven.com - All rights reserved.
Reproduction in whole or in part, in any form or medium without express written permission is prohibited.
Violators of this policy may be subject to legal action. Please read our Terms Of Use and Privacy Statement for more information.
Operated by CommunityHeaven, a BootstrapLabs company.