解决typora因为系统时间问题无法打开(typora收费后beta版报错)

NO.1
问题描述
typora收费了,原来的开源版本设置了检测,超过某个日期,就强制提示不可用
提示信息如下
The beta version of typora is expired, please download and install a newer version.

NO.2
解决思路
先设置系统时间为某个指定年月日,本文演示为window
再脚本打开typora
然后同步网络时间,恢复系统时间
NO.3
代码示例
安装依赖
win32api
pip install pywin32

ntplib

pip install ntplib

pyinstall

pip install pyinstaller

python代码

import os
import time
import ntplib
import win32api


# 设置指定时间
def setTime():
    # print("设置指定时间")
    os.system("date 2022-02-25 time 15:54:50")


# 设置系统时间
def synchTime():
    c = ntplib.NTPClient()
    # time.windows.com或者pool.ntp.org
    response = c.request('time.windows.com')
    ts = response.tx_time
    _date = time.strftime('%Y-%m-%d', time.localtime(ts))
    _time = time.strftime('%X', time.localtime(ts))
    os.system('date {} && time {}'.format(_date, _time))
    # print("_date",_date)
    # print("_time",_time)


# 先设置指定时间
setTime()
# 错误处理
try:
    # 打开本地typora
    win32api.ShellExecute(0, 'open', 'E:\Typora\Typora.exe', '', '', 1)
    # 再同步网络时间
    synchTime()
except:
    # 再同步网络时间
    synchTime()

图标

打包代码

pyinstaller -w -F -i typora.ico -n typora.exe

右键使用管理员身份打开exe

因为写入系统时间需要管理员权限

END.

发表评论

您的电子邮箱地址不会被公开。