Visualizzazione dei risultati da 1 a 7 su 7
  1. #1
    Utente di HTML.it
    Registrato dal
    Jul 2001
    Messaggi
    97

    C++ Bloccare l' orologio tramite Programma

    Ciao a tutti,
    il mio e' un quesito un po' strano, lo so e forse impossibile da attuare...
    Volevo sapere se era possibile tramite programma settare e bloccare l' orologio del sistema operativo Windows ad una data/ora prestabilita, tramite un programma, preferibilmente in C/C++

    Ciao e grazie a tutti

  2. #2
    L'orologio basandosi sul clock hardware, va avanti per i fatti suoi, per cui l'unica cosa che puoi fare è richiamare continuamente la API SetSystemTime passandole l'ora a cui vuoi "bloccare" l'orologio, a meno che tu per "bloccare" non intenda "impedire che l'utente la modifichi", nel qual caso ne abbiamo già parlato.
    Amaro C++, il gusto pieno dell'undefined behavior.

  3. #3
    Utente di HTML.it
    Registrato dal
    Jul 2001
    Messaggi
    97
    Ciao, grazie per la risposta.
    Il mio intento e' quello di avere l' orologio di sistema che mostri sempre la stessa ora.
    Lo scopo e' quello di far si che un programma indipendente dal mio, (in cui e' incluso una funzione random), generi sempre la stessa sequenza di numeri.

    Solitamente tali funzioni random vengono "inizializzate" usando l' orologio di sistema, al fine di ottenere sequenze numeriche sempre differenti.

    Il continuo SetSystemTime non penso mi possa aiutare dato che i programmi sono asincroni e tra una chiamata e l' altra dell'A.P.I. sopracitata, inevitabilmente intercorrera' un lasso di tempo.

    In questa finestra temporale il secondo programma chiamera' la funzione per la generazione random dei numeri.
    Il momento all' interno di questa finestra temporale sara' sempre diverso, di conseguenza anche la sequenza numerica dei numeri generati...

    Comunque grazie tantissimo per l'aiuto.
    Ciao e buona giornata

  4. #4
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,296
    Originariamente inviato da Trader
    Lo scopo e' quello di far si che un programma indipendente dal mio, (in cui e' incluso una funzione random), generi sempre la stessa sequenza di numeri.
    A che scopo?
    MARCO BREVEGLIERI
    Software and Web Developer, Teacher and Consultant

    Home | Blog | Delphi Podcast | Twitch | Altro...

  5. #5
    Utente di HTML.it
    Registrato dal
    Jul 2001
    Messaggi
    97
    Ciao Alka,
    guarda, lo scopo finale purtroppo per ora non te lo posso dire, ma mi riprometto che lo rendero' pubblico non appena avro' terminato i test ( penso in un paio di settimane) sperando di raggiungere il mio obiettivo.

    Se dovesse andare bene, sono sicuro che molti utenti ne potranno beneficiare.
    Condivisione gratuita, questo e' per me lo spirito di internet
    Ciao

  6. #6
    Credo anch'io che, se lo scopo è quello, il metodo che ti ho proposto sia assolutamente inadeguato; un'altra possibilità che mi viene in mente è di intercettare tutte le chiamate alle API che il programma effettua per ottenere data, ora e altre informazioni simili (può essere anche che si basi su API tipo GetTickCount o QueryPerformanceCounter) e restituire sempre lo stesso valore. Questo si potrebbe fare creando una dll stub compatibile a livello binario (e come nome, ovviamente) con kernel32.dll, che restituisca appunto sempre lo stesso valore per le API sopracitate e che invece per tutte le altre richiami la vera kernel32.dll.
    guarda, lo scopo finale purtroppo per ora non te lo posso dire, ma mi riprometto che lo rendero' pubblico non appena avro' terminato i test ( penso in un paio di settimane) sperando di raggiungere il mio obiettivo.
    Non ci dai neanche un'anticipazioncina?
    Amaro C++, il gusto pieno dell'undefined behavior.

  7. #7
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,296

    Moderazione

    Originariamente inviato da Trader
    guarda, lo scopo finale purtroppo per ora non te lo posso dire, ma mi riprometto che lo rendero' pubblico non appena avro' terminato i test
    Visto che si tratta di una pratica che può tranquillamente aggirare meccanismi di protezione, chiudo la discussione, poiché questo tipo di argomenti non sono ammessi nel forum, ma mi riprometterò di riaprirla quando avrai deciso di rendere pubblico di cosa si tratta.

    P.S.: hai fatto pure crossposting, tra l'altro.
    MARCO BREVEGLIERI
    Software and Web Developer, Teacher and Consultant

    Home | Blog | Delphi Podcast | Twitch | Altro...

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.