當前位置:編程學習大全網 - 源碼下載 - 用c++進行win32編程"動態調用DLL"內存出錯的問題

用c++進行win32編程"動態調用DLL"內存出錯的問題

正確的壹段窗口(無視註釋行)

#include?<windows.h>

#include?<tchar.h>

//#define?colour?RGB(0,144,76)

LRESULT?CALLBACK?WndProc?(HWND,?UINT,?WPARAM,?LPARAM)?;?

void?show();

INT32?iYX[2];

const?int WX=800;

const?int WY=600;

DWORD g_tPre=0,g_tNow=0;

HFONT hFont;

HPEN hPen;

INT32 i[2]={GetSystemMetrics?(?SM_CXSCREEN?)/2,GetSystemMetrics?(?SM_CYSCREEN?)/2};

HPEN hPenOld;

HWND hwnd?;

MSG msg={0}?;

WNDCLASS wndclass?;

HDC hdc?;?

PAINTSTRUCT ps?;

RECT rect?;

PAINTSTRUCT paintStruct;

HBITMAP g_hBitmap=NULL;?

HDC g_mdc=NULL;

BOOL id=false;

POINT?p;

int?WINAPI?WinMain?(HINSTANCE?hInstance,?HINSTANCE?hPrevInstance,PSTR?szCmdLine,?int?iCmdShow)

{

?static?TCHAR?szAppName[] =?TEXT?("HelloWin")?;

wndclass.style =?CS_HREDRAW?|?CS_VREDRAW?;?

wndclass.lpfnWndProc =?WndProc?;

?wndclass.cbClsExtra =?0?;?

?wndclass.cbWndExtra =?0?;

?wndclass.hInstance =?hInstance?;

?wndclass.hIcon =?LoadIcon?(NULL,?IDI_APPLICATION)?;?

?wndclass.hCursor =?LoadCursor?(NULL,?IDC_ARROW)?;?

?wndclass.hbrBackground =?(HBRUSH)?GetStockObject?(WHITE_BRUSH)?;?

?wndclass.lpszMenuName =?NULL?;

?wndclass.lpszClassName =?szAppName?;

?wndclass.hIcon =(HICON)::LoadImage(NULL,"icon.ico",IMAGE_ICON,0,0,LR_DEFAULTSIZE|LR_LOADFROMFILE);

if?(!RegisterClass?(&wndclass))

{?

MessageBox?(?NULL,?TEXT?("出錯了!程序需要windows系統!"),?szAppName,?MB_ICONERROR)?;

return?0?;?

}

//SetCursorPos(GetSystemMetrics?(?SM_CXSCREEN?)/2,GetSystemMetrics?(?SM_CYSCREEN?)/2);

hwnd?=CreateWindow

(?szAppName,?TEXT?(""),

WS_POPUP?,

(GetSystemMetrics?(?SM_CXSCREEN?)/2)-150,(GetSystemMetrics?(?SM_CYSCREEN?)/2)-75,

300,150,

NULL,?NULL,?hInstance,NULL);?

hdc?=GetDC(hwnd);

ShowWindow?(hwnd,?iCmdShow)?;

UpdateWindow?(hwnd)?;?

while(?msg.message?!=?WM_QUIT?)

{

if(?PeekMessage(?&msg,?0,?0,?0,?PM_REMOVE?)?)

{

TranslateMessage(?&msg?);

DispatchMessage(?&msg?);

}

else

{

g_tNow=?GetTickCount();?

if(g_tNow-g_tPre?>=?100)

show();

}

}

return?msg.wParam?;

}

LRESULT?CALLBACK?WndProc?(HWND?hwnd,?UINT?message,?WPARAM?wParam,?LPARAM?lParam)

{

switch?(message)

{?

case?WM_CREATE:?

return?0?;

break;

caseWM_DESTROY:?

PostQuitMessage?(0)?;

return?0;

break;

?case?WM_KEYDOWN:

if?(wParam?==?VK_ESCAPE)

DestroyWindow(hwnd);

case?WM_LBUTTONDOWN:

DestroyWindow(hwnd);

return?0?;

break;

default:

return?DefWindowProc(?hwnd,?message,?wParam,?lParam?);

}?

return?0?;

}

void?show?()

{

GetCursorPos(&p);

g_tPre?=?GetTickCount();?

DeleteObject?(?hFont?);

}

  • 上一篇:蘋果7手機怎麽設置視頻桌面?
  • 下一篇:直播APP開發成本怎麽算?
  • copyright 2024編程學習大全網