Добрый день! Необходимо иметь возможность изменения системного времени Windows 7. Делаю это следующим образом:
В из основной программы запускаю другую маленькую программульку состоящую из окошка и кнопки, по кнопке выполняется функция:
void MainWindow::set_time()
{
SYSTEMTIME * my_time = new SYSTEMTIME;
my_time->wDay = 19;
my_time->wMonth = 8;
my_time->wYear = 2013;
my_time->wHour = 18;
my_time->wMinute = 30;
my_time->wSecond = 0;
if (SetSystemTime(my_time))
{
MessageBoxA(NULL,"Set OK","Time", MB_OK);
}
else
{
MessageBoxA(NULL,"Set FALSE","Time", MB_OK);
}
delete my_time;
}
Все работает, все ок, но хочу что то простое без гуя и кнопки в один файл - вроде этого:
#include <windows.h>
using namespace std;
int main(int argc, char *argv[])
{
SYSTEMTIME * my_time = new SYSTEMTIME;
my_time->wDay = 19;
my_time->wMonth = 8;
my_time->wYear = 2013;
my_time->wHour = 18;
my_time->wMinute = 30;
my_time->wSecond = 0;
if (SetSystemTime(my_time))
{
MessageBoxA(NULL,"Set OK","Time", MB_OK);
}
else
{
// Выводим окошко с ошибкой
void *cstr;
FormatMessageW(
FORMAT_MESSAGE_ALLOCATE_BUFFER | FORMAT_MESSAGE_FROM_SYSTEM,
NULL,
GetLastError(),
MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT),
(LPTSTR) &cstr,
0,
NULL
);
MessageBoxW(NULL,(wchar_t*)cstr,L"Time", MB_OK);
LocalFree(cstr);
// Просто месседж бокс
MessageBoxA(NULL,"Set FALSE","Time", MB_OK);
}
delete my_time;
return 0;
}
но эта программа не работает и ничего не изменяет, выдает ошибку "Параметр задан неверно", подскажите почему?