亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? heap_strings.cpp

?? 《C/C++程序員實用大全》的配套程序代碼
?? CPP
字號:
#include <windows.h>  
#include "Heap_Strings.h" 


#if defined (WIN32)
	#define IS_WIN32 TRUE
#else
	#define IS_WIN32 FALSE
#endif

#define IS_NT      IS_WIN32 && (BOOL)(GetVersion() < 0x80000000)
#define IS_WIN32S  IS_WIN32 && (BOOL)(!(IS_NT) && (LOBYTE(LOWORD(GetVersion()))<4))
#define IS_WIN95   (BOOL)(!(IS_NT) && !(IS_WIN32S)) && IS_WIN32

HINSTANCE hInst;   // current instance

LPCTSTR lpszAppName  = "MyApp";
LPCTSTR lpszTitle    = "My Application"; 

#define BLOCKSIZE 32

BOOL RegisterWin95( CONST WNDCLASS* lpwc );

int APIENTRY WinMain( HINSTANCE hInstance, HINSTANCE hPrevInstance,
                      LPTSTR lpCmdLine, int nCmdShow)
{
   MSG      msg;
   HWND     hWnd; 
   WNDCLASS wc;

   // Register the main application window class.
   //............................................
   wc.style         = CS_HREDRAW | CS_VREDRAW;
   wc.lpfnWndProc   = (WNDPROC)WndProc;       
   wc.cbClsExtra    = 0;                      
   wc.cbWndExtra    = 0;                      
   wc.hInstance     = hInstance;              
   wc.hIcon         = LoadIcon( hInstance, lpszAppName ); 
   wc.hCursor       = LoadCursor(NULL, IDC_ARROW);
   wc.hbrBackground = (HBRUSH)(COLOR_WINDOW+1);
   wc.lpszMenuName  = lpszAppName;              
   wc.lpszClassName = lpszAppName;              

   if ( IS_WIN95 )
   {
      if ( !RegisterWin95( &wc ) )
         return( FALSE );
   }
   else if ( !RegisterClass( &wc ) )
      return( FALSE );

   hInst = hInstance; 

   // Create the main application window.
   //....................................
   hWnd = CreateWindow( lpszAppName, 
                        lpszTitle,    
                        WS_OVERLAPPEDWINDOW, 
                        CW_USEDEFAULT, 0, 
                        CW_USEDEFAULT, 0,  
                        NULL,              
                        NULL,              
                        hInstance,         
                        NULL               
                      );

   if ( !hWnd ) 
      return( FALSE );

   ShowWindow( hWnd, nCmdShow ); 
   UpdateWindow( hWnd );         

   while( GetMessage( &msg, NULL, 0, 0) )   
   {
      TranslateMessage( &msg ); 
      DispatchMessage( &msg );  
   }

   return( msg.wParam ); 
}


BOOL RegisterWin95( CONST WNDCLASS* lpwc )
{
   WNDCLASSEX wcex;

   wcex.style         = lpwc->style;
   wcex.lpfnWndProc   = lpwc->lpfnWndProc;
   wcex.cbClsExtra    = lpwc->cbClsExtra;
   wcex.cbWndExtra    = lpwc->cbWndExtra;
   wcex.hInstance     = lpwc->hInstance;
   wcex.hIcon         = lpwc->hIcon;
   wcex.hCursor       = lpwc->hCursor;
   wcex.hbrBackground = lpwc->hbrBackground;
   wcex.lpszMenuName  = lpwc->lpszMenuName;
   wcex.lpszClassName = lpwc->lpszClassName;

   // Added elements for Windows 95.
   //...............................
   wcex.cbSize = sizeof(WNDCLASSEX);
   wcex.hIconSm = LoadImage(wcex.hInstance, lpwc->lpszClassName, 
                            IMAGE_ICON, 16, 16,
                            LR_DEFAULTCOLOR );
			
   return RegisterClassEx( &wcex );
}

