#include #include #include #pragma comment( lib, "Wininet.lib" ) #include #include "DxLib.h" int Key[256]; int GetHitKeyStateAll_2(int KeyStateBuf[]){ char GetHitKeyStateAll_Key[256]; GetHitKeyStateAll( GetHitKeyStateAll_Key ); for(int i=0;i<256;i++){ if(GetHitKeyStateAll_Key[i]==1) KeyStateBuf[i]++; else KeyStateBuf[i]=0; } return(0); } void GetHttpFile() { HINTERNET hInternet; HINTERNET hFile; // WININET初期化 hInternet = InternetOpen( "WININET Sample Program", INTERNET_OPEN_TYPE_PRECONFIG, NULL, NULL, 0); // URLのオープン hFile = InternetOpenUrl( hInternet, "http://blog-imgs-45.fc2.com/r/u/d/rudora7/reiton_and_gyakusai.jpg", NULL, 0, INTERNET_FLAG_RELOAD, 0); DWORD t_ReadSize = 1000;//1000バイトずつ読み込む DWORD t_VecNum = 0;//書き込み位置(t_FileBufVecの添え字) std::vector< char > t_FileBufVec;//バッファ for(;;) { //読み込む分だけ拡張 t_FileBufVec.resize( t_FileBufVec.size() + t_ReadSize ); //インターネット上のファイル読み込み BOOL t_Result = InternetReadFile( hFile, &t_FileBufVec[ t_VecNum ], t_ReadSize, &t_ReadSize ); //ファイルの終端に達した場合 if( t_Result && ( t_ReadSize == 0 ) ){ break; } t_VecNum += t_ReadSize; } //ファイルを書き込み std::ofstream ofs( "SampleGraphic.jpg", std::ios::binary ); ofs.write( &t_FileBufVec[ 0 ], t_FileBufVec.size() ); //ハンドルをクローズ InternetCloseHandle(hFile); InternetCloseHandle(hInternet); } int WINAPI WinMain( HINSTANCE hInstance, HINSTANCE hPrevInstance,LPSTR lpCmdLine, int nCmdShow ){ ChangeWindowMode( TRUE ); if(DxLib_Init() == -1 ) return -1; SetDrawScreen( DX_SCREEN_BACK ); SetGraphMode(1024, 768, 32); SetWindowPosition( 100, -24 ); SetBackgroundColor(0,0,70); GetHttpFile(); int GrHandle = LoadGraph( "SampleGraphic.jpg" ) ; while(ProcessMessage()==0 && ClearDrawScreen()==0 ){//&& GetHitKeyStateAll_2(Key)==0){ DrawGraph( 0, 0, GrHandle, TRUE ); ScreenFlip(); } DxLib_End(); return 0; }