Авторские разработки С++ MFC

О проекте | Новости | Статьи | Исх.тексты | Отзывы | Форум | Главная

 

DLL переустановки даты и времени на компьютере

Программа была создана для переустановки времени и даты компьютера без использования команд Дос date и time из Visual Foxpro  (неприятный эффект появления Dos окна). На самом деле, данная программа может быть использована в качестве шаблона для создания библиотек DLL (без использования MFC)

Исходный текст содержит две функции SetSysDate и SetSysTime которые, как не трудно догадаться, и занимаются установкой даты и времени используя библиотечную функцию SetLocalTime

Ниже приводится листинг функции SetSysDate. Функция принимает параметры День, Месяц, Год и возвращает ключ успешности поиска.

_declspec(dllexport) int CALLBACK SetSysDate(int iDay,int iMonth,int iYear)
{
    // структура для передачи  в SetLocalTime
    SYSTEMTIME SysDateTime;    
    int Ret;
    // для того, чтобы не терять текущее время используем
     //библиотечную функцию и заполняем структуру SysDateTime
    GetLocalTime(&SysDateTime);
    // присваиваем переданные значения
    SysDateTime.wYear=iYear;
    SysDateTime.wMonth=iMonth;
    SysDateTime.wDay=iDay;
    // и вызываем установку
    Ret=SetLocalTime(&SysDateTime);
    return Ret;
};

Для использования с Visual Foxpro можно предложить следующий листинг:

&& загрузим библиотеку
Declare SHORT SetSysDate in datetime INTEGER,INTEGER,INTEGER

?Date()  &&  проверим, какая дата
IF SetSysDate(40,1,1980)=0        && попробуем установить заведомо неправильную
    ? "Error"
ENDIF   
?Date() &&  проверим, какая дата
IF SetSysDate(1,1,1980)=0  && теперь установим первое января 1980 года
    ? "Error"
ENDIF   
?Date()  && а теперь вспоминайте какое было число на вашем компьютере.


Скачать полный текст datetime.arj (16 Kb)


 

http://progcpp.narod.ru E-mail: progcpp@narod.ru

Сайт создан в системе uCoz