информационная безопасность
без паники и всерьез
 подробно о проектеRambler's Top100
Портрет посетителяАтака на InternetSpanning Tree Protocol: недокументированное применение
BugTraq.Ru
Русский BugTraq
 Анализ криптографических сетевых... 
 Модель надежности двухузлового... 
 Специальные марковские модели надежности... 
 Бэкдор в xz/liblzma, предназначенный... 
 Три миллиона электронных замков... 
 Doom на газонокосилках 
главная обзор RSN блог библиотека закон бред форум dnet о проекте
bugtraq.ru / форум / programming
Имя Пароль
ФОРУМ
если вы видите этот текст, отключите в настройках форума использование JavaScript
регистрация





Легенда:
  новое сообщение
  закрытая нитка
  новое сообщение
  в закрытой нитке
  старое сообщение
  • Напоминаю, что масса вопросов по функционированию форума снимается после прочтения его описания.
  • Новичкам также крайне полезно ознакомиться с данным документом.
[Win32] SetFileTime 10.09.02 02:38  Число просмотров: 1257
Автор: Tamas Статус: Member
<"чистая" ссылка>
сие чудо пишит время в UTC
просто от какектируй отнасительно чесавого поеса
<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-2024 Dmitry Leonov   Page build time: 0 s   Design: Vadim Derkach