ll_libload wininet, "wininet.dll"
ll_getproc InternetOpen, "InternetOpenA", wininet
ll_getproc InternetOpenUrl, "InternetOpenUrlA", wininet
ll_getproc InternetCloseHandle, "InternetCloseHandle", wininet
ll_getproc HttpQueryInfo "HttpQueryInfoA", wininet
ll_libload kernel, "kernel32.dll"
ll_getproc SystemTimeToFileTime, "SystemTimeToFileTime", kernel
ll_getproc FileTimeToLocalFileTime, "FileTimeToLocalFileTime", kernel
ll_getproc FileTimeToSystemTime, "FileTimeToSystemTime", kernel
#module
#deffunc utctojst val, val
mref after, 16 : mref before, 17
ll_getptr before : ll_ret j.0
ll_getptr tmp : ll_ret j.1
ll_getptr after : ll_ret j.2
prm = j.0, j.1
ll_callfunc prm, 2, SystemTimeToFileTime@
prm = j.1, j.1
ll_callfunc prm, 2, FileTimeToLocalFileTime@
prm = j.1, j.2
ll_callfunc prm, 2, FileTimeToSystemTime@
return
#deffunc inetinit
mref stt, 64
prm = 0, 0, 0, 0, 0
agent = "hspbc"
ll_getptr agent : ll_ret prm
ll_callfunc prm, 5, InternetOpen@
ll_ret hinet : stt = hinet
return
#deffunc inetend onexit
if hinet : ll_callfunc hinet, 1, InternetCloseHandle@
return
#deffunc inetgettime str
mref url, 32
mref rstr, 65
prm = hinet, 0, 0, 0, 0x80000000, 0
ll_getptr url : ll_ret prm.1
ll_callfunc prm, 6, InternetOpenUrl@
ll_ret hfile
i = 16
prm = hfile, 0x4000000B, 0, 0, 0 // HTTP_QUERY_LAST_MODIFIED | HTTP_QUERY_FLAG_SYSTEMTIME
ll_getptr i.1 : ll_ret prm.2
ll_getptr i.0 : ll_ret prm.3
ll_callfunc prm, 5, HttpQueryInfo@
ll_callfunc hfile, 1, InternetCloseHandle@
utctojst i.0, i.1
j = i.0 >> 0 & 0xFFFF : rstr = "" + j
j = i.0 >> 16 & 0xFFFF : rstr += "/" + j
j = i.1 >> 16 & 0xFFFF : rstr += "/" + j
j = i.2 >> 0 & 0xFFFF : rstr += " " + j
j = i.2 >> 16 & 0xFFFF : rstr += ":" + j
j = i.3 >> 0 & 0xFFFF : rstr += ":" + j
return
#global
sdim url, 1024
url = "http://www.rinku.zaq.ne.jp/ultimate/img/banner.jpg"
objsize 100, 20
pos 10, 10 : input url, 420
pos 440, 10 : button "更新日取得", *getdate
inetinit
stop
*getdate
getpath name, url, 8
inetgettime url
dialog name + "の更新日は" + refstr
stop
|