Foxtable(狐表)用户栏目专家坐堂 → 怎样通过代码变更客户端电脑时间与服务端电脑一致


  共有2446人关注过本帖树形打印复制链接

主题:怎样通过代码变更客户端电脑时间与服务端电脑一致

帅哥哟,离线,有人找我吗?
zunwoun
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:童狐 帖子:248 积分:3073 威望:0 精华:0 注册:2012/5/13 14:59:00
怎样通过代码变更客户端电脑时间与服务端电脑一致  发帖心情 Post By:2017/5/14 16:11:00 [只看该作者]

怎样通过代码修改变更客户端电脑时间与服务端电脑一致

 回到顶部
帅哥哟,离线,有人找我吗?
有点色
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:13837 积分:69650 威望:0 精华:0 注册:2016/11/1 14:42:00
  发帖心情 Post By:2017/5/15 8:53:00 [只看该作者]

获取服务器时间,可以这样

 

http://www.foxtable.com/webhelp/scr/2318.htm

 

 

设置时间,代码,只需要注意红色代码

 

Dim url As String = "http://api.k780.com:88/?app=life.time&appkey=10003&sign=b59bc3ef6191eb9f747dd4e83c99f2a4&format=json"
Dim rqst As System.Net.HttpWebRequest = System.Net.HttpWebRequest.Create(url)
Dim rsps As System.Net.HttpWebResponse = rqst.GetResponse
Dim stm As System.IO.Stream = rsps.GetResponseStream()
Dim reader As New System.IO.StreamReader(stm)
Dim str As String = reader.ReadToEnd
stm.Dispose()
Output.Show(str)

Dim data As object
Dim JscriptCode = "function toObject(json) {eval(""var o=""+json);return o;}"
Dim ScriptControl = CreateObject("MSScriptControl.ScriptControl")
With ScriptControl
    .Language = "Javascript"
    .Timeout = -1
    .AddCode(JscriptCode)
    data = .Run("toObject", str)
End With

Dim d As Date = data.result.datetime_1
Today = d
TimeOfDay = d


 回到顶部
帅哥哟,离线,有人找我吗?
zunwoun
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:童狐 帖子:248 积分:3073 威望:0 精华:0 注册:2012/5/13 14:59:00
  发帖心情 Post By:2017/5/15 12:24:00 [只看该作者]

非常感谢

 回到顶部
帅哥哟,离线,有人找我吗?
zunwoun
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:童狐 帖子:248 积分:3073 威望:0 精华:0 注册:2012/5/13 14:59:00
  发帖心情 Post By:2017/5/16 0:39:00 [只看该作者]

执行时显示“没有足够的安全权限设置系统日期”,怎么办呢?

 回到顶部
帅哥哟,离线,有人找我吗?
有点色
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:13837 积分:69650 威望:0 精华:0 注册:2016/11/1 14:42:00
  发帖心情 Post By:2017/5/16 8:52:00 [只看该作者]

以下是引用zunwoun在2017/5/16 0:39:00的发言:
执行时显示“没有足够的安全权限设置系统日期”,怎么办呢?

 

用管理员权限运行你的exe程序。

 

图片点击可在新窗口打开查看


 回到顶部
帅哥哟,离线,有人找我吗?
zunwoun
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:童狐 帖子:248 积分:3073 威望:0 精华:0 注册:2012/5/13 14:59:00
  发帖心情 Post By:2017/5/16 10:10:00 [只看该作者]

有没有办法通过代码解决?

 回到顶部
帅哥哟,离线,有人找我吗?
有点色
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:13837 积分:69650 威望:0 精华:0 注册:2016/11/1 14:42:00
  发帖心情 Post By:2017/5/16 11:13:00 [只看该作者]

试试这样

 

beforeOpenProject事件,写代码

 

Dim str As String = Registry.getvalue("HKEY_CURRENT_USER\Software\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers", ApplicationPath & "foxtable.exe", "")
If str = "" Then
    Registry.SetValue("HKEY_CURRENT_USER\Software\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers", ApplicationPath & "foxtable.exe", "RUNASADMIN")
    e.cancel = True
    Application.restart
End If


 回到顶部
帅哥哟,离线,有人找我吗?
zunwoun
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:童狐 帖子:248 积分:3073 威望:0 精华:0 注册:2012/5/13 14:59:00
  发帖心情 Post By:2017/5/24 14:37:00 [只看该作者]

按照这种方法修改,win10系统通不过,怎么办?


 回到顶部
帅哥哟,离线,有人找我吗?
有点色
  9楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:13837 积分:69650 威望:0 精华:0 注册:2016/11/1 14:42:00
  发帖心情 Post By:2017/5/24 15:07:00 [只看该作者]

以下是引用zunwoun在2017/5/24 14:37:00的发言:

按照这种方法修改,win10系统通不过,怎么办?

 

直接设置用管理员权限运行。没有权限,肯定是不能修改时间的。


 回到顶部