#include <windows.h>
#include <wininet.h>
#include <aygshell.h>
#include "resource.h"
//関数の宣言
BOOL DlgProc(HWND hDlg,UINT uMsg,WPARAM wParam,LPARAM lParam);
BOOL loadText(TCHAR* url,char* out_text,DWORD* out_size);
//メイン
int WinMain(HINSTANCE hInstance,HINSTANCE hPrevInstance,
LPWSTR lpCmdLine,int nShowCmd) {
//ダイアログの生成
DialogBoxW(hInstance,MAKEINTRESOURCE(IDD_DIALOG1),NULL,DlgProc);
return 0;
}
//ダイアログのイベント処理
BOOL DlgProc(HWND hDlg,UINT uMsg,WPARAM wParam,LPARAM lParam) {
char str[1024]={0};
TCHAR strw[1024]={0};
DWORD size=1024;
switch(uMsg) {
//初期化
case WM_INITDIALOG:{
//フルスクリーン
SHINITDLGINFO sidi={
SHIDIM_FLAGS,hDlg,
SHIDIF_DONEBUTTON|SHIDIF_SIZEDLGFULLSCREEN|SHIDIF_EMPTYMENU};
SHInitDialog(&sidi);
}
break;
//コマンド
case WM_COMMAND:
switch(LOWORD(wParam)) {
//読み込みボタン
case IDC_READ:
//読み込み
if (loadText(_T("http://www.saturn.dti.ne.jp/~npaka/flash/test.txt"),str,&size)) {
//char→TCHAR変換
MultiByteToWideChar(CP_UTF8,0,str,size,strw,1024-1);
//テキストの指定
SetDlgItemText(hDlg,IDC_EDIT1,strw);
} else {
MessageBoxW(NULL,_T("エラーです。"),_T(""),0);
}
break;
//OKボタン
case IDOK:
EndDialog(hDlg,LOWORD(wParam));
break;
}
break;
//クローズ
case WM_CLOSE:
DestroyWindow(hDlg);
break;
}
return FALSE;
}
//テキストの読み込み
BOOL loadText(TCHAR* url,char* out_text,DWORD* out_size) {
//Internetハンドルの生成
HINTERNET hSession=InternetOpenW(_T("GetHTTPApp"),
INTERNET_OPEN_TYPE_DIRECT,NULL,NULL,0);
//読み込み
if(hSession) {
HINTERNET hService=InternetOpenUrlW(hSession,url,NULL,0,0,0);
if (hService) InternetReadFile(hService,out_text,1024,out_size);
InternetCloseHandle(hService);
}
//Internetハンドルの解放
InternetCloseHandle(hSession);
return TRUE;
}
|