修改注册表后不重启计算机,修改注册表后不重启计算机边生效(转)
修改注册表后不重启计算机边生效。const int WM_SETTINGCHANGE = 0x001A;const int HWND_BROADCAST = 0xffff;IntPtr result1;public enum SendMessageTimeoutFlags : uint{SMTO_NORMAL = 0x0000,SMTO_BLOCK = 0x0001,SMTO_ABORTIFHUN
修改注册表后不重启计算机边生效。
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);
}
DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。
更多推荐


所有评论(0)