![](/img/trans.png)
[英]How to send keyboard events to all kind of applications in windows?
[英]How to force Windows to send 'LOW_MEMORY' signal to all applications?
我正在研究一些“免費RAM”工具,它必須強制Windows向所有應用程序發送'LOW_MEMORY'
信號(要求所有應用程序釋放它們未使用的數據,SQL服務器和文件緩存被清除,這樣你最終會得到很多額外的免費空間)。
在C ++中最好的方法是什么? 對我來說最“自然”的解決方案是分配大量內存,但這是一種“好”和“穩定”的方式嗎? 也許在WinAPI或其他地方有任何c ++ Windows本機函數?
ps該工具的概念來自(我知道更好的方法是......購買一些RAM,但我現在必須編寫這樣的工具):
https://superuser.com/questions/214526/how-does-a-free-up-ram-utility-free-up-ram
另一種可能是通過活動進程列表進行迭代,並通過SetProcessWorkingSetSize (hProcess,(SIZE_T)-1,(SIZE_T)-1)要求每個人修剪它的工作集,如MSDN中所述 ,可能會跳過應用程序,如果您的意圖是嘗試提高某些特定應用程序的性能(基准測試絕對是您的朋友)。
這會導致操作系統將虛擬頁面刷新到磁盤,從而為其他應用程序釋放物理內存。 我不確定這是否會導致,例如,SQL Server放松它的內存需求,但它肯定值得一試。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.