Schrift
Wiki:Tipp zum Debugging: use Data::Dumper; local $Data::Dumper::Useqq = 1; print Dumper \@var;
[thread]1239[/thread]

Hintergrundbild ändern: bei Windows XP



<< |< 1 2 >| >> 18 Einträge, 2 Seiten
Crian
 2004-12-28 16:15
#12647 #12647
User since
2003-08-04
5871 Artikel
ModeratorIn
[Homepage]
user image
Ich habe ein Programm geschrieben, das mir aus einer Reihe von Bildern ein Hintergrundbild auswählt und unter einem bestimmten Namen an eine bestimmte Stelle kopiert.

Leider reicht es bei XP nicht mehr aus, dieses Bild als Hintergrundbild einzustellen, Windows bekommt die Änderungern nicht mehr mit. Gibt es eine Möglichkeit, das Bild beim Booten per Programmaufruf festzulegen? Oder ist dafür irgend ein Wert in der Registry nötig?

Auf jedenfall verwundert es mich, dass Windows die Änderungen ignoriert. Dafür muss es sich das eingestellt Bild ja auch irgendwohinkopieren.
s--Pevna-;s.([a-z]).chr((ord($1)-84)%26+97).gee; s^([A-Z])^chr((ord($1)-52)%26+65)^gee;print;

use strict; use warnings; Link zu meiner Perlseite
pktm
 2004-12-28 18:44
#12648 #12648
User since
2003-08-07
2921 Artikel
BenutzerIn
[Homepage]
user image
Ich weis, dass es das Modul Win32::Wallpaper gibt, aber ob das nicht das Selbe macht wie du weis ich nicht.
mfg pktm
http://www.intergastro-service.de (mein erstes CMS :) )
Strat
 2004-12-28 21:23
#12649 #12649
User since
2003-08-04
5246 Artikel
ModeratorIn
[Homepage] [default_avatar]
teste mal, ob folgendes noch funktioniert:
Code (perl): (dl )
1
2
3
4
5
6
7
8
9
#!/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.";
$syspinf->Call(SPI_SETDESKWALLPAPER, 0, $ARGV[0], SPIF_UPDATEANDSENDINI);

$ARGV[0] ist der Name des Wallpapers...\n\n

<!--EDIT|Strat|1104261891-->
perl -le "s::*erlco'unaty.'.dk':e,y;*kn:ai;penmic;;print"
http://www.fabiani.net/
Crian
 2004-12-30 11:03
#12650 #12650
User since
2003-08-04
5871 Artikel
ModeratorIn
[Homepage]
user image
Win32:API kennt er irgendwie nicht, ich schau mal bei ActiveState...

-> "No PPM packages are yet available for this distribution."

Ich hab mir jetzt von CPAN die folgenden Per-Module geholt und lokal abgelegt:

Win32::API.pm
Win32::API::Type.pm
Win32::API::Struct.pm


Nun sieht die Meldung folgender Maßen aus:

Code: (dl )
1
2
3
4
M:\daten\perl\bgr_kalender>perl -MWin32::API -e 1
Can't locate loadable object for module Win32::API in @INC (@INC contains: c:/Perl/lib c:/Perl/site/lib .) at -e line 0
Compilation failed in require.
BEGIN failed--compilation aborted.


Was könnte ihm jetzt fehlen?

Edit: Wenn man sich die Eigenschaften des Desktops anschaut, wird auch das von meinem Programm überschriebene Bild richtig angezeigt, drückt man dann ok, ändert sich auch das Hintergrundbild auf dem wirklichen Desktop, aber dies passiert nicht beim booten.\n\n

<!--EDIT|Crian|1104399278-->
s--Pevna-;s.([a-z]).chr((ord($1)-84)%26+97).gee; s^([A-Z])^chr((ord($1)-52)%26+65)^gee;print;

use strict; use warnings; Link zu meiner Perlseite
Rambo
 2004-12-30 11:22
#12651 #12651
User since
2003-08-14
803 Artikel
BenutzerIn

user image
was für ein perl hast du denn drauf? ich habe
5.8.0 unter windoof und kann über ppm das modul runter laden
Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
12
PPM - Programmer's Package Manager version 3.1.
Copyright (c) 2001 ActiveState SRL. All Rights Reserved.

Entering interactive shell. Using Term::ReadLine::Stub as readline library.

Type 'help' to get started.

ppm> search win32::API
Searching in Active Repositories
1. Win32-API [0.41] Perl Win32 API Import Facility
2. Win32-API-OutputDebugString [0.03] OutputDebugString Win32 API support
ppm>


fürti rambo
Crian
 2004-12-30 13:06
#12652 #12652
User since
2003-08-04
5871 Artikel
ModeratorIn
[Homepage]
user image
Öhm *g

Ich hab bei Active State direkt auf den Webseiten gesucht, Du hast natürlich Recht:

Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
M:\daten\perl\bgr_kalender\bilder\09>ppm
PPM - Programmer's Package Manager version 3.1.
Copyright (c) 2001 ActiveState Corp. All Rights Reserved.
ActiveState is a devision of Sophos.

