前言:
        一日,编程急需XP下调整系统时间的代码。最初想上网找吧,省事点,不料诺大一个internet,找个现成的代码居然如此困难(按理说应该有,不过我确实没找到)。只好自己写了,而且在这里贴出来,以便节省大家的时间。

正文:
在Win2000中,调整系统时间很eazy,只要运用如下代码即可。
在WinXP下用VC调整系统时间SYSTEMTIME st;
在WinXP下用VC调整系统时间
GetSystemTime(&st);       // gets current time
在WinXP下用VC调整系统时间
st.wHour = hour;          // adjusts hours 
在WinXP下用VC调整系统时间
st.wMinute = minutes;     // and minutes
在WinXP下用VC调整系统时间

在WinXP下用VC调整系统时间
if (!SetSystemTime(&st))  // sets system time



可是在XP下,直接这样使用的话,你会发现这样做没效果。因为进程缺少相应的权限。这在MSDN中说的很清楚:

SetLocalTime
....
Remarks
The SetLocalTime function enables the SE_SYSTEMTIME_NAME privilege before changing the local time. This privilege is disabled by default.


        怎么办呢?其实很简单,XP下关机的代码你有没有?有,那只要把其中修改进程权限的地方稍加改动,把SE_SHUTDOWN_NAME改为SE_SYSTEMTIME_NAME 即可。(没有?看下面的代码,还不快记在小本本上 ^_^)

在WinXP下用VC调整系统时间//XP下调整系统时间的演示
在WinXP下用VC调整系统时间
BOOL CSyncTimeDlg::SetSysTime()

相关文章:

  • 2021-11-17
  • 2022-12-23
  • 2022-01-08
  • 2021-12-19
  • 2022-12-23
  • 2021-10-25
猜你喜欢
  • 2022-01-17
  • 2022-01-30
  • 2021-11-17
  • 2022-01-22
  • 2021-05-30
  • 2021-12-21
  • 2021-11-17
相关资源
相似解决方案