windows api 内存文件映射如何将修改的数据写回文件?

windows api 内存文件映射如何将修改的数据写回文件?,第1张

如果没有特殊需求,你不需要作其它事情,MapViewOfFile之后, 就按照内存数组或指针的方式访问文散粗件, 修冲好镇改也是数组或指针方式的; 之后,只需UnmapViewOfFile,所有的变化都自动写回硬盘袜侍

如果你等不及,也可以直接调用FlushViewOfFile。 其实UnmapViewOfFile的时候,所以已dirty的页面都会被用FlushViewOfFile的方式,写回硬盘文件

比如:

char *x = (char *) MapViewOfFile(...)

if( x == NULL ) {

.... /* 错误处理*/

}

x[0] = '*'

x[1] = '*'

...

FlushViewOfFile(....)

/* 或者干脆*/

UnmapViewOfFile (...)

...

CloseHandle(hMaoFile)

CloseHandle(hFile)

...

在对应文件夹下耐脊斗生成一个名为 desktop.ini 的文本文件,里面写入:昌磨

[.ShellClassInfo]

IconResource=C:\windows\system32\SHELL32.dll,13

最后一个数值可野洞以修改。然后把这个文件设置为隐藏文件就行了。

用不到什么 Windows API,FileStream、StreamWriter、File.SetAttributes() 这几个类和方法配合使用就可以了。


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/tougao/12316243.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-22
下一篇2023-05-22

发表评论

登录后才能评论

评论列表(0条)

    保存