Avatar billede doomstone-dk- Nybegynder
21. januar 2002 - 17:15 Der er 26 kommentarer og
1 løsning

Autodown

Jeg skal have lavet et lille program der når at når klokken er 00:00 skal den udføre disse 2 komandoer!

1: D:\\Web\\apache\\Apache.exe -d \"d:\\web\\apache\"  -k shutdown

2: og der efter skal den slukke computern!

Wn der kan hjælpe med det???
Avatar billede acid-head Nybegynder
21. januar 2002 - 17:20 #1
Uhh, lyder spændende... Lytter med... =)
Avatar billede chries Nybegynder
21. januar 2002 - 20:54 #2
Det her er ikke løsningen 100%, er ikke sikkert på den lukker 100% correct, men der skal bare den rigtige kombination til :-) Du laver en win32 application i visual c++ og overskriver alt med det her:

(programmet kører \"usynlig\" i baggrunden)

// Timer.cpp : Defines the entry point for the application.
//

#include \"stdafx.h\"
#include <stdio.h>
#include <string.h>
#include <time.h>
#include <stdlib.h>


int APIENTRY WinMain(HINSTANCE hInstance,
                    HINSTANCE hPrevInstance,
                    LPSTR    lpCmdLine,
                    int      nCmdShow)
{
    struct tm *newtime;

    time_t long_time;

    time( &long_time );                /* Get time as long integer. */
    newtime = localtime( &long_time ); /* Convert to local time. */

    int oldhour = newtime->tm_hour;

    while(1)
    {
        Sleep(1000);                        /* test every minut */

        time( &long_time );                /* Get time as long integer. */
        newtime = localtime( &long_time ); /* Convert to local time. */

        if( newtime == 0 )
        {
            return(2);
        }

        if( oldhour > newtime->tm_hour )
        {
            system( \"D:\\Web\\apache\\Apache.exe -d \\\"d:\\web\\apache\\\" -k shutdown\" );
//            system( \"RUNDLL USER.EXE,ExitWindows\" ); // win9x
//            system( \"RUNDLL32 SHELL32.DLL,SHExitWindowsEx 1\" ); // Me
            system( \"SHUTDOWN /L /T:10 /Y\" ); // NT/2000
            return(1);
        }

        oldhour = newtime->tm_hour;
    }

    return 0;
}


Avatar billede chries Nybegynder
21. januar 2002 - 20:55 #3
den er sat til at lukke win2000, du skal bare vælge linen der passer med dit os =)
Avatar billede chries Nybegynder
21. januar 2002 - 20:56 #4
den fungere ved hvert sekund at sammenligne om timerne er gået fra 23 til 0 (oldhour > newtime->tm_hour)
Avatar billede chries Nybegynder
21. januar 2002 - 20:59 #5
okey, har lige fundet ud at den ikke virker hvis den bliver startet kl 00.xx . laver lige en patch :-)



Avatar billede chries Nybegynder
21. januar 2002 - 21:04 #6
okey... virker alligevel :-)

oldhour = newtime->tm_hour; søger for at trække oldhour væk fra nul så (oldhour > newtime->tm_hour) kan blive sand :-)
Avatar billede chries Nybegynder
21. januar 2002 - 21:05 #7
søger = sørger
Avatar billede chries Nybegynder
21. januar 2002 - 21:07 #8
En rettelse
system( \"D:\\Web\\apache\\Apache.exe -d \\\"d:\\web\\apache\\\" -k shutdown\" );

ændres til:

system( \"D:\\\\Web\\\\apache\\\\Apache.exe -d \\\"d:\\web\\apache\\\" -k shutdown\" );
Avatar billede chries Nybegynder
21. januar 2002 - 21:13 #9
Har lige et forslag. Hvis du ikke har brug for koden og kører win2k/xp kan du bruge AT kommandoen. den udfører en task ved et bestemt tidspunkt du angiver. Så sætter du apache kommandoen til 00.00 og luk ned komandoen til 00.05 :-)

AT [\\\\computername] [ [id] [/DELETE] | /DELETE [/YES]]
AT [\\\\computername] time [/INTERACTIVE]
    [ /EVERY:date[,...] | /NEXT:date[,...]] \"command\"

\\\\computername    Specifies a remote computer. Commands are scheduled on the
                  local computer if this parameter is omitted.
id                Is an identification number assigned to a scheduled
                  command.
/delete            Cancels a scheduled command. If id is omitted, all the
                  scheduled commands on the computer are canceled.
/yes              Used with cancel all jobs command when no further
                  confirmation is desired.
time              Specifies the time when command is to run.
/interactive      Allows the job to interact with the desktop of the user
                  who is logged on at the time the job runs.
/every:date[,...]  Runs the command on each specified day(s) of the week or
                  month. If date is omitted, the current day of the month
                  is assumed.
/next:date[,...]  Runs the specified command on the next occurrence of the
                  day (for example, next Thursday).  If date is omitted, the
                  current day of the month is assumed.
\"command\"          Is the Windows NT command, or batch program to be run.

Avatar billede doomstone-dk- Nybegynder
21. januar 2002 - 21:16 #10
Hmm Chries jeg er ikke så meget inde i c++ så jeg forstod ikke helt hvad jeg skulle gøre med



Kommentar fra chries 
21/01 2002 21:04:36    okey... virker alligevel :-)

