之前博客写了MFC如何存储windowplacement这个结构体,我们用的是写入注册区。
在win32 application中,也试图将信息写入注册区。
但是越来越觉得小题大做,于是,还是写入.ini文件吧,写入和读取自己定义的.ini文件,而不是写入win.ini。
读写.ini文件是个老掉牙的问题了。
但是此时,我们要写入的是一个结构体,我们如何做到呢?
我们读取的数据也是要存入一个结构体,又是如何做到的呢?
是的 windows给我们提供了API:
WritePrivateProfileStruct
GetPrivateProfileStruct
首先还是获取windowplacement这个结构体,不再赘述:
WINDOWPLACEMENT wp;
GetWindowPlacement(this->GetHWND(), &wp);
接下来就是写入配置文件了:
WritePrivateProfileStruct(L"Main", L"WP", &wp, sizeof(wp), L"D:\\123.ini");
这个时候注意,我们可以利用WritePrivateProfileStruct函数的返回值来判断是true还是false。
写入成功后,我们看一下123.ini
[Main]
WP=2C0000000000000001000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0A02000062000000B60500007A030000C3
接下来的任务也很轻松了,就是如何读取配置文件到结构体了:
WINDOWPLACEMENT wp;
GetPrivateProfileStruct(L"Main", L"WP", &wp, sizeof(wp), L"D:\\123.ini");
SetWindowPlacement(this->GetHWND(), &wp);
这样就大功告成了,windows client就会记录上次退出时窗口的大小了。
windows客户端开发--使你的客户端运行时记住上次关闭的大小和位置(win32 application)
原文:http://blog.csdn.net/wangshubo1989/article/details/50700218