#使用する技術
- ctypes
- PythonでC/C++の共有ライブラリを使用することができるライブラリ。
#必要条件
- 管理者権限での実行
#サンプルソース
Sample.py
# coding: Shift_JIS
from ctypes import Structure, windll, pointer
from ctypes.wintypes import WORD
# 時刻同期関数に渡してあげるための構造体を作成する。
class SYSTEMTIME(Structure):
_fields_ = [
('wYear', WORD),
('wMonth', WORD),
('wDayOfWeek', WORD),
('wDay', WORD),
('wHour', WORD),
('wMinute', WORD),
('wSecond', WORD),
('wMilliseconds', WORD),
]
# 設定する時刻の構造体にデータを入れる
setTimeData = SYSTEMTIME()
setTimeData.wYear = 2018
setTimeData.wMonth = 11
setTimeData.wDayOfWeek = 0 # 曜日は勝手に入る
setTimeData.wDay = 15
setTimeData.wHour = 17
setTimeData.wMinute = 0
setTimeData.wSecond = 0
setTimeData.wMilliseconds = 0
# 時刻同期する部分
SetLocalTime = windll.kernel32.SetLocalTime
ret = SetLocalTime(pointer(setTimeData))
# 結果判定
if ret == 0:
print('設定に失敗しました。管理者権限で実行してください。')
else:
print('成功しました。システムを終了します。')
#所感
Cの機能がPythonの手軽さで使えるので、
便利といえば便利。