Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » Borland C++ Builder » desktop wallpaper ändern

Forum | Hilfe | Team | Links | Impressum | > Suche < | Mitglieder | Registrieren | Einloggen
  Quicklinks: MSDN-Online || STL || clib Reference Grundlagen || Literatur || E-Books || Zubehör || > F.A.Q. < || Downloads   

Autor Thread - Seiten: > 1 <
000
29.10.2003, 18:19 Uhr
~WG_Spritzwasser
Gast


kann sein, dass das winapi-zeug ist, ka (kenn mich damit nicht aus ), sorry erstmal falls es das falsche forum ist

also generell will ich einfach mit nem programm mein hintergrundbild vom desktop ändern. ich hab allerdings keine ahnung wie, bzw. welche(n) befehl(e) ich dazu brauch.
ich hab mal versucht einfach in der registry den wert HKEY_CURRENT_USER\Control Panel\Desktop\Wallpaper zu ändern, das ging allerdings nicht.
gibts dafür nen einfachen befehl oder sowas um es zu ändern ?

danke schonmal für antworten
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
29.10.2003, 18:49 Uhr
Uwe
C/C++ Master
(Administrator)


Hallo,

C++:
void __fastcall TForm1::Button1Click(TObject *Sender)
{
    SystemParametersInfo(SPI_SETDESKWALLPAPER,
     0,
     "C:\\dein.BMP",
     SPIF_SENDCHANGE | SPIF_UPDATEINIFILE | SPIF_SENDWININICHANGE);    
}

--
"Es ist schwierig, ein Programm wirklich idiotensicher zu machen, weil Idioten so genial sind."

Bis dann...
Uwe

Dieser Post wurde am 29.10.2003 um 18:50 Uhr von Uwe editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
002
29.10.2003, 19:24 Uhr
~WG_Spritzwasser
Gast


danke
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
003
29.10.2003, 19:28 Uhr
~WG_Spritzwasser
Gast


ich seh grade, das geht irgendwie nur mit bmps. wenn ich jpegs nehm und den desktop aktualisier, wird er komplett schwarz :/
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
004
29.10.2003, 19:32 Uhr
~WG_Spritzwasser
Gast


ahja, sorry, dass ich schon wieder schreib, aber hab ne methode gefunden
einfach jpg öffnen und als temoräre bmp speichern.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
005
29.10.2003, 19:36 Uhr
Uwe
C/C++ Master
(Administrator)


Hallo *derdenthreadalleinefuellt* ,
bei VC++ gibt es die Schnittstelle IActiveDesktop, womit man so etwas eledigen kann. K.A. ob es ähnliches beim Builder gibt.
--
"Es ist schwierig, ein Programm wirklich idiotensicher zu machen, weil Idioten so genial sind."

Bis dann...
Uwe
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
006
29.10.2003, 20:27 Uhr
~WG_Spritzwasser
Gast


netter titel ;)

naja, also irgendwie geht das ganze doch noch nicht :/
ich habs jetzt so:


C++:
void __fastcall TForm1::Button5Click(TObject *Sender)
{
Image1->Picture->LoadFromFile("C:\\ich\\Eigene Bilder\\wowdez.bmp");
//Image1->Picture->LoadFromFile("C:\\ich\\Eigene Bilder\\mond.jpg");
Image1->Picture->SaveToFile ("C:\\ich\\test\\test.bmp");
SystemParametersInfo(SPI_SETDESKWALLPAPER,
     0,
     "C:\\ich\\test\\test.bmp",
     SPIF_SENDCHANGE | SPIF_UPDATEINIFILE | SPIF_SENDWININICHANGE);
}



wenn ichs mit der bmp mach, gehts, mit der jpg gehts nicht. auch wenn ich die datei als jpg abspeicher gehts nur mit der bmp. wenn ich da die jpg lade, wieder speicher und dann setze kommt nix.

--edit-- Smilies deaktiviert.

Dieser Post wurde am 30.10.2003 um 17:32 Uhr von Uwe editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
007
13.04.2004, 00:58 Uhr
~roMan
Gast


Hallo!

Ich habe gerade genau das selbe Problem wie du. Wenn ich ne Lösung hab, werd ich's mal hier posten.

Ich hab von C++ noch nicht so viel Ahnung. Könnte mir vorstellen, dass dein Programm "mond.jpg" nicht umformatiert. Du bekommst also eine Datei "test.bmp", die zwar die Endung bmp hat, aber immer noch im jpg-Format ist.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
008
14.04.2004, 15:53 Uhr
~roMan
Gast


Ich hab das mal mit der Schnittstelle IActiveDesktop probiert. Obwohl keine Fehlermeldung kommt, passiert leider nichts. Weiß jemand warum? Ein Großteil des Codes ist aus der MSDN-Library kopiert.


C++:
    HRESULT hr;
    IActiveDesktop *pActiveDesktop;
    //Create an instance of the Active Desktop
    hr = CoCreateInstance(CLSID_ActiveDesktop, NULL, CLSCTX_INPROC_SERVER,
           IID_IActiveDesktop, (void**)&pActiveDesktop);
    if( hr == S_OK )
    {
        //Insert code to call the IActiveDesktop methods
        pActiveDesktop->SetWallpaper( (LPCWSTR)"C:\\Bild1.jpg", 0 );
        Sleep( 1000 );
        pActiveDesktop->SetWallpaper( (LPCWSTR)"C:\\Bild2.jpg", 0 );
        // Call the Release method
        pActiveDesktop->Release();
    }
    if( hr == REGDB_E_CLASSNOTREG )
        MessageBox( NULL, "REGDB_E_CLASSNOTREG ActiveDesktop-Instanz konnte nicht erzeugt werden.", pAppName, MB_OK | MB_ICONERROR );
    if( hr == CLASS_E_NOAGGREGATION )
        MessageBox( NULL, "CLASS_E_NOAGGREGATION ActiveDesktop-Instanz konnte nicht erzeugt werden.", pAppName, MB_OK | MB_ICONERROR );

 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 <     [ Borland C++ Builder ]  


ThWBoard 2.73 FloSoft-Edition
© by Paul Baecher & Felix Gonschorek (www.thwboard.de)

Anpassungen des Forums
© by Flo-Soft (www.flo-soft.de)

Sie sind Besucher: