Avatar billede mr-kill Nybegynder
25. oktober 2007 - 18:27 Der er 8 kommentarer og
1 løsning

varm reboot?

Kan det la' sig gøre at lave en funktion i C# der kan lave en varm reboot i Vista? Altså computeren skal ikke genstarte BIOS kun Windows. Jeg ved ikke om det overhovdet kan la' sig gøre at gøre det i Vista? Før XP og Vista kunne man holde shift nede og trykke reboot, men det kan man ikke mere.

I ASM kan med gøre dette:

;  0000h - cold boot.
;  1234h - warm boot.
MOV    AX, 0040h
MOV    DS, AX
MOV    w.[0072h], 0000h ; cold boot.

JMP    0FFFFh:0000h    ; reboot!

Men jeg vil jo gerne have at Windows får lov at lukke ordenligt ned og gemme det den vil på min hard disk først. Det tror jeg ikke den gør når jeg bruger denne måde i asm?

Hvis det kan la' sig gøre i andre sprog, så er det også okey, dog helst C# ;)

Håber nogen kan hjælpe :)
Avatar billede c-skau Nybegynder
25. oktober 2007 - 18:38 #1
Har du prøvet at søge lidt i Microsofts MSDN ?
Det lyder som om du prøver at finde en "legitim" måde at gøre det på, så det er nok i sidste ende der du skal finde svaret.
Avatar billede sherlock Nybegynder
26. oktober 2007 - 01:07 #2
System.Diagnostics.Process.Start("Shutdown", "/r")
Avatar billede sherlock Nybegynder
26. oktober 2007 - 01:15 #3
Og hvis du ikke kan lide at køre et eksternt program er her lidt inspiration:


        [DllImport("user32.dll")]
        public static extern int ExitWindowsEx(int uFlags, int dwReason); 


        private void shutdown()
        {
            ExitWindowsEx(1, 0);
        }

        private void reboot()
        {
            ExitWindowsEx(2, 0);
        }

        private void logoff()
        {
            ExitWindowsEx(0, 0);
        }
Avatar billede mr-kill Nybegynder
26. oktober 2007 - 19:09 #4
c-skau >> Jeg har prøvet at søge på både google og MSDN, men synes ikke jeg kan finde noget som helst om det. Det er søger behøver ikke være 100% "legitimt", hvis man f.eks. kan lave en normal reboot og så lige nå at smide en ny værdi ind, så det bliver til "varm" reboot.

sherlock >> System.Diagnostics.Process.Start("Shutdown", "/r") er ikke noget jeg kan bruge til noget. Jeg kan godt finde ud af at slukke eller genstarte normalt, men det er jo ikke det jeg forsøger?

Jeg kan slet ikke forstå hvis der ikke er lavet en smart funktion i win-API til det?
Avatar billede sherlock Nybegynder
26. oktober 2007 - 20:37 #5
En reboot af windows svarer til en warmboot af dos.
Avatar billede sherlock Nybegynder
26. oktober 2007 - 20:51 #6
Ehm. Det har jeg vist ikke ret i :)
Avatar billede mr-kill Nybegynder
26. oktober 2007 - 20:54 #7
En varm boot af en computer er bare hvor den ikke geninslæser bios med "kun" OS
Avatar billede c-skau Nybegynder
28. oktober 2007 - 00:39 #8
Måske synes det er sule off-topic, men jeg fandt denne artikel ved en hurtigt Google search: http://www.codejacked.com/accidental-hoax-revealed/
Noget kunne jo godt tyde på at Microsoft ikke finder det "sikkert" nok, med en varm boot længere.
I følge artiklen har den feature ikke været mulig siden win98.
Kunne godt forestille mig at de helt har fjernet muligheden - selv i APIen.
Avatar billede mr-kill Nybegynder
28. oktober 2007 - 01:10 #9
Du har nok ret. Som jeg skrev i først indlæg så har det ikke været muligt at gøre det ved at holde shift nede, siden 98. Det er nok slet ikke muligt mere.

Jeg lukker. Hvis nogen finder en løsning så sig til, så laver jeg et nyt spørgsmål :)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester