информационная безопасность
без паники и всерьез
 подробно о проектеRambler's Top100
За кого нас держат?Spanning Tree Protocol: недокументированное применение
BugTraq.Ru
Русский BugTraq
 Анализ криптографических сетевых... 
 Модель надежности двухузлового... 
 Специальные марковские модели надежности... 
 Очередное исследование 19 миллиардов... 
 Оптимизация ввода-вывода как инструмент... 
 Зловреды выбирают Lisp и Delphi 
главная обзор RSN блог библиотека закон бред форум dnet о проекте
bugtraq.ru / форум / programming
Имя Пароль
если вы видите этот текст, отключите в настройках форума использование JavaScript
ФОРУМ
все доски
FAQ
IRC
новые сообщения
site updates
guestbook
beginners
sysadmin
programming
operating systems
theory
web building
software
hardware
networking
law
hacking
gadgets
job
dnet
humor
miscellaneous
scrap
регистрация





Легенда:
  новое сообщение
  закрытая нитка
  новое сообщение
  в закрытой нитке
  старое сообщение
[C++] [Win32] Попробуй так 10.09.02 19:12  Число просмотров: 1247
Автор: Tamas Статус: Member
<"чистая" ссылка>
посматри эту фичу LocalFileTimeToFileTime
<programming>
[Win32] SetFileTime 08.09.02 17:50  
Автор: Pavel-F Статус: Незарегистрированный пользователь
<"чистая" ссылка>
Дело такое , пытаюсь я поменять время последней записи в файл с помощью этой функции:

BOOL SetFileTime(
HANDLE hFile, // handle to file
CONST FILETIME *lpCreationTime, // creation time
CONST FILETIME *lpLastAccessTime, // last-access time
CONST FILETIME *lpLastWriteTime // last-write time
);

например вот так

st.wHour = 4;
FILETIME file_time;
::SystemTimeToFileTime(&st, &file_time);
BOOL ret = ::SetFileTime(m_hFile, NULL, NULL, &file_time);

В результате файлу присваивается время создания 8 часов а не 4.
Делаю вывод - это функция пытается преобразовать системное время в локальное. Но у меня (Питер) GMT +3, а 8-4 = 4 странно :( ??

Пытался писать свою функцию по преобразованию локального времени в системное, но нифига не получилось такак, как 8-4 = 4 а не 3, ведь GetTimeZoneInformation возвращает именно 3 часа .

Суть в одном мне надо установить свое время (напримаер 01.02.03), а не то которое винда за меня решит.

Может кто уже воевал??
[Win32] SetFileTime 10.09.02 02:38  
Автор: Tamas Статус: Member
<"чистая" ссылка>
сие чудо пишит время в UTC
просто от какектируй отнасительно чесавого поеса
[Win32] Как это сделать? 10.09.02 18:49  
Автор: Pavel-F Статус: Незарегистрированный пользователь
<"чистая" ссылка>
Как например?

Вообще помогает функция
TzSpecificLocalTimeToSystemTime() - НО у нее минимум Win2000, а мне нужно под Win9x

как бы мне это самому провернуть?

пробывал так

TIME_ZONE_INFORMATION tzi;
::GetTimeZoneInformation(&tzi);
int hour_bias = tzi.Bias / 60;
DATE lDate, sDate;
FileTimeToVariantTime(lt, lDate);
sDate = lDate + double(hour_bias) / 24.0;
VariantTimeToFileTime(sDate, st);

-- всеравно получается разница в час :((
[C++] [Win32] Попробуй так 10.09.02 19:12  
Автор: Tamas Статус: Member
<"чистая" ссылка>
посматри эту фичу LocalFileTimeToFileTime
1




Rambler's Top100
Рейтинг@Mail.ru


  Copyright © 2001-2025 Dmitry Leonov   Page build time: 0 s   Design: Vadim Derkach