English
Source / code snippets

Bestimmter Shutdown Message computer Time

 

CompileMarkSeparation
Source wurde am 15.07.2007 aus der MMJ-Quellcodesammlung (Dietmar Horn) in die Babyklappe auf XProfan.Com abgelegt:
Rechner nach bestimmter Zeit herunterfahren und Message ausgeben
Diese Funktion gibt es nur unter NT-basierten Windowssystemen.
Def @Initiatesystemshutdown(5) !ADVAPI32,InitiateSystemShutdownA
Def @Lookupprivilegename(4)! advapi32,LookupPrivilegeNameA
Def @Lookupprivilegevalue(3) !advapi32,LookupPrivilegeValueA
Def @Openprocesstoken(3) !advapi32,OpenProcessToken
Def @Adjusttokenprivileges(6) !advapi32,AdjustTokenPrivileges
Def @Getcurrentprocess(0) !kernel32,GetCurrentProcess
Def @Closehandle(1) !kernel32,CloseHandle
Declare Message$,Time&,Newstate#,Token#,System$
Declare Privileg#,Luid#
Dim Token#,4
Dim Newstate#,16
Dim Luid#,8
Dim Privileg#,256
Long Newstate#,0 = 1 Nur ein Privileg soll geändert werden
Long Newstate#,12 = $00000002 Das Privileg soll eingeschaltet werden
Print @Openprocesstoken( @Getcurrentprocess(), $0020 | $0008, Token#)
String Privileg#,0 = SeShutdownPrivilege
Print @Lookupprivilegevalue( 0, Privileg#, Luid#)
Byte Newstate#,4 = @Byte( Luid#, 0 )
Byte Newstate#,5 = @Byte( Luid#, 1 )
Byte Newstate#,6 = @Byte( Luid#, 2 )
Byte Newstate#,7 = @Byte( Luid#, 3 )
Byte Newstate#,8 = @Byte( Luid#, 4 )
Byte Newstate#,9 = @Byte( Luid#, 5 )
Byte Newstate#,10 = @Byte( Luid#, 6 )
Byte Newstate#,11 = @Byte( Luid#, 7 )
Print @Adjusttokenprivileges( @Long( Token#, 0), 0, Newstate#, 0, 0, 0)
Long Newstate#,0 = 1 Nur ein Privileg soll geändert werden
Long Newstate#,12 = $00000002 Das Privileg soll eingeschaltet werden
Print @Openprocesstoken( @Getcurrentprocess(), $0020 | $0008, Token#) Es wird ein Process mit dem Handle Token gestartet, der Privilegien für mein Programm einstellen soll.
String Privileg#,0 = SeRemoteShutdownPrivilege
Print @Lookupprivilegevalue( 0, Privileg#, Luid#)
Byte Newstate#,4 = @Byte( Luid#, 0 )
Byte Newstate#,5 = @Byte( Luid#, 1 )
Byte Newstate#,6 = @Byte( Luid#, 2 )
Byte Newstate#,7 = @Byte( Luid#, 3 )
Byte Newstate#,8 = @Byte( Luid#, 4 )
Byte Newstate#,9 = @Byte( Luid#, 5 )
Byte Newstate#,10 = @Byte( Luid#, 6 )
Byte Newstate#,11 = @Byte( Luid#, 7 )
Print @Adjusttokenprivileges( @Long( Token#, 0), 0, Newstate#, 0, 0, 0)
Let Time& = 60
Let Message$ = Der Rechner wird neu gestartet!
Print @Initiatesystemshutdown( @Addr(System$), @Addr(Message$), Time&, 1, 1)
@Closehandle( @Long( Token#, 0))
Dispose Luid#
Dispose Privileg#
Dispose Newstate#
Dispose Token#
Waitinput
 
07/16/07  
 



Zum Quelltext


Topictitle, max. 100 characters.
 

Systemprofile:

no Systemprofil laid out. [anlegen]

XProfan:

 Posting  Font  Smilies  ▼ 

Please register circa a Posting To verfassen.
 

Topic-Options

2.018 Views

Untitledvor 0 min.
p.specht08/31/16
Juergen Baier02/16/12
AndreasS11/26/11

Themeninformationen

this Topic has 1 subscriber:

unbekannt (1x)


Admins  |  AGB  |  Applications  |  Authors  |  Chat  |  Privacy Policy  |  Download  |  Entrance  |  Help  |  Merchantportal  |  Imprint  |  Mart  |  Interfaces  |  SDK  |  Services  |  Games  |  Search  |  Support

One proposition all XProfan, The there's!


My XProfan
Private Messages
Own Storage Forum
Topics-Remember-List
Own Posts
Own Topics
Clipboard
Log off
 Deutsch English Français Español Italia
Translations

Privacy Policy


we use Cookies only as Session-Cookies because of the technical necessity and with us there no Cookies of Drittanbietern.

If you here on our Website click or navigate, stimmst You ours registration of Information in our Cookies on XProfan.Net To.

further Information To our Cookies and moreover, How You The control above keep, find You in ours nachfolgenden Datenschutzerklärung.


all rightDatenschutzerklärung
i want none Cookie