您的位置:首页 > 移动开发

windows客户端开发--使你的客户端运行时记住上次关闭的大小和位置(win32 application)

2016-02-19 20:32 417 查看
之前博客写了MFC如何存储windowplacement这个结构体,我们用的是写入注册区。

在win32 application中,也试图将信息写入注册区。

但是越来越觉得小题大做,于是,还是写入.ini文件吧,写入和读取自己定义的.ini文件,而不是写入win.ini。

读写.ini文件是个老掉牙的问题了。

但是此时,我们要写入的是一个结构体,我们如何做到呢?

我们读取的数据也是要存入一个结构体,又是如何做到的呢?

是的 windows给我们提供了API:

WritePrivateProfileStruct

GetPrivateProfileStruct

首先还是获取windowplacement这个结构体,不再赘述:

[code]WINDOWPLACEMENT wp;

GetWindowPlacement(this->GetHWND(), &wp);


接下来就是写入配置文件了:

[code]WritePrivateProfileStruct(L"Main", L"WP", &wp, sizeof(wp), L"D:\\123.ini");


这个时候注意,我们可以利用WritePrivateProfileStruct函数的返回值来判断是true还是false。

写入成功后,我们看一下123.ini

[code][Main]
WP=2C0000000000000001000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0A02000062000000B60500007A030000C3


接下来的任务也很轻松了,就是如何读取配置文件到结构体了:

[code]WINDOWPLACEMENT wp;
GetPrivateProfileStruct(L"Main", L"WP", &wp, sizeof(wp), L"D:\\123.ini");
SetWindowPlacement(this->GetHWND(), &wp);


这样就大功告成了,windows client就会记录上次退出时窗口的大小了。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: