• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Czas zamykania systemu program

Object Storage Arubacloud
0 głosów
112 wizyt
pytanie zadane 11 lutego 2018 w C i C++ przez Lukas_91 Nowicjusz (130 p.)

int main()
{

	HANDLE hToken;
	OpenProcessToken(GetCurrentProcess(), TOKEN_ADJUST_PRIVILEGES | TOKEN_QUERY,
		&hToken);

	// Build a token privilege request object for shutdown
	TOKEN_PRIVILEGES tk;
	tk.PrivilegeCount = 1;
	tk.Privileges[0].Attributes = SE_PRIVILEGE_ENABLED;
	LookupPrivilegeValue(NULL, TEXT("SeShutdownPrivilege"), &tk.Privileges[0].Luid);

	// Adjust privileges
	AdjustTokenPrivileges(hToken, FALSE, &tk, 0, NULL, 0);

	cout <<"Program zamykajacy system" << endl;
	int choice,decision,a=0;
	while (a == 0) {
	cout << "Zamknac system??"<< endl;
	cin >> choice;


	
		if (choice == 1) {
			cout << "Podaj czas zamkniecia systemu  (sekundach)" << endl;
			int close;
			cin >> close;
			ExitWindowsEx(SHUTDOWN_POWEROFF, close);
			
			
		}   
		cout << "Press 1 to break shuting down" << endl;
		cin >> decision;

		if (decision == 1) {
			cout << "PRZERWANO ZAMYKANIE SYSTEMU" << endl;
			system("shutdown /a");
			system("pause");

		}
		cout << "Zamykanie" << endl;
		
		system("cls");
		cout << "Wcisnij 1 zeby wyjsc z programu" << endl;
		cin >> a;

		system("cls");
	}

	

	
	return 0;
}

Cześć, Mam pytanie wiecie ,może jak nazywa się funkcja , która planuje kiedy ma sie zamknąć system. Próbowalem ,użyc ExitWindowsEx ale nie udało mi się tego zrealizować , ponieważ system zamykał się odrazu po wykonaniu pierszego if'a. Wiem ,że można uzyć system( komenda i czas). Chodzi mi oto ,że chce ,żeby to użytkownik mógł o tym zdecydować .Szukam w dokumentacji MSDN , ale nie mogłem znaleźć tego dla systemu windows 10. Drodzy koledzy mogliby posłużyć radą i swoim doświadczeniem.

1 odpowiedź

0 głosów
odpowiedź 11 lutego 2018 przez niezalogowany
komentarz 11 lutego 2018 przez Lukas_91 Nowicjusz (130 p.)
Ja znam komendę shutdown  /s -t 3600

gdybym zrobił tak :

to oczywiscie ,że to działa

system("shutdown  /s -t 3600")

ale , chce żeby użytkownik zdecydować w programie kiedy ma się ten system zamknąć.

funkcja system jest jedno argumentowa. a  Przypadku ExitWindows mam dwu agrumentową funkcje. Szukam drugie argumentu dla tej funkcji.Która decyduje o czasie
1
komentarz 11 lutego 2018 przez Kacper Sas Dyskutant (8,460 p.)

W takim razie przetestuj to ;)

#include <iostream>
#include <string>
#include <windows.h> // dla funkcji Sleep()

using namespace std;

int main(void) {
	
	string sCommand = "cl";
	sCommand += "s";
	
	cout << "Raz dwa trzy | test" << endl;
	
	Sleep(1000);
	
	system(sCommand.c_str());
	
	cout << "tset | yzrt awd zaR" << endl;
	
	return 0;
}

Wniosek:

Inicjalizacja string na początek ze stałą częścią komendy:

string sCommand = "shutdown /s -t ";

pamiętając o spacji po "-t".

Potem dodasz sobie do zmiennej sCommand czas gdy będziesz go znał.

No i wykonanie komendy ze zmienną sCommand jako argument koniecznie z metodą "c_str()".

Podobne pytania

0 głosów
0 odpowiedzi 246 wizyt
0 głosów
1 odpowiedź 81 wizyt
pytanie zadane 7 grudnia 2021 w JavaScript przez TheDarkSide Użytkownik (930 p.)
0 głosów
0 odpowiedzi 159 wizyt
pytanie zadane 26 listopada 2017 w C# przez jankustosz1 Nałogowiec (35,880 p.)

92,555 zapytań

141,403 odpowiedzi

319,560 komentarzy

61,941 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...