LRESULT CALLBACK WndProc( HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam )
{
static LPTSTR* lpStrList;
static int     nBlocks;
static int     nStrings;
static HANDLE  hHeap     = NULL;

   switch( uMsg )
   {
      case WM_CREATE  : 
              hHeap     = HeapCreate( 0, 1024, 0 );
              lpStrList = HeapAlloc( hHeap, HEAP_ZERO_MEMORY, 
                                     sizeof( LPTSTR )*BLOCKSIZE );
              nBlocks   = 1;
              nStrings  = 0;
              break;

      case WM_COMMAND :
              switch( LOWORD( wParam ) )
              {
                 case IDM_ALLOCATE :
                        {
                           // If there is no room in the array then allocate
                           // more space to store the new item in.
                           //.....................................
                           if ( nStrings == nBlocks*BLOCKSIZE )
                           {
                              nBlocks++;
                              lpStrList = HeapReAlloc( hHeap, HEAP_ZERO_MEMORY, 
                                                       lpStrList, 
                                                       sizeof( LPTSTR )
                                                       *BLOCKSIZE*nBlocks );

                           }

                           *(lpStrList+nStrings) = HeapAlloc( hHeap,
                                                      HEAP_ZERO_MEMORY, 12 );
                           strcpy( *(lpStrList+nStrings), "Test String" );
                           nStrings++;

                        }
                        break;

                 case IDM_FREE :
                        if ( nStrings > 0 )
                        {
                           nStrings--;
                           HeapFree( hHeap, 0, *(lpStrList+nStrings) );

                           if ( nStrings < (nBlocks-1)*BLOCKSIZE )
                           {
                              nBlocks--;
                              lpStrList = HeapReAlloc( hHeap, 0, 
                                                       lpStrList, 	
                                                       sizeof( LPTSTR )
                                                       *BLOCKSIZE*nBlocks );
                           }
                        }
                        break;

                 case IDM_ABOUT :
                        DialogBox( hInst, "AboutBox", hWnd, (DLGPROC)About );
                        break;

                 case IDM_EXIT :
                        DestroyWindow( hWnd );
                        break;
              }
              break;
      
      case WM_DESTROY :
              HeapDestroy( hHeap );
              PostQuitMessage(0);
              break;

      default :
            return( DefWindowProc( hWnd, uMsg, wParam, lParam ) );
   }

   return( 0L );
}


