不用Vc,用c能创建window程序吗???
以下是我的一段实现,但却不成功,请大家看一下!!!
#include <windows.h>
LRESULT CALLBACK WndProc(HWND,UINT,WPARAM,LPARAM);
char szAppName[]="Window";
int PASCAL WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance,
LPSTR lpszCmdLine, int nCmdShow)
{
HWND hwnd;
MSG msg;
WNDCLASS wndclass;
if (!hPrevInstance)
{
wndclass.style = 0;
wndclass.lpfnWndProc = (WNDPROC) WndProc;
wndclass.cbClsExtra = 0;
wndclass.cbWndExtra = 0;
wndclass.hInstance = hInstance;
wndclass.hIcon = LoadIcon((HINSTANCE) NULL,IDI_APPLICATION);
wndclass.hCursor = LoadCursor((HINSTANCE) NULL,IDC_ARROW);
//wndclass.hbrBackground = GetStockObject(WHITE_BRUSH);
wndclass.lpszMenuName = "MainMenu";
wndclass.lpszClassName = "MainWndClass";
if (!::RegisterClass(&wndclass))
return false;
}
hwnd=::CreateWindow("MainWndClass", "Sample",
WS_OVERLAPPEDWINDOW, CW_USEDEFAULT, CW_USEDEFAULT,
CW_USEDEFAULT, CW_USEDEFAULT, (HWND) NULL,
(HMENU) NULL, hInstance, (LPVOID) NULL);
if(!hwnd)
return false;
::ShowWindow(hwnd, nCmdShow);
::UpdateWindow(hwnd);
while (::GetMessage(&msg, (HWND) NULL, 0, 0))
{
::TranslateMessage(&msg);
::DispatchMessage(&msg);
}
return msg.wParam;
}