![]() |
Hintergrundbild ändern
Liste der Anhänge anzeigen (Anzahl: 1)
Habmal ein Programm geschrieben, das mir den Hintergrund ändert.
Sucht alle Daten in einem von mir angegebenen Ordner(und Unterordner) und sucht dann nach den zufallsprinzip(durch miteinberechnen der momentanen sekunden verbessert) ein bild aus, welches als Hintergrund eingestellt wird. Habs bei mir im Autostart...Belebt meinen PC etwas :spin2: |
Re: Hintergrundbild ändern
Compiler Hinweise und Warnungen interessieren dich nicht oder? :roll:
Des weiteren als ich es compilieren wollte bekam ich das: Zitat:
Delphi-Quellcode:
Dann packe ich mich echt an den Kopf. Zum Ausprobieren OK, aber in der Releaseversion schmeißt man sowas dann doch raus.
procedure TForm1.Button2Click(Sender: TObject);
//var // i,x,y:Integer; begin // for x:=1 to StrToInt(copy(TimeTOStr(now),7,8)) do // i:=Random(zaehler); // Bildname:=ListBox1.Items.Strings[i]; // Image1.Picture.LoadFromFile(BildName); end; Ach ja: "List index out auf Bounds" kommt auch beim Start der Exe. Eventuell eien kleine Readme, wie an es bedient wäre nicht schlecht. Und bevor es Mathias sieht und sagt: Ja das nonVCL zu machen wäre ein Klacks und dann hätte man auch nicht eine 456 KB Exe ständig geladen. Oder beendet sich dein Programm, wenn es den Hintergrund gewechselt hat? Ich sehe gerade das tut es nicht. |
Re: Hintergrundbild ändern
Hast du die Pfad.txt an deien Benutzerkonto(deinen PC) angepasst?
|
Re: Hintergrundbild ändern
wird der ganze Desktop dann wieder neu gemalt oder bekommst du das irgendwie hinn ohne das der Desktop kurz flackert?? Worauf ich hinaus will. Kann man das ganze auch so machen das man aller paar zehntelsekunden das bild wechselt ohne das, das klicken auf symboloe unmöglich wird (webcamp als desktophintergrundbild)
|
Re: Hintergrundbild ändern
So viel ich weiss, flackert es schon kurz und auserdem braucht es eine bestimmte rechenzeit, bist das hintergrundbild eingestellt ist. :wall:
|
Re: Hintergrundbild ändern
Zitat:
Noch was: So Fehler, die auftreten, wenn keien Bilde rgefunden wurden oder wenn der Pfad nicht stimmt, sollten unbedingt abgefangen werden. gescheite fehlermeldung, mit der auch mein Vater was anfangen könnte und gut ist. |
Re: Hintergrundbild ändern
Arbeite schon an einer verbesserten Version!!! :lol:
|
Re: Hintergrundbild ändern
Hab jetzt ne neue Version geschrieben
+Readme-Datei=Anleitung +Vehlermeldung wenn kein Bild in angegebenen ordner +kein unnötiger quelltext |
Re: Hintergrundbild ändern
Kuck dir mal die ganzen Hinweise und Warnungen an, die beim Kompilieren angezeigt werden, das solltest du noch mal unter die Lupe nehmen ;-)
Und kann er sich nciht das Verzeichnis irgendwie automatisch suchen ? PS: Fehlermeldung wird mit F geschrieben ;-) |
Re: Hintergrundbild ändern
.)Welche Fehlermeldungen meinst du genau???
Bei mir kommen überhaupt keine!!! :wiejetzt: ScreenShot wäre toll... .)Das das Verzeichniss selbst gesucht wird ist schwer...woher soll das Programm wissen welche Bilder du anzeigen willst?! |
Re: Hintergrundbild ändern
|
Re: Hintergrundbild ändern
Das Blöde ist, dass man in die Textdatei nicht nur den Pfad (C:\...\Eigene Bilder\) eingeben muss sonder (C:\...\Eigene Bilder\*.bmp bzw. C:\...\Eigene Bilder\*.jpg)..Arbeite agber gerade an einer Verbesserung
Un dass man den Pfad nicht im Programm ändern kann, liegt daran, dass das Programm nur kurtz erscheint und sich gleich wieder schließt. :lol: |
Re: Hintergrundbild ändern
Liste der Anhänge anzeigen (Anzahl: 1)
SO!!!
Hier ist nun meine neue Version: Arbeited nicht mehr mit ActiveDesktop und auch in der Textdatei muss man nicht mehr C:\...\Eigene bilder\*.bmp sonder nur mehr den Pfad (C:\...Eigene Bilder\) angeben. Wenns weitere Fehler gibt bitte melden!!! |
Re: Hintergrundbild ändern
@XeRo
Von Fehlermeldungen habe ich nicht geredet ;-). Ich habe von Hinweisen und Warnungen geredet. Beim Compilieren erscheint doch unterm Editor-Fenser eine kleine Box. Dort stehen (oder stande ? habe mir den Source der neuen Version noch nicht angeschaut.) jede Menge Warnungen und Hinweise bei drin. Diese solltest du noch ausmerzen. Aber sonst :thuimb: |
Re: Hintergrundbild ändern
Zitat:
Zitat:
Zitat:
Hat also irgendwo etwas mit Komfort zu tun. Es gibt sogar Dialoge (Stichwort ![]() |
Re: Hintergrundbild ändern
Ich habe gerade eben mal deine neue Version runtergeladen, aber ich wollt´ nicht glauben, was ich da sah. Also machen wir´s auf die sarkastische Art:
Zitat:
|
Re: Hintergrundbild ändern
Ich glaube XeRo ist Linux vorbelastet. Da hackt man doch auch nur in den Config Dateien rum um irgendwas, irgendwie "zum laufen" zu bringen. :mrgreen:
|
Re: Hintergrundbild ändern
Liste der Anhänge anzeigen (Anzahl: 1)
Im Anhang eine kleine Übung, damit mir die Finger nicht einfrieren. ;)
Hat ein bisschen länger gedauert, da ich bisher noch nichts mit dem Active Desktop gemacht habe (habe ihn ja immer deaktiviert), also musste ich mir das erst mal anschauen. Kannst du als Grundlage nehmen, @XeRo. Ich habe auf die Anzeige des Bildes im Programm verzichtet. Ist ja auch logisch, ich seh´s ja dann auf dem Desktop. Und darum ist´s dann mit D5 kompiliert auch bloß 25k groß. Für 9x und NT 4 gibt´s außerdem noch einen Sonderfall, weil die ohne Active Desktop nur Bitmaps (BMP) anzeigen können. Dazu bitte die Prozedur "InitSupportedExt" beachten. Wenn das Programm den gewünschten Pfad nicht findet, oder wenn es keine INI-Datei gibt (wo der Pfad gespeichert ist), oder wenn man es mit dem Parameter "/n" startet, kann man den Ordner mit den nack... äh, ich meine: mit den anspruchsvollen Bildern via SHBrowseForFolder auswählen. :mrgreen: Gruß. |
Re: Hintergrundbild ändern
Zitat:
Und zu dem Problem mit der Pfadeingabe im Programm: Daran arbeite ich gerade... |
Re: Hintergrundbild ändern
@ Mathias
So könnte man es auch programmieren, wenn man so programmieren könnte. :cry: Matthias L. |
Re: Hintergrundbild ändern
Mach dir nix draus. Bin ja selbst nicht fehler-resistent. Die Prozedur "ChangeWallpaper" (die aus meinem Programm, meine ich!) sollte besser so aussehen:
Delphi-Quellcode:
;)
procedure ChangeWallpaper(const szFilename: string);
var oleres : HRESULT; actdesk : IActiveDesktop; compopt : TComponentsOpt; dwReserved : dword; begin actdesk := CreateComObject(CLSID_ActiveDesktop,oleres) as IActiveDesktop; if(oleres = S_OK) then begin ZeroMemory(@compopt,sizeof(compopt)); compopt.dwSize := sizeof(compopt); dwReserved := 0; actdesk.GetDesktopItemOptions(compopt,dwReserved); // Active Desktop ist aktiv if(compopt.fActiveDesktop) then begin actdesk.SetWallpaper(pwidechar(widestring(szFilename)),0); actdesk.ApplyChanges(AD_APPLY_ALL or AD_APPLY_FORCE); exit; end end; // im Fehlerfall, bzw. ohne Active Desktop SystemParametersInfo(SPI_SETDESKWALLPAPER,0,pointer(szFilename), SPIF_SENDWININICHANGE); end; |
Re: Hintergrundbild ändern
Um das HintergrunBild auch unter "Eigenschaften von Anzeige"\"Hintergrund" anzeigen zu lassen, könnte man auch folgenden Code verwenden. Allerdings weiß ich nicht, wo und wie er funktioniert...(ist nicht von MIR).
Delphi-Quellcode:
Uses Registry;
procedure SetWallpaper(sWallPaperBMPPath: string; bTile: Boolean); var reg: TRegIniFile; begin reg := TRegIniFile.Create('Control Panel\Desktop'); try with reg do begin WriteString('', 'Wallpaper', sWallPaperBMPPath); WriteString('', 'TileWallpaper', IntToStr(Ord(bTile))); end; finally reg.Free; end; SystemParametersInfo(SPI_SETDESKWALLPAPER, 0, nil, SPIF_SENDWININICHANGE); end; |
Re: Hintergrundbild ändern
Liste der Anhänge anzeigen (Anzahl: 1)
Hab mal schnell ein Programm geschrieben zur leichten Eingabe von Ordnern, musst wenn du willst nur den namen der Datei ändern. (ist aber wohl überflüssig.)
Ach ja und @MathiasSimmack leider unterstütz dein Programm keine Unterordner. Und es unterstützt kein JPG. Habs ausprobiert. |
Re: Hintergrundbild ändern
Ok...danke nochmal...
Ich bin jetzt etwas überrascht, weil ich das programm schon total verdrängt hatte... aber dennoch danke! :thumb: |
Re: Hintergrundbild ändern
kann man des auch so machen, dass das Programm alle 5 Minuten das Hintergrundblid ändert?
|
Re: Hintergrundbild ändern
ja du kannst ja einfach einen timer benutzen...oder du schreibst selbst eine zeitabfrage... :gruebel:
oder hast du damit probleme? wenn ja nur sagen...aber bitte in nen neuen thread... |
Re: Hintergrundbild ändern
Zitat:
einer html seite die das bild anzeigt peace |
Alle Zeitangaben in WEZ +1. Es ist jetzt 23:44 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz