修改注册表后不重启计算机边生效
2012-02-15 08:23
375 查看
修改注册表后不重启计算机边生效
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);
}
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);
}
相关文章推荐
- c# 修改注册表后不重启计算机生效
- 修改注册表后不重启计算机边生效(转)
- Q&A修改了注册表如何即可生效,在不重启电脑的情况下
- 无需重启 修改计算机名直接生效
- 注册表修改之后,是不会生效的,需要重启,或者执行如下操作(但是有些按这样操作也还是不能立即生效,最保险的方式还是通过重启电脑来实现)
- C#修改配置文件无需重启,可立刻生效
- ubuntu16.04.2修改内核启动顺序后重启机器未生效
- Idea使用记录--每次修改JS文件都需要重启Idea才能生效解决方法
- Spring Boot 使用JSP时,修改JSP不生效,需要重启的问题
- 如何通过注册表修改桌面计算机/用户文档图标
- 修改mysql配置文件my.cnf后不重启服务生效
- 不重启修改计算机名【批处理】
- 修改app.config不能马上生效(只有重启应用程序之后才能生效)的根本原因
- Windows不重启使环境变量修改生效
- ifconfig修改IP地址后,重启网络服务或者重启电脑 修改后的IP无法生效!
- 详解Windows不重启使环境变量修改生效(经典)
- idea中spring boot 修改静态资源(js,html) 和 java 不能立即生效,必须重启的解决方案
- Windows不重启就使环境变量修改生效
- 修改注册表不用重启能够看到注册表内容
- C# 注册表修改 立即生效 [转]