Avatar billede m_a_d_s_e_n Nybegynder
16. juni 2003 - 13:28 Der er 5 kommentarer og
1 løsning

opdatering af desktop

Jeg er ved at lave et program i BCB5, som kan ændre ens baggrundsbillede i windows, jeg har bare det problem, at den først opdatere billedet når jeg har genstartet Computeren.

Hvordan for man den til at opdatere ens baggrundbillede uden at genstarte.
Avatar billede soreno Praktikant
16. juni 2003 - 13:31 #1
Et skud i tågen:

Få fat i desktoppens hwnd:
HWND GetDesktopWindow(VOID)

og brug:
BOOL UpdateWindow(
    HWND hWnd     // handle of window 
  );   

til at opdatere vinduet med.


F.eks.

if(UpdateWindow(GetDesktopWindow()))
{
  MessageBox(NULL, "success - UpdateWindow", "info:", MB_OK);
}
else
{
  MessageBox(NULL, "error - UpdateWindow", "info:", MB_OK);
}
Avatar billede soreno Praktikant
16. juni 2003 - 13:37 #2
Ok, jeg browsede lige lidt.

Det er:
SystemParametersInfo(SPI_SETDESKWALLPAPER, 0, "c:\\windir\\nameof.bmp", SPIF_UPDATEINIFILE)

Du skal bruge.
Avatar billede m_a_d_s_e_n Nybegynder
16. juni 2003 - 13:42 #3
Jeg har prøvet dit eksempel, men det opdatere ikke billedet
Avatar billede soreno Praktikant
16. juni 2003 - 13:45 #4
Har du prøvet det nederste ?

Prøv at post den kode du bruger.
Avatar billede m_a_d_s_e_n Nybegynder
16. juni 2003 - 13:48 #5
Det har jeg nu, og det virker.

Tusind Tak For Hjælpen..
Avatar billede soreno Praktikant
16. juni 2003 - 13:55 #6
Så lægger jeg lige et svar.

Hvis andre skulle være interesseret virker dette:

#include <windows.h>
#include <string.h>


int main(int argc, char **argv)
{
    if(argc == 2)
    {
        char buffer[MAX_PATH];

        GetWindowsDirectory(buffer, sizeof(buffer));
        strcat(buffer, "\\");
        strcat(buffer, argv[1]);
        CopyFile(argv[1], buffer, TRUE);

        SystemParametersInfo(SPI_SETDESKWALLPAPER, 0, buffer, SPIF_UPDATEINIFILE);
    }

    return 0;
}

f.eks.
exefile.exe test.bmp

Kopierer test.bmp til windir\test.bmp
Sætter desktop til test.bmp
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester