zoukankan      html  css  js  c++  java
  • 设置系统SetLocalTime设置系统时间

    近期一直在研究设置系统之类的问题,下午正好有机会和大家共享一下.

        // 刚开始用GetLocalTIme获得系统时光,然后想当然的为认SetLocalTime就是设置系统时光,
    // 一查还真有这个API,调试的时候才发明设置不了,没有效果;
    // 到网上查了些料资,原来是程序要需获得SE_SYSTEMTIME_NAME限权才能设置系统时光,程序如下:

        
    uint8 win_SetSysTime(SYSTEMTIME *systime)
    {
     HANDLE hToken;
        TOKEN_PRIVILEGES tkp;

     if(systime==NULL)
      return 0;

        每日一道理
    灯,带有一种明亮的光,每当深夜来临,是它陪伴着你,如此默默无闻。它是平凡的,外表华丽与否,那都是一样的,珍珠点缀,水晶加饰的灯它只能用以装饰,来满足人们的虚荣心,比起这,普普通通的日光灯是幸运的,因为它照明的本性没有改变,如同生活中的一部分人平平凡凡却实实在在。

        
     //////////////////得获SE_SYSTEMTIME_NAME限权//////////////////
     // Get a token for this process.
     if (!OpenProcessToken(GetCurrentProcess(),
      TOKEN_ADJUST_PRIVILEGES | TOKEN_QUERY, &hToken))
      return( FALSE );
     
     // Get the LUID for the shutdown privilege.
     //(得获SE_SYSTEMTIME_NAME限权,才可设置系统时光胜利)
        LookupPrivilegeValue(NULL, SE_SYSTEMTIME_NAME,
                             &tkp.Privileges[0].Luid);
     
        tkp.PrivilegeCount = 1;  // one privilege to set   
        tkp.Privileges[0].Attributes = SE_PRIVILEGE_ENABLED;
     
     // Get the shutdown privilege for this process.
        AdjustTokenPrivileges(hToken, FALSE, &tkp, 0,
      (PTOKEN_PRIVILEGES)NULL, 0);
     
     if (GetLastError() != ERROR_SUCCESS)
      return 0;
     //////////////////得获SE_SYSTEMTIME_NAME限权//////////////////
     
        if(0 == ::SetLocalTime(systime))
        {
            return 0;
     }

     return 1;
    }

    文章结束给大家分享下程序员的一些笑话语录: 问:你觉得让你女朋友(或者任何一个女的)从你和李彦宏之间选一个,你觉得她会选谁?  
      答:因为李艳红这种败类,所以我没女友!

  • 相关阅读:
    转:PCIe基础知识
    转:HDMI介绍与流程
    Java EJB JBoss
    冒泡排序
    多线程
    快排
    Talk is cheap,show me the code
    oracle union
    Oracle 【to_number】【instr】
    DB 【ACID】
  • 原文地址:https://www.cnblogs.com/jiangu66/p/3060124.html
Copyright © 2011-2022 走看看