oldhour = newtime->tm_hour; søger for at trække oldhour væk fra nul så (oldhour > newtime->tm_hour) kan blive sand :-)
Avatar billede doomstone-dk- Nybegynder
21. januar 2002 - 21:17 #11
den køre Win2kAS
Avatar billede doomstone-dk- Nybegynder
21. januar 2002 - 21:44 #12
Chries jeg har lige sedet og leget lidt med det!
men kan ikke finde ud af det! men gider du ikke lave exe filen og senden den til doomstone@doomstone.dk så er du en gutter mand :0)
Avatar billede doomstone-dk- Nybegynder
21. januar 2002 - 22:08 #13
Hvilken type fil skal det gemmes som?
Avatar billede chries Nybegynder
21. januar 2002 - 22:44 #14
Har du visual c ?
Avatar billede chries Nybegynder
21. januar 2002 - 22:45 #15
version 6
Avatar billede doomstone-dk- Nybegynder
21. januar 2002 - 22:46 #16
hmm nope
Avatar billede chries Nybegynder
21. januar 2002 - 22:49 #17
Sender exe filen, så kan du jo se om den virker ordenlig :-)

der er lige et par mere ændringer

                system( \"D:\\\\Web\\\\apache\\\\Apache.exe -d \\\"d:\\\\web\\\\apache\\\" -k shutdown\" );
            system( \"SHUTDOWN /s /T 1\" ); // NT/2000
Avatar billede doomstone-dk- Nybegynder
21. januar 2002 - 22:51 #18
nice tak
Avatar billede doomstone-dk- Nybegynder
21. januar 2002 - 22:53 #19
OK jeg smutter i seng nu!
jeg fortæller dig imorgen om det virkede!
Avatar billede chries Nybegynder
21. januar 2002 - 22:55 #20
Du kan eventuelt bruge dette shareware program:
http://12ghosts.com/ghosts/shutdown.htm

kan en masse + køre programmer før den lukker pc\'en
Avatar billede doomstone-dk- Nybegynder
22. januar 2002 - 16:02 #21
Hmm programmet virker ikke men den startede noget op men den slukkede ikke!
Men tilgengel fuckede den mit win op så skal til at geninstalere nu :0(
Avatar billede chries Nybegynder
22. januar 2002 - 16:11 #22
Mit program er ikke istand til at anrette skade :-) Den forsøger at køre de to exe filer Apache.exe/Shutdown.exe. Finder den ikke filerne sker der ikke noget, finder den den, sker det de er lavet til :-)
Avatar billede doomstone-dk- Nybegynder
22. januar 2002 - 21:36 #23
Hmmm jeg har ihværtigfald fixet pcen nu!

men programmet virker ikke!

shutdown.exe skal den ligge hvor?
Avatar billede doomstone-dk- Nybegynder
22. januar 2002 - 22:30 #24
jeg kan ikke helt finde ud af det der 12Ghosts
Avatar billede chries Nybegynder
23. januar 2002 - 08:25 #25
Avatar billede chries Nybegynder
23. januar 2002 - 08:28 #26
Avatar billede chries Nybegynder
23. januar 2002 - 08:30 #27
shutdown.exe følger med min XP, for win2k ligger den vist i administrator pakken man kan hente hos ms (følger med server edition? )
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