IPB
ЛогинПароль:

> Внимание!

1. Пользуйтесь тегами кода. - [code] ... [/code]
2. Точно указывайте язык, название и версию компилятора (интерпретатора).
3. Название темы должно быть информативным.
В описании темы указываем язык!!!

Наладить общение поможет, если вы подпишитесь по почте на новые темы в этом форуме.

> SetSystemTime, Функции Win32 API в VS C++
сообщение
Сообщение #1


Профи
****

Группа: Пользователи
Сообщений: 920
Пол: Женский
Реальное имя: Марина

Репутация: -  2  +


Требуется установить системное время с использованием функции:

BOOL SetSystemTime(
const SYSTEMTIME* lpSystemTime
);



Вот что у меня получилось:

#include "stdafx.h"
#include "windows.h"
#include <stdio.h>
#include <conio.h>
#include <winbase.h>
#include <windef.h>

//....
SYSTEMTIME New_ST;
GetSystemTime(&New_ST);
printf("%02d \n", New_ST.wHour); //посмотрим, каким было системное время

New_ST.wHour = 10; //изменим часы
SetSystemTime(&New_ST);

GetSystemTime(&New_ST); //посмотрим результат
printf("%02d", New_ST.wHour);
getch();
//....



Скажи пожалуйста, правильно ли я использую функцию?
меня смущают получаемые результаты: например реальное время 18:...
результаты работы: до - 14, после 12...
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов
сообщение
Сообщение #2


Гость






Цитата
В чём может быть причина??
В том, что остальные поля (кроме wHour) содержат некорректные значения (ты ж их не инициализируешь никак). Если тебе надо изменить показания часов, надо сначала из прочитать, правда?

void __fastcall TForm1::Button14Click(TObject *Sender)
{
SYSTEMTIME New_ST;
char msgbuf[4096];

::GetSystemTime(&New_ST); // заполним все поля значениями
New_ST.wHour = StrToInt(Edit1->Text); // изменим часы
if(::SetSystemTime(&New_ST) == 0) {
//контроль ошибок
FormatMessage(FORMAT_MESSAGE_FROM_SYSTEM, NULL, GetLastError(),
MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT),msgbuf, sizeof(msgbuf), NULL );
Edit2->Text=msgbuf;
}
}

 К началу страницы 
+ Ответить 

Сообщений в этой теме


 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 





- Текстовая версия 2.06.2024 8:59
500Gb HDD, 6Gb RAM, 2 Cores, 7 EUR в месяц — такие хостинги правда бывают
Связь с администрацией: bu_gen в домене octagram.name