1.请写出windows32位平台上下面数据类型的表示范围

  1. USHORT 0-0xFFFF;
  2. LONG -0x80000000-0x7FFFFFFF;
  3. DWORD 0-0xFFFFFFFF;

2.简述临界区,互斥量,信号量,事件的区别

  • 临界区:同一个进程内,实现互斥 速度快 用的人最多
  • 互斥量:可以跨进程,实现互斥 主要用于防双开
  • 信号量:主要是实现同步,可以跨进程
  • 事件:实现同步,可以跨进程 最自由

3.GastLastError函数中是如何实现各线程间互不干扰的 请说明其原理

采用的是操作系统提供的TLS线程局部存储基址 TLS相关的API有

  • TlsAlloc
  • TlsGetValue
  • TlsSetValue
  • TlsFree

4.简述一下如何截取键盘的响应 让所有的’a’变成’b

使用键盘钩子: SetWindowsHookEx

5.简述一下常用的进程通信方法有哪些

文件映射 共享内存 管道 邮槽 剪贴板 动态链接库 NetBios函数 WM_COPYDATA消息 文件 网络

6.简述一下PostMessage与SendMessage有何区别

PostMessage只是把消息放入队列 不管其他程序是否处理都返回 然后继续执行 返回值表示函数执行是否正确
而SendMessage必须等待其他程序处理消息后才返回 继续执行 返回值表示其他程序处理消息后的返回值