簡體   English   中英

如何在Qt中更改Windows系統時間?

[英]How to change windows system time in Qt?

我想更改系統時間,如何在Qt中更改Windows系統時間? 我用這種方式,但是失敗了!

#include <QApplication>
#include <iostream>
#include <time.h>
#include <windows.h>
#include <QDateTime>
#include <QDebug>
using namespace std;
bool setDate(int,int,int);      
int main(int argc, char *argv[])
{
   QApplication a(argc, argv);
   MainWindow w;
   w.show();
   qDebug()<<QDateTime::currentDateTime()<<endl;    //before change time                        
   if(setDate(2015,1,1))                           //set time
   {
     qDebug()<<QDateTime::currentDateTime()<<endl;  //if succeed,output time
   }  
   return a.exec();
}
bool setDate(int year,int mon,int day)
{
   SYSTEMTIME st;
   GetSystemTime(&st);    // Win32 API get time
   st.wYear=year;         //set year
   st.wMonth=mon;         //set month
   st.wDay=day;           //set day

  return SetSystemTime(&st);    //Win32 API set time
 }

先感謝您。

更改系統時間需要管理員權限。 這意味着您需要:

  • requireAdministrator選項添加到清單中,以便該程序始終具有管理員權限。 這是個壞主意,您不會在每次啟動時都喜歡UAC對話框。
  • 或者,通過啟動以管理員身份運行的單獨過程來更改時間。 另一個具有適當清單的可執行文件,一個以runas shell動詞開頭的進程,或者一個以COM高程名字開頭的進程。

如果您覺得這很麻煩,則需要閱讀UAC。 從這里開始: https : //msdn.microsoft.com/zh-cn/library/windows/desktop/dn742497(v=vs.85).aspx

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM