プロが教える店舗&オフィスのセキュリティ対策術

ネットワーク上の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を
することが出来ません。

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

A 回答 (1件)

実行環境は 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");
かな?

この回答への補足

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
    • good
    • 0
この回答へのお礼

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

お礼日時:2006/08/23 10:05

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!