修改注册表后不重启计算机边生效(转)

简介:

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

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);
}



本文转自 不得闲 博客园博客,原文链接:http://www.cnblogs.com/DxSoft/archive/2010/12/01/1893882.html   ,如需转载请自行联系原作者

相关文章
|
Windows
电脑故障由于其配置信息(注册表中的)不完整或已损坏,Windows 无法启动这个硬件设备. (代码 19)
电脑故障由于其配置信息(注册表中的)不完整或已损坏,Windows 无法启动这个硬件设备. (代码 19)
725 0
|
存储 索引 Windows
Confluence 6 Windows 中以服务方式自动重启修改运行服务的用户
基于安全的考虑,如果你希望你的 Confluence 不是在系统中以管理员的身份运行或者你使用网络驱动器来存储备份,附件和索引的话,你可以以其他用户来运行 Confluence。
939 0
|
安全 Windows
注册表与木马(二)——实现程序开机自动启动
注册表的相关知识参考之前一篇 http://www.cnblogs.com/LexMoon/p/C_muma.html 现在的任务是将一个程序写入注册表中开机自启动的对应位置里面。   现在有一个简单的 hello.exe (路径 :  D:\hello.exe ),功能是在命令行显示输出 "hello world" 。
1282 0
|
安全 Shell Windows