by うぱ » 2007年4月01日(日) 13:45
> 以下にgoogleのトップページから5バイト読み取る例を挙げます
>
>
[ここをクリックすると内容が表示されます] [ここをクリックすると非表示にします]コード: 全て選択
> 'wininetの宣言
> Declare Function InternetOpen Lib "wininet" Alias "InternetOpenA" (Agent As BytePtr,AccessType As DWord,ProxyName As BytePtr,ProxyBypass As BytePtr,flags As DWord) As HANDLE
> Declare Function InternetCloseHandle Lib "wininet" (hInternet As HANDLE) As Long
> Declare Function InternetOpenUrl Lib "wininet" Alias "InternetOpenUrlA" (hInternet As HANDLE,Url As BytePtr,Headers As BytePtr, HeaderSize As DWord, flags As DWord,Context As DWord) As HANDLE
> Declare Function InternetReadFile Lib "wininet" (hInternet As HANDLE,buf As VoidPtr,BufSize As DWord,ByRef ReadSize As DWord) As Long
>
> '定数
> Const INTERNET_OPEN_TYPE_DIRECT = 1
>
> '変数等
> Dim hInet As HANDLE,hInetUrl As HANDLE
> Dim buf[5] As Byte
> Dim ReadSize As DWord
>
> 'インターネットハンドル取得
> hInet = InternetOpen("hoge1.0",INTERNET_OPEN_TYPE_DIRECT,NULL,NULL,0)
> 'URLハンドル取得(第2引数にアクセスしたいURLを入れる)
> hInetUrl = InternetOpenUrl(hInet,"http://www.google.co.jp/",NULL,0,0,0)
> '5バイト読む
> InternetReadFile(hInetUrl,buf,5,ReadSize)
> 'ハンドルを閉じる
> InternetCloseHandle(hInetUrl)
> InternetCloseHandle(hInet)
[/url]
>
> InternetReadFileの後にDebugを仕掛ければbufの中身が"<html"になってる事が確認できるかと思います
> これを前回述べた”最新バージョンの番号が書かれたテキスト”に対して行えば、最新版のバージョン番号が読み取れます
> これをアプリケーションの側で定義しておいた自身のバージョンと比較します
trioさん、ありがとうございます。
大まかな流れは理解できたので、なんとかなりそうです。
ps.最初に書き込んだ時にパスワードがどうしても思い出せなくて…適当なHNで書いてしまいました(笑)
> 以下にgoogleのトップページから5バイト読み取る例を挙げます
>
> [hide][code]
> 'wininetの宣言
> Declare Function InternetOpen Lib "wininet" Alias "InternetOpenA" (Agent As BytePtr,AccessType As DWord,ProxyName As BytePtr,ProxyBypass As BytePtr,flags As DWord) As HANDLE
> Declare Function InternetCloseHandle Lib "wininet" (hInternet As HANDLE) As Long
> Declare Function InternetOpenUrl Lib "wininet" Alias "InternetOpenUrlA" (hInternet As HANDLE,Url As BytePtr,Headers As BytePtr, HeaderSize As DWord, flags As DWord,Context As DWord) As HANDLE
> Declare Function InternetReadFile Lib "wininet" (hInternet As HANDLE,buf As VoidPtr,BufSize As DWord,ByRef ReadSize As DWord) As Long
>
> '定数
> Const INTERNET_OPEN_TYPE_DIRECT = 1
>
> '変数等
> Dim hInet As HANDLE,hInetUrl As HANDLE
> Dim buf[5] As Byte
> Dim ReadSize As DWord
>
> 'インターネットハンドル取得
> hInet = InternetOpen("hoge1.0",INTERNET_OPEN_TYPE_DIRECT,NULL,NULL,0)
> 'URLハンドル取得(第2引数にアクセスしたいURLを入れる)
> hInetUrl = InternetOpenUrl(hInet,"http://www.google.co.jp/",NULL,0,0,0)
> '5バイト読む
> InternetReadFile(hInetUrl,buf,5,ReadSize)
> 'ハンドルを閉じる
> InternetCloseHandle(hInetUrl)
> InternetCloseHandle(hInet)[/code][/url][/hide]
>
> InternetReadFileの後にDebugを仕掛ければbufの中身が"<html"になってる事が確認できるかと思います
> これを前回述べた”最新バージョンの番号が書かれたテキスト”に対して行えば、最新版のバージョン番号が読み取れます
> これをアプリケーションの側で定義しておいた自身のバージョンと比較します
trioさん、ありがとうございます。
大まかな流れは理解できたので、なんとかなりそうです。
ps.最初に書き込んだ時にパスワードがどうしても思い出せなくて…適当なHNで書いてしまいました(笑)