gpt4 book ai didi

c++ - 是否可以锁定应用程序中常用控件使用的内存?

转载 作者:行者123 更新时间:2023-11-28 01:48:02 25 4
gpt4 key购买 nike

我正在编写一个对其数据进行加密的应用程序。然后,它可以在用户输入密码后使用应用程序的 UI 显示未加密的内容。我的目标是尽量减少 RAM 中明文数据的暴露。为此,我想尽可能避免将其交换到磁盘。

我知道我可以调整我的进程的工作集(通过调用 SetProcessWorkingSetSize API),然后将那些敏感页面锁定在 RAM 中(通过调用 VirtualLock 。)理论上,这应该最大限度地减少它被写入的机会到磁盘。

我的问题是,我能否对对话窗口中常用控件使用的内存做同样的事情,即 Edit boxes 中的内存? , combo boxes ,最重要的是 RichEdit控制?

附言。我假设他们都使用来自 heap 的数据对于我的过程。正确吗?

编辑: 看到下面的所有评论,我需要澄清一下。我所说的“锁”并不是说“用挂锁和 key 锁起来,这样就没人能看到了”。我的意思是,像使用 VirtualLock API 一样锁定它。

最佳答案

您可以使用 EM_SETHANDLE 为编辑控件的初始分配设置句柄,然后在空间不足且需要更多空间时响应 EN_ERRSPACE

从那里开始,您还可以对该内存块使用 VirtualLock 以尽可能将其保存在 RAM 中。如果您要经常这样做,您可能需要考虑对控件进行父类(super class)化,以避免在任何地方重复代码。

不管是好是坏,我不认为有富文本控件的等效项。

关于c++ - 是否可以锁定应用程序中常用控件使用的内存?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44088558/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com