我们可以修改mui文件,去掉一些预览版的显示字样,但是随着系统版本越来越高,传统的修改MUI文件的方法已经失效了。这是一个全新的小工具,可以为所有人去除水印和弹出窗口,如果需要,可以下载。
使用说明
一、LoadStringW函数
windows在窗体上显示的字符串大部分是从mui文件里提取,比如上面的① 里面,就是winver.exe的同名文件winver.exe.mui里提取。
怎么取呢,就是通过user32.dll里的一个函数LoadStringW,可以去MSDN了解下这个函数的具体定义,各个参数分别代表什么。
比如我要取出101中的“Windows”,通过代码实现就是:
wchar_t lpBuff[128];
HINSTANCE handle = LoadLibraryW(L“C:\Windows\System32\zh-CN\winver.exe.mui”);
int ret = LoadStringW(handle,101,lpBuff,128);
复制代码
这个lpBuff缓冲就是放读取到“Windows”字样。
知道这个原理,我们就可以对一些不想要的字符串进行拦截处理。比如这里,当读取资源102的时候,把“评估副本,过期时间”给清空掉。
拦截方法大致是这样,具体代码看我的github。
int WINAPI myLoadStringW(HINSTANCE hInt, UINT uid, LPWSTR lpBuffer, int sizeBuffer)
{
int res= DLoadStringW(hInt, uid, lpBuffer, sizeBuffer);
if (uid == 102)
{
memset(lpBuffer, ‘