修改注册表后不重启计算机边生效(转)
2010-12-01 22:14
246 查看
修改注册表后不重启计算机边生效。
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修改了注册表如何即可生效,在不重启电脑的情况下
- 修改job的config.xm后不重启服务生效
- 注册表修改之计算机病毒清除
- hosts文件修改,重启生效
- Idea-每次修改JS文件都需要重启Idea才能生效解决方法
- java应用(非web应用)中log4j.properties动态修改配置文件,无需重启,就能立即生效,如何实现?
- 注册表修改之计算机病毒清除
- 通过修改注册表来让回收站显示在计算机
- 编辑远程机器注册表,关闭-重启动远程计算机。
- 烂泥:不重启机器修改计算机名
- php修改php.ini重启nginx php.ini设置不生效
- 让Windows注册表修改快速生效
- 计算机硬件注册表修改实例(二)
- 修改注册表,使系统重启并进入系统前出现对话框显示提示信息
- 通过bat脚本修改环境变量并且不用重启立即生效
- 修改hadoop的core-site.xml的配置文件不需重启也生效了