Saya mencoba melakukan sesuatu yang serupa - memperbarui pengaturan registri untuk menu mulai dan kemudian segera memiliki menu mulai mencerminkan perubahan.
Solusi dari pertanyaan MSDN ini bekerja dengan baik untuk saya.
Anda dapat mencoba menyiarkan WM_SETTINGCHANGE
pesan. Sebagai contoh:
class Program
{
[DllImport("user32.dll", SetLastError = true)]
private static extern IntPtr SendMessageTimeout(IntPtr hWnd, int Msg, IntPtr wParam, string lParam, uint fuFlags, uint uTimeout, IntPtr lpdwResult);
private static readonly IntPtr HWND_BROADCAST = new IntPtr(0xffff);
private const int WM_SETTINGCHANGE = 0x1a;
private const int SMTO_ABORTIFHUNG = 0x0002;
static void Main(string[] args)
{
SendMessageTimeout(HWND_BROADCAST, WM_SETTINGCHANGE, IntPtr.Zero, null, SMTO_ABORTIFHUNG, 100, IntPtr.Zero);
}
}