
最近「VB6」から「VB 2008 Express Edition」へプログラミング環境を
移行したものです。
VB6では「Active X コントロール:インターネットトランスファ(Inet)の
OpenURLメソッド」を使用してHTTPファイルを取得していました。
環境の移行を機に「Windows Internet(WinInet.dll)の機能」を使用して、
VB6の「Inet.OpenURLメソッド」と同様の処理を行おうと考えました。
しかしいざ実行すると、「Inet.OpenURL」だと正常にファイルを取得できるのに、
「WinInet.dll」では異常終了してしまうケースがあります。
私の経験不足から、その原因を突き止めることができません。
よろしくお願いいたします。
◎HTTPファイルを取得するまでの WinInet.dll で行っている処理[1]
(1) InternetOpen
↓
(2) InternetConnect
↓
(3) HttpOpenRequest
↓
(4) HttpSendRequest
↓
(5) HttpQueryInfo
↓
(6) InternetReadFile
◎HTTPファイルを取得するまでの WinInet.dll で行っている処理[2]
(1) InternetOpen
↓
(2) InternetOpenUrl
↓
(3) HttpQueryInfo
↓
(4) InternetReadFile
◎
上記、処理[1]で正常にファイルが取得できるURL
上記、処理[1]では失敗するが処理[2]で正常にファイルが取得できるURL
上記、処理[1]でも処理[2]でも失敗するが、「Inet.OpenURL」で正常に
ファイルが取得でいるURLの、3通りのURLが存在します。
この差はどこから生じるのでしょう。
処理[1]、処理[2]で失敗する場合は、
「InternetConnect」、「HttpSendRequest」または、「InternetOpenUrl」で
異常終了し、「エラーコード:2(ERROR_FILE_NOT_FOUND:
The system cannot find the file specified.)」が返ってきます。
「ファイルが見つからない」というのは、「該当のURLが存在しない」と
いう事なのかもしれませんが、「Inet.OpenURL」で、正常にファイルが
取得できるのは腑に落ちないです。
「Inet.OpenURL」自体も「WinInet.dll」の機能を使って実現している様な事を
聞きました。いったい、何が違うのでしょう。
何方か、私のこの疑問を解消して頂けないでしょうか?
よろしくお願いいたします。

No.1ベストアンサー
- 回答日時:
使ったことも無いので間違ってるかもしれませんが、
System.NET.WebRequest や System.Net.WebResponse を使って実現できませんかね。
http://www.divakk.co.jp/aoyagi/csharp_winexe_05. …
ご回答ありがとうございます。
代替方式として、考えさせていただきます。
基本的には、「WinInet.dll」の機能の範囲で解決したいと思っています。
「WinInet.dll」だと、
(1)「.NET Framework」がインストールされていない環境でも動作可能
(2)VBAへの移植が容易
といったメリットがあると考えています。
「Inet.OpenURL」でできることが、「WinInet.dll」だと、うまく実現できないのは、
何かが違うためなのだろうと考えています。
それを解決するためのヒントが頂けたらと思っています。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
VB6.0のメモリリークについて
-
0バイトのテキストファイル
-
VB2008 iniファイルの全セクシ...
-
includeで別サイトを読み込む
-
C# ファイルサイズの取得(ファ...
-
サイトマップにサブドメインを...
-
Javaのファイルダウンロードに...
-
【VBA】印刷マクロのループ処理...
-
【Excel VBA】取り込んだファイ...
-
Eclipseで検索ができなくなった
-
windows 環境でのファイル操作...
-
ファイル更新日取得
-
VB6 実行ファイルにデータの保存
-
ファイルの排他について
-
vbaの構文の修正相談(xmlファ...
-
VBAで、JPG写真の撮影日時を読...
-
accessでクエリをExcelにエクス...
-
CSVファイルの時刻の形式について
-
Thunderbird 受信メールからの...
-
コマンドプロンプトのテキスト...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
0バイトのテキストファイル
-
【Excel VBA】取り込んだファイ...
-
Eclipseで検索ができなくなった
-
VBAで、JPG写真の撮影日時を読...
-
HTMLテキストリンクでExcelファ...
-
VB6.0のメモリリークについて
-
Appletにて入力文字のファイル...
-
C++.NET 2003 「空のドキュメ...
-
VB2008 iniファイルの全セクシ...
-
windows 環境でのファイル操作...
-
dllって?
-
パスワード設定のタグについて
-
ファイルを取得するC#のプロ...
-
main関数のコマンドライン引数...
-
Accessで一覧を表示するWebペー...
-
ファイル作成日時と更新日時を...
-
【VBA】印刷マクロのループ処理...
-
携帯電話への動画配信
-
ファイル内容を比較する方法
-
Javaのファイルダウンロードに...
おすすめ情報