LRESULT CALLBACK About( HWND hDlg,           
                        UINT message,        
                        WPARAM wParam,       
                        LPARAM lParam)
{
   switch (message) 
   {
       case WM_INITDIALOG: 
               return (TRUE);

       case WM_COMMAND:                              
               if (   LOWORD(wParam) == IDOK         
                   || LOWORD(wParam) == IDCANCEL)    
               {
                       EndDialog(hDlg, TRUE);        
                       return (TRUE);
               }
               break;
   }

   return (FALSE); 
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日韩一区国产二区欧美三区| 中文子幕无线码一区tr| 成人深夜福利app| 美日韩黄色大片| 午夜精品久久久久久久| 亚洲综合色丁香婷婷六月图片| 欧美激情综合在线| 日韩午夜精品电影| 7777女厕盗摄久久久| 色综合久久久网| 99久久99久久免费精品蜜臀| 国产成人丝袜美腿| 国产精品1区二区.| 国产91精品欧美| 国产91高潮流白浆在线麻豆| 国产在线观看免费一区| 日韩av电影天堂| 蜜桃视频在线一区| 最新国产精品久久精品| 蜜桃av一区二区在线观看| 日本不卡一区二区三区高清视频| thepron国产精品| 日韩欧美高清dvd碟片| 午夜精品免费在线| 国产欧美日韩卡一| 中文一区二区在线观看| 国产精品色哟哟网站| 综合分类小说区另类春色亚洲小说欧美 | 美女被吸乳得到大胸91| 国产精品蜜臀av| 亚洲国产成人在线| 国产精品青草综合久久久久99| 久久婷婷一区二区三区| 欧美一级一区二区| 精品99一区二区三区| 中文字幕精品一区二区三区精品| 国产精品的网站| 亚洲精品免费看| 亚洲1区2区3区4区| 久久精品国产一区二区三区免费看| 久久国产精品免费| 成人涩涩免费视频| 欧美日韩和欧美的一区二区| 欧美一区二区三区四区在线观看| 欧美日本韩国一区二区三区视频 | 欧美不卡在线视频| 日韩欧美亚洲国产精品字幕久久久| 欧美日韩一区成人| 欧美mv日韩mv亚洲| 国产精品久久久久久久久晋中| 精品国产一区久久| 精品少妇一区二区三区日产乱码 | 精品成人在线观看| 一区二区三区在线高清| 久久99精品国产麻豆不卡| 欧美精品自拍偷拍| 欧美日韩日本视频| 日本欧美在线观看| 亚洲v日本v欧美v久久精品| 国产精品电影一区二区| 亚洲国产sm捆绑调教视频| 日韩**一区毛片| 成人动漫一区二区三区| 91精品国产91久久综合桃花| 日本一区二区三区免费乱视频 | 国产性色一区二区| 午夜精品久久久久久不卡8050| 成人网在线免费视频| 色综合久久久久综合体| 国产日韩精品一区二区三区在线| 首页国产欧美久久| 一本一道波多野结衣一区二区| 精品国内二区三区| 丝瓜av网站精品一区二区| 国产成人av在线影院| 日韩小视频在线观看专区| 国产欧美日韩激情| 国产一区二区福利视频| 678五月天丁香亚洲综合网| 亚洲色图清纯唯美| 国产精品白丝av| 精品国产一二三| 日韩av电影天堂| 欧美肥大bbwbbw高潮| 亚洲综合视频网| 91伊人久久大香线蕉| 日韩午夜精品电影| 日本va欧美va欧美va精品| 91免费观看视频| 中文字幕电影一区| 不卡在线视频中文字幕| 欧美国产丝袜视频| 国产剧情av麻豆香蕉精品| 欧美精品一区二区三区高清aⅴ| 蜜桃一区二区三区在线观看| 欧美撒尿777hd撒尿| 夜色激情一区二区| 欧洲一区二区三区在线| 亚洲午夜视频在线观看| 色综合久久中文字幕综合网| |精品福利一区二区三区| 国产成a人亚洲精| 国产精品入口麻豆原神| 色婷婷综合激情| 亚洲国产裸拍裸体视频在线观看乱了| 色婷婷国产精品久久包臀| 亚洲猫色日本管| 91香蕉视频在线| 一区二区视频在线看| 欧美精品一卡二卡| 亚洲国产成人自拍| 欧美在线免费播放| 青青草国产成人av片免费| 欧美片网站yy| 精品亚洲成a人| 国产精品国产三级国产a| av一本久道久久综合久久鬼色| eeuss鲁一区二区三区| 国产在线乱码一区二区三区| 国产精品久久久久久亚洲伦| 日韩精品在线看片z| 精品久久久久久久久久久久久久久久久| 视频一区中文字幕国产| 精品日韩一区二区三区| 99综合影院在线| 中文一区二区完整视频在线观看| 欧美午夜在线一二页| 久久精品久久久精品美女| 国产精品久线在线观看| 色香色香欲天天天影视综合网| 欧美aⅴ一区二区三区视频| 国产日韩三级在线| 欧美视频一区二区三区在线观看| 日本在线播放一区二区三区| 91精品国模一区二区三区| 日本欧美一区二区三区乱码| 26uuu久久综合| 欧美日韩一区在线| 成人国产在线观看| 久久精品国内一区二区三区| 一区二区三区四区高清精品免费观看 | 欧美午夜电影网| 国产精品1区2区3区在线观看| 五月天婷婷综合| 国产精品久久久久久久久免费相片| 欧美一区二区三区在线视频| 成人91在线观看| 经典三级视频一区| 亚洲午夜激情网页| 精品国产凹凸成av人网站| 91玉足脚交白嫩脚丫在线播放| 午夜成人免费电影| 亚洲女人****多毛耸耸8| 91精品国产综合久久久久久漫画| 97久久精品人人做人人爽50路| 亚洲综合丝袜美腿| 亚洲免费观看高清完整版在线观看 | 亚洲电影视频在线| 亚洲18影院在线观看| 欧美电视剧在线观看完整版| 在线亚洲+欧美+日本专区| 成人午夜激情影院| 国产成人精品亚洲午夜麻豆| 青娱乐精品在线视频| 手机精品视频在线观看| 亚洲一区二区视频在线| 亚洲美女在线一区| 亚洲欧美一区二区三区久本道91 | 日本成人在线电影网| 亚洲成人你懂的| 亚洲精品高清在线| 亚洲免费高清视频在线| 欧美国产日韩亚洲一区| 国产欧美日韩精品在线| 国产精品三级视频| 国产成人精品一区二区三区网站观看| 国产一区二区精品久久91| eeuss鲁片一区二区三区 | 国产在线播放一区| 97精品视频在线观看自产线路二| 欧美日韩免费高清一区色橹橹| 日韩午夜在线观看| 中文字幕在线观看不卡视频| 樱桃国产成人精品视频| 日本视频免费一区| 福利91精品一区二区三区| 在线观看视频91| 久久久久久一二三区| 亚洲免费三区一区二区| 久久av老司机精品网站导航| 不卡av免费在线观看| 在线成人av影院| 亚洲欧洲精品一区二区精品久久久| 日韩精品三区四区| 丁香另类激情小说| 日韩欧美亚洲国产另类| 亚洲激情在线激情| 国产69精品久久777的优势| 欧美男女性生活在线直播观看 | 日本久久一区二区三区|