Skocz do zawartości
andixad

Polecenie (info, Wyl. Kompa)

Rekomendowane odpowiedzi

witam

chcialbym sie dowiedziec jakiego zrobic plik *.bat , ktory by dzialal w okreslonych godzinach zaraz po uruchomieniu komputera. najlepiej jak by mozna bylo nim ustawic zeby jakis program sie nie uruchamial {np antywirus(zeby sie za dlugo nie ladowal)}, i w okienku (tak jak wyskakuje error) podac jakas informacje, oraz zeby np 15 sekund podaniu info w tym okienku nastapilo wyłaczenie komputera np poleceniem "shutdown -s -t 0".

I nie wiem tez jak tego bata ustawic w narzedziach administracyjnych (czy w 'Uslugi' czy 'Zarzadzanie komputerem'...) zeby bat tem byl uruchamiany w godzinach np 15.00-16.00.

Za wszelkie mozliwe odpowiedzi, porady i uwagi z gory dzieki. :-|

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

Oj widze ze sie szykujesz na napisanie "wirusa". Nieladnie. Niestety w takich sprawach ci pomoc nie moge. To forum nie jest od takich rzeczy. Poszukaj gdzie indziej

to gdzie mam tego szukac jak nie tu, chcialem to dla siebie, torzebuje czegos takiego, zeby mi w chacie nie wlaczali mi pc-ta w okreslonych godzinach bo mnie to przeszkadza :mur: <_<

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

Ciekawe bardzo...

 

Tymbardziej, że windows umozliwia blokowannie logowania w wybranych godzinach...

ja niby jak bo nie wiem, nie znam sie na programowaiu po porostu portzebujwe czegos do zablokowania kompa, byle by nie bylo mozliwosci jego uruchomienia go w danym czasie. Podajcie co kolwiek co by moglo spelnic to zadanie.

 

kto to widzial ze jakis laik (tak jak ja) ktory nie zna sie nai programowaniu wirusy nagle zaczal tworzyc :mur:

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

no włąśnie to głównie laicy chcą sie popisać rpzed światem :D.. wiem bo sam jak byłem laikiem bardziej niż teraz.. to pisałem wirusy :wacko: :26: - ale na szczęście nie wypuszczałem ich w świat :D.. a jeśli juz to w ściśle określonym towarzystwwie 8)

 

poza tym z bata nie zablokujesz pulpitu etc... zawsze bęzdie możliwość przerwania wykonywania bata...

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

moze ktos wkoncu napisze cos konkretnego na temat.

 

mnie nie interesuje pisanie jakis wirusow, dosyc ich w necie jest, po za tym nie mam 15 lat zeby siedziec godzinami na kompie i bawic sie w tworzenie wirusow,(2 lata siedzialem na informie, programowanie zaczelo mnie w***wiac :mur: ), mam nadzieje ze na tym forum sa jeszcze jacys normalni co umieja podpowiedziec innym, a nie odrazu wyzywac od hakerow..itd.

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

Dla C++ można takie coś skrobnąć:

 

#include <iostream.h>#include <fstream.h>#include <Windows.h>int main(void){SYSTEMTIME now, beg, end;GetSystemTime(&now);char tmp;ifstream config("config.dat");config>>beg.wHour;config>>tmp;config>>beg.wMinute;config>>tmp;config>>end.wHour;config>>tmp;config>>end.wMinute;if ( (beg.wHour*60+beg.wMinute<now.wHour*60+now.wMinute) && (end.wHour*60+end.wMinute>now.wHour*60+now.wMinute))system("shutdown -s -t 0"); return 0;}

Skompilować to można np w DevC++ (do znalezienia w Sieci).

 

Aby dodać program do autostartu, trzeba go skopiować (lub skrót do niego) do katalogu Autostart w Menu Start (dla wszystkich użytkowników):

C:\Documents and settings\All users\Menu start\Autostart

Konfiguracja programu powinna zawierać się w pliku "config.dat" w tym samym katalogu, co program. Wewnątrz plik powinien mieć taką postać:

12:00-15:00
gdzie 12 to godzina początkowa, a 15 to końcowa, w której komputer ma być blokowany. Edytowane przez ULLISSES

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

Dla C++ można takie coś skrobnąć:

 

#include <iostream.h>

#include <fstream.h>

...

Taka mala uwaga... W c++ nie ma .h przy includach. Nowy standard iso tego zabrania. Niestety na wielu uczelniach niekumaci profesorowie jeszcze tak ucza programowac w borland c++ :P

 

