*init_updateManager
objprm 64,"準備中"
exist "hspinet.dll"
if strsize=-1{
isEnableUpdCheck=0
whyDisableUpdCheck="hspinet.dllのロードに失敗"
}else{
netinit
if stat {
isEnableUpdCheck=0
whyDisableUpdCheck="hspinet.dllのロードに失敗"
}else{
isEnableUpdCheck=1
UserAgent="TTManager/"+AppVerInt+" ("
// Windows 11か10かそれ以外か判定
#uselib "ntdll.dll"
#func RtlGetVersion "RtlGetVersion" sptr
dim OSVERSIONINFO, 37
OSVERSIONINFO = varsize(OSVERSIONINFO)
RtlGetVersion varptr(OSVERSIONINFO)
majorVersion = OSVERSIONINFO(1)
buildNumber = OSVERSIONINFO(3)
if (majorVersion >= 10) {
if (buildNumber >= 22000) {
UserAgent+="Windows11.0; "
}else{
UserAgent+="Windows10.0; "
}
}else{
UserAgent+=sysinfo(0)+"; "
}
UserAgent+=GetUserDefaultLCID()
UserAgent+=")"
strrep UserAgent,"NT ver",""
netagent UserAgent
}
}
return
*UpdateCheck
objenable 64,0
if AlreadyinitUpdateManager!=1 : gosub *init_updateManager : AlreadyinitUpdayeManager=1
if isEnableUpdCheck{
objprm 64,"更新を確認中"
neturl "https://tentmochi.com/api/update/TTManager32/v1/getLatest.txt"
netrequest_get ""
repeat 16
netexec res
if res>0 {
netgetv buf
buf=cnvatos(buf)
notesel buf
noteget tmp,0
if strlen(tmp)>16 {
dialog "更新確認に失敗しました。\n\n原因:サーバの応答が異常です。",1
noteunsel
break
}
if instr(tmp,0,"dead")=0 {
dialog "開発を終了しました。\n今後メンテナンスはされないため、使用の中止をお勧めします。\nこれまでありがとうございました。",1
end
}else:if AppVerInt=tmp {
if isFirst{
isFirst=0
}else{
dialog "最新版をお使いです。"
}
}else{
out ="更新が可能です!\n\n現在のバージョン:"+AppVerInt+"\n最新のバージョン:"+tmp+"\n\n"
out+="更新方法:\nhttps://tentmochi.com/tool/TTManager32/ にアクセスし、\n最新版をダウンロードし、how_to_upgrade.txtを見てください。\n\n"
dialog out,0
}
noteunsel
break
}
if res<0 {
neterror tmp
tmp=cnvatos(tmp)
dialog "更新確認に失敗しました。\n\n原因:"+tmp,1
break
}
await 100
if cnt=15 {
dialog "更新確認に失敗しました。\n\n原因:タイムアウトしました",1
}
loop
}else{
dialog "更新確認に失敗しました。\n\n原因:"+whyDisableUpdCheck,1
}
objprm 64,"更新確認"
objenable 64,1
return 0