1.编译程序时遇到COFF期间转换失败问题
-问题原因:在安装程序中cvtres.exe文件冲突
-解决方案:C:\Program Files(x86)\Microsoft Visual Studio 10.0\vc\bin\cvtres.exe(该目录为vs2010的安装路径)
C:\Windows\Microsoft.NET\Framework\v4.0.30319\cvtres.exe
删除其中旧的版本文件
2.win32程序编写窗口
主要步骤:声明窗口处理函数
主函数
{
声明窗口类并对其进行初始化
注册窗口 RegesiterClass
创建窗口 CreateWindow
显示窗口 ShowWindow
刷新窗口 UpdateWindow
消息while循环(循环中翻译消息TranslateMessage然后分配消息DispatchMessage)
}
窗口处理函数的编写
{
swich(message)
处理得到的消息
return DefWindowProc()//处理自定义消息没有处理的消息
}
3.线程
创建线程 CreateThread 结束线程 ExitThread
另一套函数_beginThread() 和 _endThread()
两套函数参数上没有什么区别
区别在微软本身是想用_beginThread和_endThread做多平台的兼容,这样可以去掉windows.h的头文件,但是这两个函数逃脱不了要使用CloseHandle函数
所以咯......自己看着用吧
中止线程 TerminateThread() 微软不建议使用 理由如下
1)如果目标线程持有一个临界区 临界区将不会被释放
2)如果目标线程正在堆内分配内存,将导致堆锁不会被释放
3)如果目标线程正在更改一个共享DLL的全局状态,破坏这个共享DLL的状态,将导致其他使用DLL的线程受到影响