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

Ustalenie daty w c++

VPS Starter Arubacloud
0 głosów
263 wizyt
pytanie zadane 27 października 2022 w C i C++ przez piotr_domanski Bywalec (2,040 p.)
Witam,

Właśnie robię projekt który ma już ponad 2000 tys. linii kodu. Narodził mi się pewien pomysł w głowie. Mój program posiada licencję. Czy da się ustawić od którego momentu ma działać program i kiedy ma wypisać Twoja licencja wygasła. Korzystam z biblioteki winbase.h, potrafię sczytać z systemu aktualną datę i godzinę rok miesiąc. Tylko nie wiem jak ustawić konkretny moment że np.:   miesiąc== moment do którego można było korzystać z programu.  

Chodzi głównie o to, żeby program sczytał aktualną datę.

I gdy sczyta aktualną datę i wykona się warunek, że termin został przekroczony. Jak mam do zapisać. Pomysł jest dobry tylko nie wiem jak to zapisać w kodzie. Czy ktoś może podpowiedzieć jak to mogę zrobić?
komentarz 27 października 2022 przez Velta Maniak (51,890 p.)

Pomysł jest dobry

Na pewno? Czas w systemie operacyjnym to wartość przechowywana lokalnie – użytkownik może ją zmieniać tak, by zawsze pasowała do terminu udzielonej licencji.

1
komentarz 28 października 2022 przez SzkolnyAdmin Szeryf (86,280 p.)

@piotr_domanski, tak z ciekawości: napisałeś sam 2 miliony linii kodu?

komentarz 28 października 2022 przez Oscar Nałogowiec (29,290 p.)
edycja 28 października 2022 przez Oscar

@piotr_domanski, Nie sprawdzaj na wystąpienie konkretnej daty, tylko na jej przekroczenie. Użytkownik może przecież określonego dnia w ogóle nie uruchomić programu/komputera.

Tylko sprecyzuj problem, bo raz piszesz, że umiesz przeczytać datę, drugi raz, że takie odczytanie to problem.

W takim wieloetapowym porównaniu najważniejsza jest kolejność - najpierw sprawdzasz część najbardziej znaczącą - czyli w przypadku daty to będzie rok. Jak jest większy to masz przekroczenie czasu, jak mniejszy to nie. Gdy jest równy to nie wiadomo - trzeba sprawdzić analogicznie miesiąc.

Są też funkcje, które zwracają date i czas w postali liniowej - jako jedną liczbę (zwykle liczbę sekund od ustalonego momentu). Wtedy wystarczy zwykłe, pojedyncze porównanie.

komentarz 28 października 2022 przez j23 Mędrzec (194,920 p.)

@Velta, pamiętam, jak w latach dziewięćdziesiątych patent z przestawianiem zegara działał z wersjami trial.

komentarz 29 października 2022 przez Oscar Nałogowiec (29,290 p.)
Teraz praktycznie każdy komputer jest podłączony do sieci i może sprawdzić czas na który  użytkownik nie ma wpływu.

1 odpowiedź

0 głosów
odpowiedź 30 października 2022 przez jankustosz1 Nałogowiec (35,880 p.)
Masz 2 sposoby:

1) Prostszy i skuteczniejszy. Odpytywać serwer i on będzie sobie sprawdzał czy licencja się zgadza.

2) Bardziej skomplikowany, bez konieczności używania internetu. Przy instalacji zapisać informację do rejestru o początku licencji i dacie. Podczas używania programu co jakiś czas zapisywać datę i czas ostatniego użytkowania. Jeżeli data z czasem ostatniego użytkowania jest większa niż obecna to użytkownik coś kombinuje i wyłączamy program. Jeżeli w rejestrze nie ma klucza też wyłączamy program. Dodatkowo, każdy wpis do rejestru powinien mieć wygenerowany hash code przez program, jeżeli hash się nie będzie zgadzał, to użytkownik coś modyfikował i też wyłączamy program.

Podobne pytania

+2 głosów
2 odpowiedzi 114 wizyt
0 głosów
0 odpowiedzi 61 wizyt
0 głosów
0 odpowiedzi 440 wizyt

92,454 zapytań

141,262 odpowiedzi

319,089 komentarzy

61,854 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

Akademia Sekuraka 2024 zapewnia dostęp do minimum 15 szkoleń online z bezpieczeństwa IT oraz dostęp także do materiałów z edycji Sekurak Academy z roku 2023!

Przy zakupie możecie skorzystać z kodu: pasja-akademia - użyjcie go w koszyku, a uzyskacie rabat -30% na bilety w wersji "Standard"! Więcej informacji na temat akademii 2024 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!

...