開発環境 Microsoft Visual C++ 2010 Express (SP1)
実行環境 Microsoft Windows XP Home Edition (SP3)
プロジェクトの種類 Win32 プロジェクト
プロジェクト名 WinInetTest
アプリケーションの種類 Windows アプリケーション
追加のオプション 空のプロジェクト

参考

WinInetTest.cpp
// マルチバイト文字セット
 
#pragma comment(lib, "WinInet")
 
#include <Windows.h>
#include <WinInet.h>
#include "resource.h"
 
// 関数プロトタイプ宣言
INT_PTR CALLBACK DlgProc(HWND hDlg, UINT uMsg, WPARAM wParam, LPARAM lParam);
void OnOK(HWND hDlg);
 
//==============================================================================
int CALLBACK WinMain(HINSTANCE hInstance, HINSTANCE, LPSTR, int)
{
	DialogBox(hInstance, MAKEINTRESOURCE(IDD_DIALOG), NULL, DlgProc);
	return 0;
}
 
INT_PTR CALLBACK DlgProc(HWND hDlg, UINT uMsg, WPARAM wParam, LPARAM lParam)
{
	INT_PTR res = TRUE;	// メッセージを処理した
 
	switch (uMsg) {
	case WM_COMMAND:
		switch (LOWORD(wParam)) {
		case IDOK:
			OnOK(hDlg);
			break;
		case IDCANCEL:
			EndDialog(hDlg, IDCANCEL);
			break;
		}
		break;
	case WM_CLOSE:
		EndDialog(hDlg, 0);
		break;
	default:
		res = FALSE;	// メッセージを処理しなかった
	}
	return res;
}
 
void OnOK(HWND hDlg)
{
	TCHAR szUrl[256];
	GetDlgItemText(hDlg, IDC_URL, szUrl, _countof(szUrl));
 
	HINTERNET hInternet = InternetOpen(TEXT("WinInetTest"), INTERNET_OPEN_TYPE_DIRECT, NULL, NULL, 0);
	HINTERNET hFile = InternetOpenUrl(hInternet, szUrl, NULL, 0, 0, 0);
	if (hFile) {
		TCHAR szBuf[4096];
		DWORD dwRead;
		InternetReadFile(hFile, szBuf, sizeof szBuf - 1, &dwRead);
		if (dwRead) {
			szBuf[dwRead] = TEXT('\0');
			SetDlgItemText(hDlg, IDC_TEXT, szBuf);
		}
		InternetCloseHandle(hFile);
	}
	InternetCloseHandle(hInternet);
}
 

resource.h
#define IDD_DIALOG	100
 
#define IDC_URL		1000
#define IDC_TEXT	1001
 

WinInetTest.rc
// resource script
#include <Windows.h>
#include "resource.h"
 
IDD_DIALOG DIALOGEX 100, 100, 320, 230
STYLE WS_POPUPWINDOW | WS_MINIMIZEBOX
EXSTYLE WS_EX_APPWINDOW
CAPTION "WinInetTest"
FONT 9, "MS Pゴシック"
BEGIN
	EDITTEXT	IDC_URL,5,5,265,13
	PUSHBUTTON	"Get",IDOK,275,5,40,15
	EDITTEXT	IDC_TEXT,5,25,310,200,WS_VSCROLL | ES_MULTILINE | ES_WANTRETURN
END
 
最終更新:2013年04月18日 20:14