Skocz do zawartości

zmiana tapety nie dziala


KozakPL

Rekomendowane odpowiedzi

Siema.Napisałem takie cos:

GML
...

funkcja double Tapeta(char* tapeta)

{

SystemParametersInfo(SPI_SETDESKWALLPAPER , 0 , tapeta , SPIF_UPDATEINIFILE);

}

...

i wczytuje do gm tak:

GML
f6=external_define(dll,"Tapeta",dll_stdcall,ty_real,1,ty_string)

i używam tak:

GML
//create

Tapeta="data/Tapeta.bmp"

//step

if keyboard_check_pressed(ord("T"))

{

external_call(f6,Tapeta)

}

 

Nie ma błędów ani nic...uruchamia się ale nie działa ;/ próbowałem Tapeta="data\\Tapeta.bmp" itp ale nic ;/

 

Help...

Odnośnik do komentarza
Udostępnij na innych stronach

;O Jak ci nie mogło warnigów wywalić:

double musi coś zwracać...

i coś mnie boli to:

 

SystemParametersInfo(SPI_SETDESKWALLPAPER , 0 , CHAR*! tapeta , SPIF_UPDATEINIFILE);

nie jestem pewien czy to jest char...

Crack, trzeci argument to void*, więc zastrzeżeń nie ma ;o

 

Wg. MSDN potrzeba null terminated string...

set pvParam to point to a NULL-terminated string containing the full path to the bitmap file.

 

char tapetka[255];
tapetka = "C:\tapeta.jpeg';

Odnośnik do komentarza
Udostępnij na innych stronach

Jeśli chcesz dodać odpowiedź, zaloguj się lub zarejestruj nowe konto

Jedynie zarejestrowani użytkownicy mogą komentować zawartość tej strony.

Zarejestruj nowe konto

Załóż nowe konto. To bardzo proste!

Zarejestruj się

Zaloguj się

Posiadasz już konto? Zaloguj się poniżej.

Zaloguj się
  • Ostatnio przeglądający   0 użytkowników

    • Brak zarejestrowanych użytkowników przeglądających tę stronę.
×
×
  • Dodaj nową pozycję...