Computer rebooten/afsluiten

Alles over het toepassen van API en DLL's in Liberty BASIC

Moderator: anthonio

Computer rebooten/afsluiten

Berichtdoor anthonio » vr aug 15, 2008 6:26 am

Oké ben hier gisteren aan begonnen maar geraak er niet echt wijs uit.
Krijg een foutmelding dat er geen DLL is voor advapi32.

Code: Selecteer alles
nomainwin

WindowWidth = 100
WindowHeight = 100

button #main, "Shutdown", [Shutdown], UL, 10, 10

open "Shutdown Example" for window as #main
#main, "trapclose [Quit]"
wait

[Shutdown]

Machine$ = ""  'Null is local computer
Message$ = ""  'Null is no message
Time = 0       'Delay, Null is direct shutdown
Force = 1      '1 = direct shutdown, without asking
Reboot = 1     '0 = shutdown, 1 = reboot
ret$ = InitiateSystemShutdown$(Machine$, Message$, Time, Force, Reboot)
wait


[Quit]

close #main
end

Function InitiateSystemShutdown$(lpMachinename$, lpMessage$, dwTimeout, bForceAppsClosed, bRebootAfterShutdown)
    calldll #advapi32, "InitiateSystemShutdownA", _
        lpMachinename$ As ptr, _
        lpMessage$ As ptr, _
        dwTimeout As long, _
        bForceAppsClosed As long, _
        bRebootAfterShutdown As long
End Function
Dual boot: Ubuntu 8.04 - WIndows XP SP2 (via VMware) - Windows Vista 32bit - Toshiba L40 - Dual Core @ 1,76GHz - 1GB RAM - 120GB HDD - VDSL Connection
Avatar gebruiker
anthonio
 
Berichten: 281
Geregistreerd: zo mei 20, 2007 9:58 pm

Re: Computer rebooten/afsluiten

Berichtdoor anthonio » vr aug 15, 2008 1:11 pm

en hij doet het weer :mrgreen:
blijkbaar is er een VEEL simpelere api-call om je computer te laten rebooten/afsluiten/afmelden.

Code: Selecteer alles
'Made by anthonio (Andy)
'Use is free
'Questions (www.libertybasic.nl)

WindowWidth = 100
WindowHeight = 100

button #main, "Shutdown", [Shutdown], UL, 10, 10

open "Shutdown Example" for window as #main
#main, "trapclose [Quit]"
wait

[Shutdown]

'1 = Forces computer to log-off
'2 = logoff (no saving)
'3 = logoff (saving session)
'4 = Shut down and power off (if supported
'5 = Reboot
'6 = Shut down but does not power off the computer
r = ExitWindowsEx(3)
wait

[Quit]

close #main
end

Function ExitWindowsEx(flag)
    calldll #user32, "ExitWindowsEx",_
    uflag as long,_
    dwreserved as long
End Function

Dual boot: Ubuntu 8.04 - WIndows XP SP2 (via VMware) - Windows Vista 32bit - Toshiba L40 - Dual Core @ 1,76GHz - 1GB RAM - 120GB HDD - VDSL Connection
Avatar gebruiker
anthonio
 
Berichten: 281
Geregistreerd: zo mei 20, 2007 9:58 pm

Re: Computer rebooten/afsluiten

Berichtdoor Gordon » za aug 16, 2008 12:13 pm

Hmm.... advapi32 niet te vinden?
Misschien staat die DLL niet automatisch geopend?
Misschien moet je het eerst openen?

Volgens mij staan alleen
#user32
#kernel32
#gdi32
#winmm
#shell32
#comdlg32
#comctl32
standaard open.



Gordon
Avatar gebruiker
Gordon
Site Admin
 
Berichten: 684
Geregistreerd: zo mei 22, 2005 12:50 am

Re: Computer rebooten/afsluiten

Berichtdoor anthonio » za aug 16, 2008 7:03 pm

right, heb dat even over het hoofd gezien.
Ga het direct proberen en dan post ik de output wel.

Andy
Dual boot: Ubuntu 8.04 - WIndows XP SP2 (via VMware) - Windows Vista 32bit - Toshiba L40 - Dual Core @ 1,76GHz - 1GB RAM - 120GB HDD - VDSL Connection
Avatar gebruiker
anthonio
 
Berichten: 281
Geregistreerd: zo mei 20, 2007 9:58 pm


Keer terug naar API/DLL

Wie is er online

Gebruikers op dit forum: Geen geregistreerde gebruikers. en 1 gast

cron