1.可以作为windows GUI程序的入口函数的是( )

main
WinMain
wmain
_tmain

2.在windows窗口编程中我们很少直接使用基本数据类型,取而代之的是一些新的自定义类型,以下对自定义类型的解释正确的是( )

BOOL 等价于bool
UINT 等价于int
WORD 等价于short
DWORD 等价于long
WCHAR 等价于wchar_t

3.windows操作系统具有面向对象的特性,在32位下,以下关于句柄的说法错误的是( )

句柄的类型有很多,如HANDLE,HMENU,HWND…
柄都是用void*重定义的出来的类型 只有HANDLE
句柄就是一个四字节大小的整数
句柄代表一个windows中的对象,程序员通过句柄来操作此对象

4.windows系统是以消息驱动的,可以说,消息就是系统的动力源泉,那以下对windows消息的描述错误的是( )

PostMessage发送消息时,会将消息发送到消息队列
消息是一个4字节整数

  1. /*
  2. * Message structure
  3. */
  4. typedef struct tagMSG {
  5. HWND hwnd;
  6. UINT message;
  7. WPARAM wParam;
  8. LPARAM lParam;
  9. DWORD time;
  10. POINT pt;
  11. #ifdef _MAC
  12. DWORD lPrivate;
  13. #endif
  14. } MSG, *PMSG, NEAR *NPMSG, FAR *LPMSG;

一个消息的产生就代表了一个事件的产生
SendMessage发送消息时,会直接调用窗口回调函数

5.窗口回调的参数是( )

UINT,HANDLE,WPARAM,LPARAM
HWND,HINSTANCE,LPARAM,WPARAM
HANDLE,UINT,LPARAM,WPARAM
HWND,UINT,WPARAM,LPARAM
对话框回调函数返回值是long
窗口回调函数返回值是int

6.窗口的创建过程是( )

  1. 第二次你做错了这个,选成了第四个<br />1.定义窗口类<br />2.更新显示窗口<br />3.消息泵<br />4.创建窗口<br />5.注册窗口类<br />1-5-4-3-2<br />5-1-4-3-2<br />1-5-4-2-3<br />5-1-4-2-3

7.创建图片控件的类名是( )

edit
button
static
picture

8.不属于窗口三大风格的是( )

弹出窗口
隐藏窗口
重叠窗口
子窗口

9.SetWindowLong函数不可以实现以下哪些功能( )

修改控件回调函数
修改控件风格
修改控件颜色
修改控件ID

10.以下会产生WM_NOTIFY消息的是( )

下拉组合框控件
列表控件
编辑框控件
按钮控件

11.用来创建模态对话框的API是( )

CreateDialog
DialogBox
CreateWindowEx
CreateWindow

12.对话框中的所有控件都有一个相同的风格,这个风格是( )

WS_DISABLE
WS_CHILD
WS_BORDER
WS_VISIBLE

13.以下不会产生WM_COMMAND消息的是( )

按钮消息
菜单消息
快捷键消息
鼠标消息

14.当菜单产生WM_COMMAND消息的时候如何判断菜单的ID值?( )

lParam的高两字节
wParam的低两字节
wParam的高两字节
lParam的低两字节

15.不属于创建窗口的API是( )

CreateFile
CreateDialog
CreateWindowEx
DialogBoxParam

16.WNDCLASS结构体是如下定义,其中最有哪几个字段是必不可少的( )

typedef struct tagWNDCLASSA {
①UINT style;
②WNDPROC lpfnWndProc;
③int cbClsExtra;
④int cbWndExtra;
⑤HINSTANCE hInstance;
⑥HICON hIcon;
⑦HCURSOR hCursor;
⑧HBRUSH hbrBackground;
⑨LPCSTR lpszMenuName;
⑩LPCSTR lpszClassName;
} WNDCLASSA, PWNDCLASSA, NPWNDCLASSA, *LPWNDCLASSA;
②⑩
⑤⑩①②②⑤

17.关于DllMain函数的说法错误的是( )

DllMain有四个参数 (实例句柄、调用原因、保留参数),返回值int
DllMain是dll的入口函数
DllMain可有可无,不影响dll的函数调用
进程、线程创建和退出时会调用DllMain

18.关于动态链接库导出方式说法正确的是( )

使用extern ”C”就是使用声明导出
有两种导出方式,即通过声明导出与def脚本文件导出
使用声明导出时,可以指定导出序号
定义导出使用__declspec(dllexport)声明导出时必须加上extern “C”

19.关于调用动态链接库中函数的说法正确的是( )

显示调用,即通过声明导出函数,载入Lib文件,直接调用导出函数即可
隐式
通过LoadLibrary+GetProcAddress可以找到DLL中的所有函数
不是所有
动态链接库与静态库没有区别
LoadLibrary+GetProcAddress使用完毕之后,应该用FreeLibrary卸载DLL

20.在导出函数前添加extern “C”的主要用意是( )

可以导出更多信息
添加后才能导出此函数
不添加也能导出
防止名称粉碎,便于C语言程序调用动态链接库中的函数
扩大此函数的作用域