Avatar billede fritter25 Nybegynder
29. august 2003 - 17:38 Der er 18 kommentarer og
1 løsning

Automatisk lukning af windows98

Jeg skal bruge et program, som skal køre selvstændigt på nogle win98 maskiner. Programmet skal kunne lukke maskinerne hvis de har været inaktiv i x antal timer eller lukke dem på et bestemt klokkeslet. Er der nogen som kender et sådan program? Kunne man evt forestille sig et script, som lå i en screensaver, og når denne screensaver blev aktiveret, så lukkede computeren ned?
Avatar billede arne_v Ekspert
29. august 2003 - 17:44 #1
Det er nemt at lukke dem ned.

Det vanskelige er at teste om de skal lukkes ned.
Avatar billede fritter25 Nybegynder
29. august 2003 - 18:10 #2
Hvad mener du med "Det vanskelige er at teste om de skal lukkes ned."? Det er ikke kun måske at de skal lukke. Maskinerne SKAL lukkes om aftenen. Har du evt en kode jeg kunne se?
Avatar billede onki Nybegynder
29. august 2003 - 18:13 #3
Du kan jo godt få dem til at lukke på et bestemt tidspunkt, ved at lave en "ny planlagt opgave" med en genvej til shutdown.exe
Avatar billede arne_v Ekspert
29. august 2003 - 18:22 #4
Koden til nedluk er bare:

ExitWindowsEx( EWX_SHUTDOWN + EWX_FORCE, 0 );

Det er selvfølgelig ikke så svært at lukke ned på et bestemt tidspunkt.

Men det er noget sværere at detecte inaktivitet !
Avatar billede fritter25 Nybegynder
30. august 2003 - 09:15 #5
Det lyder meget godt arne_v, men har du ikke hele programmet? Det er meget meget længe siden jeg har lavet noget med c++
Avatar billede jakobdo Ekspert
30. august 2003 - 19:36 #6
Kunne du ikke evt bruge et færdigt program: http://kabelnettet.tucows.com/files2/pwroff30.zip
Det er freeware...
Avatar billede driis Nybegynder
31. august 2003 - 18:43 #7
Hvis det kun er Win98 det skal fungere på, er arne_v's svar udmærket. Hvis det skal kunne køre på NT, 2000 eller XP, skal det modificeres lidt. Men et færdigt program der kan compiles ser således ud:

#include <windows.h>

int main()
{
    ExitWindowsEx( EWX_SHUTDOWN + EWX_FORCE, 0 );
    return 0 ;
}
Avatar billede driis Nybegynder
31. august 2003 - 18:45 #8
... erstat EWX_SHUTDOWN med EWX_POWEROFF , så slukkes maskinen også (hvis ellers hardwaren understøtter det).
Avatar billede fritter25 Nybegynder
02. september 2003 - 22:55 #9
Kan man ikke gøre sådan at, istedet for at computeren lukker ned på et givent tidspunkt, så lukker den istedet ned, så snart en screensaver bliver aktiveret? Kunne man evt forestille sig, at man kunne pege på en screensaver fra kildekoden?
Avatar billede fritter25 Nybegynder
02. september 2003 - 23:08 #10
............Eller er det ikke muligt at skrive dette program, som i har været så venlige at hjælpe mig med (Her tænker jeg på koden driis har lavet), for så derefter at ændre .exe filen til en .scr fil som man så kan aktivere under indstillingerne til pauseskærmen, hvor man jo så kan sætte den til 2 timer, og her vil computeren så lukke??
Avatar billede driis Nybegynder
03. september 2003 - 10:00 #11
Jeg kan ikke helt huske det; men så vidt jeg husker er .scr filer grundlæggende .exe filer, dog med nogle få forskelle. Men her står hvordan du kan lave en screensaver i C++. Så mangler du bare at sætte koden ind et passende sted:
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/vcsample98/html/_sample_mfc_saver.asp
Avatar billede fritter25 Nybegynder
03. september 2003 - 10:18 #12
Så pricipielt, kan man så "bare" lave .exe filen om til .scr eller hvad?
Avatar billede fritter25 Nybegynder
03. september 2003 - 10:21 #13
..........Jeg prøver det iaften, så skal jeg nok vende tilbage:-))
Avatar billede fritter25 Nybegynder
03. september 2003 - 17:34 #14
Når jeg prøver at kører programmet, så sker der ikke så meget. Jeg får bare en form frem. Min kildekode er:
#include <vcl.h>
#pragma hdrstop

#include "Unit1.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"


#include <windows.h>
  TForm1 *Form1;
int main()
{
    ExitWindowsEx( EWX_SHUTDOWN + EWX_FORCE, 0 );
    return 0 ;
}
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
        : TForm(Owner)
{
}
Avatar billede fritter25 Nybegynder
03. september 2003 - 17:51 #15
Forresten kører jeg BB5.0
Avatar billede fritter25 Nybegynder
03. september 2003 - 18:19 #16
Lige nu tester jeg programmet på en Win2000 maskine
Avatar billede driis Nybegynder
03. september 2003 - 20:34 #17
Jeg citerer lige mig selv: "Hvis det skal kunne køre på NT, 2000 eller XP, skal det modificeres lidt."
Avatar billede fritter25 Nybegynder
03. september 2003 - 21:49 #18
Nu har jeg testet programmet på en 98 maskine, men alt jeg får ud af det er, at programmet bare lukker vinduerne ned, og ikke computeren.
Samtidig er jeg blevet mere tændt på, at lave programmet om til en screensaver, og få den til at lukke efter 3 timers inaktivitet. Synes ikke rigtig jeg kunne få meget ud af overstående link. Jeg prøvede at lave .exe filen om til en .scr fil og lagde den derefter i system mappen. Under "Pauseskærm" valgte jeg min fil, men det der skete var bare, at den lukkede åbne vinduer med det samme, uden at jeg kunne nå at klikke ok. Kan dette løses?
Avatar billede fritter25 Nybegynder
03. september 2003 - 23:30 #19
Jeg har hermed accepteret dit svar driis, men prøver alligevel at oprette det igen, med de oplysninger du har været så venlig at hjælpe mig med. Mange tak for hjælpen.
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
Kurser inden for grundlæggende programmering

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