c# 修改注册表立即刷新

修改注册表后不重启计算机并生效。

const int WM_SETTINGCHANGE = 0x001A; 
const int HWND_BROADCAST = 0xffff;

IntPtr result1;

public enum SendMessageTimeoutFlags : uint 

SMTO_NORMAL = 0x0000, 
SMTO_BLOCK = 0x0001, 
SMTO_ABORTIFHUNG = 0x0002, 
SMTO_NOTIMEOUTIFNOTHUNG = 0x0008 


[DllImport("user32.dll", SetLastError = true, CharSet = CharSet.Auto)] 
public static extern IntPtr SendMessageTimeout( 
IntPtr windowHandle, 
uint Msg, 
IntPtr wParam, 
IntPtr lParam, 
SendMessageTimeoutFlags flags, 
uint timeout, 
out IntPtr result 
);

public void ChangeReg() 

//通知所有打开的程序注册表已修改 
SendMessageTimeout(new IntPtr(HWND_BROADCAST), WM_SETTINGCHANGE, IntPtr.Zero, IntPtr.Zero, SendMessageTimeoutFlags.SMTO_NORMAL, 1000, out result1); 
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值