WinInetのInternetOpenUrl関数が正常に動作しない。

解決済みの質問

WinInetのInternetOpenUrl関数が正常に動作しない。

ネットワーク上のHTMLソースを取得しようとしています。InternetOpenUrl関数が動作せず、常にNULLが返ってきます。
環境は、WindowsXP、WindowsCE Platform Builder です。

void Get_HTML(){
HINTERNET hInternet;
HINTERNET hFile;
char Buff[1000];
DWORD ReadSize;
BOOL bResult;

//WinInetの初期化
char *agent ="WININET Sample Program";

hInternet = InternetOpen( (LPCWSTR)agent, INTERNET_OPEN_TYPE_DIRECT, NULL, NULL, 0 );

if( hInternet == NULL ){
printf("InternetOpen Error \n");
}

//ネット接続チェック
if( InternetAttemptConnect(0) != ERROR_SUCCESS {
printf("インターネットに接続できません。\n");
}
else{
printf("インターネットに接続できる\n");
}

//URLオープン
char open_url="http://www.sample.com/sam1.html";

hFile = InternetOpenUrl( hInternet, (LPCWSTR)open_url, NULL, 0, INTERNET_FLAG_RELOAD, 0 );

printf("%s",(LPCWSTR)open_url);
if( hFile == NULL ){
printf(" InternetOpenUrl ERROR \n");
}
}

InternetOpenUrl関数の戻り値がNULLになりReadを
することが出来ません。

解決方法よろしくお願い致します。

投稿日時 - 2006-08-22 17:39:54

QNo.2355427

すぐに回答ほしいです

質問者が選んだベストアンサー

実行環境は Windows CEですか?

> char *agent ="WININET Sample Program";
>
> hInternet = InternetOpen( (LPCWSTR)agent,INTERNET_OPEN_TYPE_DIRECT, NULL, NULL, 0 );

第一引数をキャストしてごまかしていますが、ここはUnicode文字列を
渡さなければいけないのではないですか?

LPCWSTR *agent = L"WININET Sample Program";

LPCWSTR *agent = TEXT("WININET Sample Program");
かな?

投稿日時 - 2006-08-22 19:57:38

補足

WindowsCE環境です。

LPCWSTR *agent = L"WININET Sample Program";

LPCWSTR *agent = TEXT("WININET Sample Program");
をすると、
'initializing' : cannot convert from 'const unsigned short [23]' to 'LPCWSTR * '

エラーが出ます。

投稿日時 - 2006-08-23 09:37:09

お礼

すみません。補足間違えました。
LPCWSTR agent =TEXT("NETINET Sample Program");
で正常に動作しました。
agentにはポインタは不要ですね。
ありがとうございました。

投稿日時 - 2006-08-23 10:05:52

ANo.1

0人が「このQ&Aが役に立った」と投票しています

あわせてチェックしたい
  • InternetOpenUrlの引数URL文字コードについて ...
  • InternetOpenUrlについて ...
  • wininet.dllのInternetOpenの同期、非同期について ...
PR
【回答募集中】花粉にひと言、物申す![ 詳細 ]

OKWaveのオススメ

教えて弁護士さん!

お金の悩みQ&A特集はこちら