Время

Тема в разделе "WASM.WIN32", создана пользователем AntiB, 30 авг 2007.

  1. AntiB

    AntiB New Member

    Публикаций:
    0
    Доброе время суток !
    Как из под windows-а узнать время? под Досом ето делаеться так:
    Код (Text):
    1. xor ax, ax
    2. mov es, ax
    3. mov eax, [es:0x46c]
    пробывал такое под виндой - невыходит, программирою на масм32 Зарание благодаер за любую инфу и извеняюсь за тупой вопрос ;)
     
  2. Quantum

    Quantum Паладин дзена

    Публикаций:
    0
    GetLocalTime (описание в MSDN)
     
  3. Freeman

    Freeman New Member

    Публикаций:
    0
    1) программируя пад винду забудь про дос и про то как там было легко все делать прерываниями
    2) купи/скачай МСДН
     
  4. Stub

    Stub New Member

    Публикаций:
    0
    имхо для начала и PSDK за глаза будет (а именно его хелпа)
     
  5. JAPH

    JAPH New Member

    Публикаций:
    0
    GetSystemTimeAsFileTime. Тоже читает ячейку памяти.
     
  6. int2eh

    int2eh Alexander Leevy

    Публикаций:
    0
    А чтобы увидеть человеческое время: GetDateFormat() и GetTimeFormat()
     
  7. Ultrin Faern

    Ultrin Faern New Member

    Публикаций:
    0
    Еще есть GetTickCount - очень похоже на то, что было в ДОСе :)
     
  8. JAPH

    JAPH New Member

    Публикаций:
    0
    Ultrin Faern
    RDTSC - оно и в Африке RDTSC :)
     
  9. iamlamer

    iamlamer New Member

    Публикаций:
    0
    > mov eax, [es:0x46c]

    Но это совсем не время! Это счетчик количества прерываний по вектору Irq0 от 0-го канала системного таймера, по умолчанию эти прерывания происходят один раз за 65535 тиков кварца, т.е. 18.2 раз в секунду. В Винде однозначный аналог трудно подобрать... ну, например, QueryPerformanceCounter() считает тики какого-то таймера, идущие с частотой QueryPerformanceFrequency(). Берешь тики, делишь на частоту, получаешь время с точностью до тика.