问题2:有没有办法通过编码实现  防止计算机用户修改系统时间;阻止时间对话框显示也好,替换掉时间对话框组件也好,只要有想法,欢迎大家讨论

解决方案 »

  1.   

    GetSystemTime返回UTC,GetLocalTime返回LocalTime.
      

  2.   

    1
    typedef struct _SYSTEMTIME
    {
       WORD   wYear;
       WORD   wMonth;
       WORD   wDayOfWeek;//星期由0开始递增(星期天是0)
       WORD   wDay;
       WORD   wHour;
       WORD   wMinute;
       WORD   wSecond;
       WORD   wMilliseconds;
    }SYSTEMTIME, * PSYSTEMTIME;
    SYSTEMTIME主要用于GetLocalTime和GetSystemTime函数。GetSystemTime函数传回目前的世界时间(Coordinated Universal Time,UTC),大概与英国格林威治时间相同。GetLocalTime函数传回当地时间,依据计算机所在的时区。这些值的精确度完全决定于使用者所调整的时间精确度以及是否指定了正确的时区。可以双击工作列的时间显示来检查计算机上的时区设定。
      

  3.   

    转换的方法SystemTimeToTzSpecificLocalTime/TzSpecificLocalTimeToSystemTime。
    第二个可以用FindWindow或钩子栏截时间属性对话框了或干脆限制用户的权限。
      

  4.   

    2
    在Windows 9x/ME中每个用户都可以通过在命令行状态下运行time命令来修改系统时间。
    要控制就扫描程序,把时间改回去
      

  5.   

    SYSTEMTIME st;
    GetSystemTime(&st);
    得到utc(格林威治标准时间)时间GetLocalTime(st);
    得到本地时间.typedef struct _SYSTEMTIME {
        WORD wYear;
        WORD wMonth;
        WORD wDayOfWeek;
        WORD wDay;
        WORD wHour;
        WORD wMinute;
        WORD wSecond;
        WORD wMilliseconds;
    } SYSTEMTIME, *PSYSTEMTIME, *LPSYSTEMTIME;个人认为用钩子来实现组织修改应该算比较方便的.
      

  6.   

    1.设好你所在的地区,如果是中国,则就设为中国北京那个时区
    2.如果要获得标准时间,就用GetSystemTime
    3. 如果要获得本地,即机器上的那个时间,就用GetLocalTime