nalezy robic tak:

#include <iostream>#include <fstream>using namespace std;
Edytowane przez Nargil

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

Dla C++ można takie coś skrobnąć:

 

#include <iostream.h>#include <fstream.h>#include <Windows.h>int main(void){SYSTEMTIME now, beg, end;GetSystemTime(&now);char tmp;ifstream config("config.dat");config>>beg.wHour;config>>tmp;config>>beg.wMinute;config>>tmp;config>>end.wHour;config>>tmp;config>>end.wMinute;if ( (beg.wHour*60+beg.wMinute<now.wHour*60+now.wMinute) && (end.wHour*60+end.wMinute>now.wHour*60+now.wMinute))system("shutdown -s -t 0"); return 0;}

Skompilować to można np w DevC++ (do znalezienia w Sieci).

 

Aby dodać program do autostartu, trzeba go skopiować (lub skrót do niego) do katalogu Autostart w Menu Start (dla wszystkich użytkowników):

C:\Documents and settings\All users\Menu start\Autostart

Konfiguracja programu powinna zawierać się w pliku "config.dat" w tym samym katalogu, co program. Wewnątrz plik powinien mieć taką postać:

12:00-15:00
gdzie 12 to godzina początkowa, a 15 to końcowa, w której komputer ma być blokowany.

a czy mozna tu uruchomic poprzez gpedit.msc (Konfiguracja komputera | Ustawienia systemu Windows | Skrypty (uruchamianie/zamykanie)) w "uruchamianie" wpisujac sciezke programu ktory ma zostac zaladowany????

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

mam nadzieje ze na tym forum sa jeszcze jacys normalni co umieja podpowiedziec innym, a nie odrazu wyzywac od hakerow..itd.

a kto tu Cie wyzwał od hakera...? Do hakera to trochę Ci brakuje, napewnoe więcej niż mi... na to miano trzeba sobie zasłużyć... :) a Twoje pytanie napewno nie spowodowało że ktokolwiek posądzł Cię o bycie hakerem :wink:

 

no to masz pare rozwiazań... tak jak chciałeś..

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

Taa. Nowe ISO. Jak nowe? Jak na razie to tylko Dev C++ się o to rzuca (od całkiem niedawna). Żadna dosowa wersja C++ się tym nie przejmuje. Również VC++ 6 nic o tym nie wie... Dopiero VS 2005 ma takie zmiany.

 

Jednak nie zmienia faktu, iż jest to kwestia kosmetyki, która nie ma wpływu na poprawność i działanie programu.

Co więcej poważnym błędem (twórców kompilatora) będzie, gdy jakiś kompilator wywali błąd zamiast ostrzeżenia i zatrzyma kompilację.

Na koniec uwzględniając fakt, iż obecne kompilatory (te bardziej profesjonalne) akceptują składnię każdego języka wysokiego poziomu (pascal/delphi, c/cpp oraz chyba vbasic), wprowadzenie takich zmian w języku jest bezcelowe.

Edytowane przez ULLISSES

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

Jak na razie to tylko Dev C++ się o to rzuca (od całkiem niedawna). Żadna dosowa wersja C++ się tym nie przejmuje. Również VC++ 6 nic o tym nie wie... Dopiero VS 2005 ma takie zmiany.

No nie dziwne w przypadku programów z ubiegłego stulecia :) :wink:

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

ULLISSES: ale ty mnie nie przekonuj ze tak jak piszesz dziala :P Skoro czesc kompilatorow sie wyklada na kodzie jaki napisales to lepiej stosowac "nowa" wersje ktora dziala na wszystkich ( lacznie z borland c++ 3.0 ). Swoja droga to vc++ 2003 i g++ akceptuja taki kod jak napisales ?

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

a kto tu Cie wyzwał od hakera...? Do hakera to trochę Ci brakuje, napewnoe więcej niż mi... na to miano trzeba sobie zasłużyć... :) a Twoje pytanie napewno nie spowodowało że ktokolwiek posądzł Cię o bycie hakerem :wink:

 

no to masz pare rozwiazań... tak jak chciałeś..

dzieki ci mily panie :rolleyes:

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

Taka mala uwaga... W c++ nie ma .h przy includach. Nowy standard iso tego zabrania. Niestety na wielu uczelniach niekumaci profesorowie jeszcze tak ucza programowac w borland c++ :P

 

