Как обнаружить, что обои были изменены

140
10 апреля 2022, 22:40

Мне нужен какой-то способ (дайте, пожалуйста, чёткий кусок кода), чтобы обнаружить, были ли изменены обои рабочего стола без прав администратора у программы. Т.е. я установил обои, включил программу, и если кто-то сменил обои -- вылезает, например, msgbox

Язык подойдёт, наверное, любой, который на windows, от C# до VBs.

upd: нашёл ответ вот здесь: http://www.cyberforum.ru/csharp-net/thread1349036.html

using Microsoft.Win32;
class MyClass
{
    static string Wallpaper = "";
    static void Main()
    {           
        Wallpaper = CurrentWallpaper();           
        SystemEvents.UserPreferenceChanged += new UserPreferenceChangedEventHandler(UserPreferenceChanged);
        System.Threading.Thread.Sleep( System.Threading.Timeout.Infinite);
    }
    static string CurrentWallpaper()
    {
        using (RegistryKey wallpaper = Registry.CurrentUser.OpenSubKey("Control Panel\\Desktop", false))
            return wallpaper.GetValue("wallpaper").ToString();           
    }
    static void UserPreferenceChanged(object sender, UserPreferenceChangedEventArgs e)
    {
        if(e.Category == UserPreferenceCategory.General)
            if (Wallpaper != CurrentWallpaper())
                Console.WriteLine("Wallpaper changed");
    }        
}
READ ALSO
INSERT statement conflicted with FOREIGN KEY

INSERT statement conflicted with FOREIGN KEY

Написал сайт на ASPNET по видеоурокам Гоши Дударя, и столкнулся с ошибкой следующего вида: SqlException: The INSERT statement conflicted with the FOREIGN KEY constraint "FK_OrderDetail_Order_orderId"

197
Программное создание .cs файла

Программное создание .cs файла

У меня есть Windows Forms приложение, там есть разный функционал и одна из функций - запуск написанного кодаДля этого есть несколько кнопок: открыть,...

268
Запись логов в БД

Запись логов в БД

Всем добрый деньХочу настроить логирование сервиса в БД Postgres с помощью ILogger

232
Ненужное преобразование Decimal

Ненужное преобразование Decimal

Проблема состоит в следующем:

138