Как применить Windows изменения панели задач без перезапуска Проводника в C#? - PullRequest
0 голосов
/ 05 февраля 2020

Это мой текущий код, он работает, но он перезапускает процесс проводника, и это немного странно.

using System;
using System.Diagnostics;
using System.Threading;
using System.Threading.Tasks;
using Microsoft.Win32;

namespace MyApp
{
    class Program
    {
        static async Task Main(string[] args)
        {
            ShowSmallTaskbarIcons();
            // ShowLargeTaskbarIcons();
            Console.WriteLine("Press a key to exit...");
            Console.ReadKey();
        }

        static void ShowSmallTaskbarIcons()
        {
            Registry.SetValue(@"HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced", "TaskbarSmallIcons", "1", RegistryValueKind.DWord);
            RefreshExplorer();
        }

        static void ShowLargeTaskbarIcons()
        {
            var key = Registry.CurrentUser.OpenSubKey(@"Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced", writable: true);
            key.DeleteValue("TaskbarSmallIcons", throwOnMissingValue: false);
            key.Close();
            RefreshExplorer();
        }

        static void RefreshExplorer()
        {
            Process.Start("taskkill.exe", "/f /im explorer.exe");
            Thread.Sleep(2000);
            Process.Start("explorer.exe");
            Thread.Sleep(10000);
        }
    }
}

Я хотел бы сделать то же самое, что и с тумблером «Использовать маленькие кнопки панели задач» из Настройки.

Как сделать то же самое с C#?

1 Ответ

1 голос
/ 05 февраля 2020

Как программно изменить Windows 10 размер значка панели задач

В этом посте приведен пример отправки сообщения WM_SETTINGCHANGE в c ++.

Однако есть нет простого способа сделать это в c# упакованной функции. Вы должны сделать это через p / invoke

Следующий пост поможет вам сделать это в c#

преобразовать код C ++ в C#: SendMessageTimeout ()

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...