nalezy robic tak:

#include <iostream>#include <fstream>using namespace std;
taa bez tej poprawki program mi nie dziala. :wink:

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

Nargil:

Pod VC++ 2003 i g++ nie próbowałem. Nie widzę sensu testować tego pod każdym kompilatorem. To nie jest żadna poważna aplikacja, od której zależą losy świata.

Poza tym napisałem przy kodzie, iż można go skompilować w Dev C++. Będzie również działał w każdym starszym kompilatorze.

To, że 2 najnowsze wersje kompilatorów komercyjnych (na które realnie nie stać przeciętnego użytkownika) oraz jakieś tam wersje edukacyjne nie akceptują zupełnie tego zapisu, to akurat ich problem. Brak kompatybilności wstecznej to poważna wada, która nie powinna mieć miejsca. Dev C++ wywala ostrzeżenie, ale kompiluje - i tak powinno być. Jak ktoś będzie chciał, to sobie poprawi na "nowy standard iso", lub dopisze do kompilatora to: "-Wno-deprecated" :P

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

Oczywiście plik config.dat był w tym samym katalogu, co plik exe i masz Windows 2000/XP/2003/MC?

Jaki kompilator masz?

 

Uruchom linię poleceń w Windows (CMD), przejdź do katalogu z programem i uruchom. Czy jest jakiś komunikat?

 

Ogólnie coś musiałeś namieszać. Program jest tak prosty, że MUSI działać.

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

po:

ifstream config("config.dat");

 

dopisz

if(!config.good()) cout << "Blad, nie ma pliku config.dat";

 

i sprawdz czy cos wypisuje na ekran

 

zamiast

ifstream config("config.dat");

 

mozesz zrobic:

ifstream config("c:\\config.dat"); // lub inna sciezka

 

pamietaj tylko ze w c masz \\ a nie \

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

Nargil: zrobilem jak kazales, ale jak uruchomie exe to tylko na moment wyskoczy czarne okienko i nic. oczywiscie config.dat jest w c:\.

 

Oczywiście plik config.dat był w tym samym katalogu, co plik exe i masz Windows 2000/XP/2003/MC?

Jaki kompilator masz?

 

Uruchom linię poleceń w Windows (CMD), przejdź do katalogu z programem i uruchom. Czy jest jakiś komunikat?

 

Ogólnie coś musiałeś namieszać. Program jest tak prosty, że MUSI działać.

1. byl w w tym samym katalogu, mam Xp'ka

2. devcpp-4.9.9.2

3. nie ma zadnego komunikatu.

Niby jest tak jak piszecie, ale zadzialac nie chce :cry:

 

jedyne co mi wyskoczylo przy usuwaniu cpp do kosza: 'C:\prog.cpp has been rezamed or deleted...'

post-114112-1138824771_thumb.jpg

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

Pomiędzy "system" i "return" dopisz to:

cout<<"czas dzialania programu: od "<<beg.wHour<<":"<<beg.wMinute<<" do "<<end.wHour<<":"<<end.wMinute<<endl;cout<<"obecnie jest godzina: "<<now.wHour<<":"<<now.wMinute<<endl;system("pause");

Niepoprawne godziny (np 65535:65535) lub ich brak oznacza, iż program nie może odczytać ustawień.

 

Edit:

Już wiem, gdzie może być haczyk! Jak uważa się ktoś za dobrego programistę (albo przynajmnie myśli logicznie), to niech powie, na czym polega problem. Jeśli przez najbliższą godzinę nikt nie poda rozwiązania, to sam je podam... Do wygrania: chwała i podziw forumowiczów :P

 

PS. Szkoda, że dałem Wam wcześniej dużą podpowiedź... :(

Edytowane przez ULLISSES

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

Dołącz do dyskusji

Możesz dodać zawartość już teraz a zarejestrować się później. Jeśli posiadasz już konto, zaloguj się aby dodać zawartość za jego pomocą.

Gość
Dodaj odpowiedź do tematu...

×   Wklejono zawartość z formatowaniem.   Przywróć formatowanie

  Dozwolonych jest tylko 75 emoji.

×   Odnośnik został automatycznie osadzony.   Przywróć wyświetlanie jako odnośnik

×   Przywrócono poprzednią zawartość.   Wyczyść edytor

×   Nie możesz bezpośrednio wkleić grafiki. Dodaj lub załącz grafiki z adresu URL.

Ładowanie


×
×
  • Dodaj nową pozycję...