У меня есть код C# в .NET 3.5, который устанавливает фон рабочего стола в Windows Vista/7. Я хотел бы изменить свой код на кросс-платформенную Windows/Mac/Linux, изменив его так, чтобы он мог работать через Mono. Единственный вызов Interop в моем коде - это тот, который устанавливает обои.Установить обои для рабочего стола с помощью Mono
Я понимаю, что для каждой платформы потребуется другой метод/сценарий; мой план - проверить версию ОС & и запустить соответствующий код по мере необходимости. До сих пор я нашел следующие нестандартные моно ресурсы, которые могут помочь:
- (Mac/Python) How can I programmatically change the background in Mac OS X?
- (Linux/C++) Changing wallpaper on Linux programmatically
- (Linux/Python) How can I change my desktop background with python?
Некоторые из них имеют ответы, которые, как представляется, содержат сценарии, которые, возможно, могут быть выполнены с использованием вызова командной строки в каждой среде с помощью кода?
Как изменить фон рабочего стола с помощью моно в среде Linux и Mac?
Я бы предпочел что в Linux это будет сильно зависеть от используемого рабочего стола. –
@ AndrewJ.Brehm - Очень верно, но если бы я мог найти приемлемый последовательный метод, скажем, 2 или 3 разных команды, которые согласны с топ-менеджерами окон, я, вероятно, был бы доволен этим. – Peter
Вот приложение для изменения обоев для Gnome, возможно, вы можете посмотреть на код и получить некоторые идеи: https://launchpad.net/drapes –