学习SDK中的小问题:vs2005 中使用C语言出错

学习SDK中的小问题:vs2005 中使用C语言出错,第1张

你是手敲的代码吧。?

给你调通了。。修改的地方在注释

#include "windows.h"

LRESULT CALLBACK WNDProc(HWND, UINT, WPARAM, LPARAM)

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

{

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

HWND hwnd

MSG msg

WNDCLASS wc

wc.style= CS_HREDRAW|CS_VREDRAW

wc.lpfnWndProc= WNDProc// 大小写

wc.cbClsExtra=0

wc.cbWndExtra=0

wc.hInstance=hInstance

wc.hIcon=LoadIcon(NULL,IDI_APPLICATION)

wc.hCursor=LoadCursor(NULL,IDC_ARROW)// 下划线

wc.hbrBackground=(HBRUSH) GetStockObject(WHITE_BRUSH)

wc.lpszMenuName=NULL

wc.lpszClassName=szAppName

if(!RegisterClass (&wc))

{

MessageBox (NULL, TEXT ("This program requires Whindows NT!"), szAppName, MB_ICONERROR)

return 0

}

// TEXT("欢迎你的到来!") 后面的逗号。。中文的不对

hwnd=CreateWindow(szAppName, TEXT("欢迎你的到来!"),WS_OVERLAPPEDWINDOW, CW_USEDEFAULT, CW_USEDEFAULT, CW_USEDEFAULT,CW_USEDEFAULT, NULL,NULL,hInstance,NULL)

ShowWindow (hwnd,iCmdShow)

UpdateWindow(hwnd)

while(GetMessage(&msg,NULL,0,0))

{

TranslateMessage (&msg)

DispatchMessage (&msg)

}

return msg.wParam

} // 少了这个括号

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

{

HDC hdc

PAINTSTRUCT ps// 拼写错误

RECT rect

switch (message)

{

case WM_PAINT:

hdc=BeginPaint(hwnd,&ps)

GetClientRect(hwnd,&rect)

DrawText(hdc,TEXT("你好,欢迎你来到vc之路"),-1,&rect,DT_SINGLELINE|DT_CENTER|DT_VCENTER)//逗号不能用中文的

EndPaint(hwnd,&ps)

return 0

case WM_DESTROY:

PostQuitMessage(0)

return 0

}

return DefWindowProc(hwnd,message,wParam,lParam)

}

// 多了个括号

.lib是编译过的二进制文件的打包。有些sdk是不开放源码的,所以只提供.lib和.dll文件,只要给定头文件就可以调用里面的函数了。当然,也有的是开放源码的,但是windows版的通常是提供二进制文件,源代码要另外下载的。


欢迎分享,转载请注明来源:内存溢出

原文地址: https://www.outofmemory.cn/bake/11829415.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-19
下一篇 2023-05-19

发表评论

登录后才能评论

评论列表(0条)

保存