您的位置:首页 > 理论基础

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

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

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  职场 注册表 休闲