Entering interactive shell. Using Term::ReadLine::Stub as readline library.

Type 'help' to get started.

ppm> search Win32::API
Searching in Active Repositories
1. Win32-API [0.41] Perl Win32 API Import Facility
2. Win32-API-OutputDebugString [0.03] OutputDebugString Win32 API support
ppm> install 1
Package 1:
====================
Install 'Win32-API' version 0.41 in ActivePerl 5.8.4.810.
====================
Downloaded 36283 bytes.
Extracting 22/22: blib/arch/auto/Win32/API/Callback/Callback.lib
Installing C:\Perl\site\lib\auto\Win32\API\API.bs
Installing C:\Perl\site\lib\auto\Win32\API\API.dll
Installing C:\Perl\site\lib\auto\Win32\API\API.exp
Installing C:\Perl\site\lib\auto\Win32\API\API.lib
Installing C:\Perl\site\lib\auto\Win32\API\Callback\Callback.bs
Installing C:\Perl\site\lib\auto\Win32\API\Callback\Callback.dll
Installing C:\Perl\site\lib\auto\Win32\API\Callback\Callback.exp
Installing C:\Perl\site\lib\auto\Win32\API\Callback\Callback.lib
Installing C:\Perl\html\site\lib\Win32\API.html
Installing C:\Perl\html\site\lib\Win32\API\Callback.html
Installing C:\Perl\html\site\lib\Win32\API\Struct.html
Installing C:\Perl\html\site\lib\Win32\API\Type.html
Files found in blib\arch: installing files in blib\lib into architecture dependent library tree
Installing C:\Perl\site\lib\Win32\API.pm
Installing C:\Perl\site\lib\Win32\API\Callback.pm
Installing C:\Perl\site\lib\Win32\API\Struct.pm
Installing C:\Perl\site\lib\Win32\API\Type.pm
Successfully installed Win32-API version 0.41 in ActivePerl 5.8.4.810.
ppm>


Nun probier ich den Schnippsel von Strat mal aus...
s--Pevna-;s.([a-z]).chr((ord($1)-84)%26+97).gee; s^([A-Z])^chr((ord($1)-52)%26+65)^gee;print;

use strict; use warnings; Link zu meiner Perlseite
Crian
 2004-12-30 13:11
#12653 #12653
User since
2003-08-04
5871 Artikel
ModeratorIn
[Homepage]
user image
Er tut irgendwas, allerdings ist das Hintergrundbild nun einfarbig blau. Kann das daran liegen, dass meine Bilder jpg's und keine bmp's sind? Edit: Ja, ich habe testweise mal ein bmp verwendet, damit gehts... Also bleibt die Frage:

Falls ja, gibts irgendein Windows-Kommandozeilentool, um das kopierte Bild vorher in bmp zu wandeln?\n\n

<!--EDIT|Crian|1104405798-->
s--Pevna-;s.([a-z]).chr((ord($1)-84)%26+97).gee; s^([A-Z])^chr((ord($1)-52)%26+65)^gee;print;

use strict; use warnings; Link zu meiner Perlseite
Rambo
 2004-12-30 13:54
#12654 #12654
User since
2003-08-14
803 Artikel
BenutzerIn

user image
ich meine es geht auch mit JPG wenn man active desktop
aktiviert hat.
tool muss ich mal schauen ob es so was gibt
Crian
 2004-12-30 14:11
#12655 #12655
User since
2003-08-04
5871 Artikel
ModeratorIn
[Homepage]
user image
Ich dachte der wäre bei XP immer aktiviert. Jedenfalls sehe ich irgendwie keine Umschaltmöglichkeit.
Wenn Du kein Tool findest, kann ich per Batchkonvertierung von Paint Shop Pro alle meine Bilder in bmp wandeln, aber das wäre wirklich nur die Notlösung, wegen unnötiger Platzverschwendung.
s--Pevna-;s.([a-z]).chr((ord($1)-84)%26+97).gee; s^([A-Z])^chr((ord($1)-52)%26+65)^gee;print;

use strict; use warnings; Link zu meiner Perlseite
Rambo
 2004-12-30 16:36
#12656 #12656
User since
2003-08-14
803 Artikel
BenutzerIn

user image
also ich habe es bei mir mal mir W2K probiert und ich kann
als hintergrund auch mit jpg dateien arbeiten aber nur wenn
ich active desktop aktive habe.
wenn ein ein jpg file haben möchte fragt er ob er AD aktivieren
soll. dies kann man aber auch manuell machen wenn man die
rechte maustaste in einem freien feld drückt und dann
den reiter WEB auswählt, hier gibt des dann die option
Webinhalte auf dem active Desktop anzeigen.

evtl. hilft das weiter
<< |< 1 2 >| >> 18 Einträge, 2 Seiten



View all threads created 2004-12-28 16:15.