解決済みの質問
ネットワーク上の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
実行環境は 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
0人が「このQ&Aが役に立った」と投票しています