Конкурс - семпла програма за автоматична смяна на Wallpaper-ите на Desktop-a
Автор |
|
dreamskillПон, 10.11.08, 21:55 | Конурс - семпла програма за автоматична смяна на Wallpaper-ите на Desktop-a
И е тука C:\Documents and Settings\Administrator\Local Settings\Application Data\Microsoft | | shamanПон, 10.11.08, 21:57 | Конурс - семпла програма за автоматична смяна на Wallpaper-ите на Desktop-a
A? Сори. Мисля 4е е в C:\Users\******\AppData\Roaming\Microsoft . . . П.С.Поне на Виста е там. _____________________________ In The Hands of The Shaman ® редактиран от shaman на 10.11.08 21:57 редактиран от shaman на 10.11.08 21:58 | | phrozencrewВто, 11.11.08, 10:22 | Конурс - семпла програма за автоматична смяна на Wallpaper-ите на Desktop-a
Ехаа, колко ентусиасти се събрахме. dhtj, програмката, която предложи наистина е добра и могат да се вземат идеи от нея. koko5, мисля, че няма проблем да се използва и чужд код, стига да се спазят условията на този, който е измисли кода, ако има такива. Нека да видим каква информация ще ни е полезна за писане на тази програма: 1. Промяна на регистъра на Win 1.1. За Windows 9x...XP: HKEY_CURRENT_USER\Control Panel\Desktop\Wallpaper 1.2. Vista - не е ясно все още 2. Промяна на ini-файла на Windows. Използва се WinAPI функция + параметри: SystemParametersInfo SPI_SETDESKWALLPAPER SPIF_SENDWININICHANGE SPIF_UPDATEANDSENDIN SPIF_UPDATEINIFILE SPIF_SENDCHANGE (незабавен ъпдейт, за по-горните не съм ги тествал) По всеки от по-горе посочените параметри може да се намери инфо в Google. По принцип са необходими само 2 от посочените по-горе параметри, но е интересно комбинирането им. Важно е да се знае, че почти всички съвремени езици поддържат WinAPI, така, че определено езика за писане на програмата е почти без значение, според мен. Ето и един примерен код на perl: #!/usr/bin/perl
use Win32::API;
use constant SPI_SETDESKWALLPAPER => 20;
use constant SPIF_UPDATEANDSENDINI => 3;
use constant NULL => 0;
my $syspinf = Win32::API->new('user32','SystemParametersInfo', [I,I,P,
+I], I)
or die "Could not import function.n";
$syspinf->Call(SPI_SETDESKWALLPAPER, 0, $ARGV[0], SPIF_UPDATEANDSENDIN
+I); |
Някой ако намери инфо и как се стартира hiden процес ще стане муцка! | | boy4oВто, 11.11.08, 12:04 | RE: Конурс - семпла програма за автоматична смяна на Wallpaper-ите на Desktop-a
” ... ... Някой ако намери инфо и как се стартира hiden процес ще стане муцка! „
Някой ако намери книгата "Тайните прекъсвания на Windows" (Димитър Попов, СофтМастър, С., 2006) ще стане муцка! Там всичко това го имаше най-подробно. Вашият покорен слуга прави предпечата на тази публикация. Тираж 5500. Тиражът беше изкупен от неизвестно частно лице направо от печатницата, заедно с печатните форми и плаките. Всички файлове, имащи отношение към съдържанието на публикацията мистериозно изчезнаха от компютрите на издателството. И т. н... Митко Попа (авторът, може някой да го помни от времената на сп. "Компютър за вас"), си мълчи като пръдлив по въпроса. Съжалявам, че изпадам в стила "Васил Фашиста", но това е кошмар, който и досега сънувам понякога. редактиран от boy4o на 11.11.08 12:05 | | boy4oВто, 11.11.08, 13:41 |
Не за това иде реч. Става дума за процеси, скрити за самата система (колкото и абсурдно да звучи). Зашити в DLL и т. н... Поне аз така го разбирам. | | phrozencrewВто, 11.11.08, 15:06 |
boy4o, в един друг форум един пич твърди, че книгата "Тайните прекъсвания на Microsoft и IBM" (в 2 тома) представлява малко поокастрен превод на Ralf Brown's Interrupt List, но преведено като справочник. Дали за същата информация става въпрос? Иначе инфото е много интересно. ПС: От историята ти с изкупения тираж ми се схванаха глезените! Доста притеснително звучи, а и защо ли някой има интерес да покрие тази информация. | | anonymousСря, 12.11.08, 09:26 |
Доста интересна тема се заформя ” Ехаа, колко ентусиасти се събрахме........ Нека да видим каква информация ще ни е полезна за писане на тази програма: 1. Промяна на регистъра на Win 1.1. За Windows 9x...XP: HKEY_CURRENT_USERControl PanelDesktopWallpaper 1.2. Vista - не е ясно все още 2. Промяна на ini-файла на Windows. Използва се WinAPI функция + параметри: SystemParametersInfo SPI_SETDESKWALLPAPER SPIF_SENDWININICHANGE SPIF_UPDATEANDSENDIN SPIF_UPDATEINIFILE SPIF_SENDCHANGE (незабавен ъпдейт, за по-горните не съм ги тествал) ........ „ VBScript Set WshShell = WScript.CreateObject("Wscript.Shell") WshShell.RegWrite "HKCU\Control Panel\Desktop\Wallpaper", "C:\test.bmp" WshShell.Run "RUNDLL32.EXE user32.dll,UpdatePerUserSystemParameters", 0, False WScript.Quit Batch File @ECHO OFF REG ADD "HKCU\Control Panel\Desktop" /V "Wallpaper" /T REG_SZ /F /D "C:\test.bmp" RUNDLL32.EXE user32.dll,UpdatePerUserSystemParameters ” .......... Някой ако намери инфо и как се стартира hiden процес ще стане муцка! „ 1. Старт на програма като Service.....!!! 2. Scheduled Tasks... 3. set WSHShell = WScript.CreateObject("WScript.Shell") WSHShell.Run "C:\......",0 | | anonymousСря, 12.11.08, 15:22 |
Открих... сега остава само със Scheduled Tasks да се нагласи или cron....задължително във папката c:\windows\wallpapers картинките трябва да са във .bmp формат/разширение. set fso = CreateObject("Scripting.FileSystemObject") set files = fso.GetFolder("c:\windows\wallpapers\").Files Const HKEY_CURRENT_USER = &H80000001 strComputer = "." Set objReg = GetObject("winmgmts:\\" & strComputer & "\root\default:StdRegProv") intLowNumber = 1 intHighNumber = files.Count Randomize intNumber = Int((intHighNumber - intLowNumber + 1) * Rnd + intLowNumber) intActual = 1 for each file in Files If intActual = intNumber Then strValue = "c:\windows\wallpapers\" & file.Name End If intActual = intActual +1 next strKeyPath = "Control Panel\Desktop" ValueName = "Wallpaper" objReg.SetStringValue HKEY_CURRENT_USER, strKeyPath, ValueName, strValue Set WshShell = WScript.CreateObject("Wscript.Shell") WshShell.Run "RUNDLL32.EXE user32.dll,UpdatePerUserSystemParameters", 0, False WScript.Quit | | boy4oЧет, 13.11.08, 10:58 | RE: Конкурс - семпла програма за автоматична смяна на Wallpaper-ите на Desktop-a
” boy4o, в един друг форум един пич твърди, че книгата "Тайните прекъсвания на Microsoft и IBM" (в 2 тома) представлява малко поокастрен превод на Ralf Brown's Interrupt List, но преведено като справочник. Дали за същата информация става въпрос? Иначе инфото е много интересно. ПС: От историята ти с изкупения тираж ми се схванаха глезените! Доста притеснително звучи, а и защо ли някой има интерес да покрие тази информация. „
Не точно същата информация, но от приблизително същия вид. В същност почти не ставаше дума за прекъсвания в прецизния смисъл на термина, а по-скоро за недокументирани функции, настройки и др. под. на Windows-ите XP и Server 2003. Заглавието Митко го беше избрал нарочно по подобие на другата книга. А кой може да има интерес... Предполагам, този, който е "забравил" да включи всичко това в документацията. | | phrozencrewЧет, 13.11.08, 19:18 |
armenxxx1, както винаги изскачаш с добри идеи! Железен! koko5, хубави програмки си предложил! Добре ще е да ги цъкнеш към профила си, като ги предложиш и за добавяне в download.bg. Така още повече потребители ще могат да се възползват от тях. Все още никой не е предложил GUI версия. Но пък моя ентусиазъм не намалява, въпреки готовите готини програми. Аз ще се опитам да предложа нещо, но все още нямам време да го сглобя. Живот и здраве... | | electric_ccПет, 14.11.08, 20:16 |
MySaver.zip Това е програмка, написана на VisualBasic 6.0. Тя преброява всички файлове с разширение JPG. Могат да се добавят и други формати, например GIF. При стартиране на програмата, те се изобразяват през 0.5 секунди, за ускоряване на демонстрацията, но времето може да се направи произволно като се посочи в параметъра Timer.Interval [в милисекунди]. В пакета се намират програмният код и компилиран вариант. Необходимо е да се добави още една процедура, която да променя размерите на Picture1, така, че картините да изглеждат естествено, но това оставям на желаещите да експериментират. При компилацията, при стартиране на Make EXE в полето Application Title трябва да се напише SCRNSAVE:MySaver. | | Коментар |