Chciałbym stworzyć autorun o rozmiarach 640x480 […]
Plik wykonywalny nie musi się nazywać autorun.exe
. To który plik zostanie uruchomiony po dwukliku na ikonę nośnika, definiuje się w pliku autorun.inf
, w wartości open
:
[autorun]
icon=myapp.exe,1
open=myapp.exe
label=my application name
Tak więc najpierw zrób program, a następnie przygotuj plik autorun.inf
i uzupełnij go, korzystając oczywiście z dokumentacji, aby wszystko zrobić w należyty sposób.
[…] i z samymi rozmiarami nie ma problemu natomiast chciałbym zrobić coś takiego, aby "tło" programiku nie było czytane z parametru "Picture" zaś z lokalizacji obok pliku autorun.exe dla przykładu: obrazy\background.bmp.
Dodaj w zdarzeniu OnCreate
formularza linijkę, ładującą grafikę z pliku. Przykład:
procedure TForm1.FormCreate(Sender: TObject);
begin
Image.Picture.LoadFromFile('pictures\background.bmp');
end;
Kolejna sprawa to że chciałbym zrobić button z obrazka, który zmienia się podczas każdej akcji mam tu na myśli(aktywny obrazek, w użyciu np. przez program itd): _down, _on, _up. Obrazki do buttonu również powinny się znajdować w: obrazy*tutaj*.
W Delphi 7, standardowa paleta komponentów nie zawierała kontrolki z taką funkcjonalnością.
Trzecią i ostatnią rzeczą jest to że chciałbym zablokować uruchomienie nie więcej niż jedno okienko autoruna, bawiąc się kompilowaniem zauważyłem że program można wywoływać nieskończoną ilość razy.
Wystarczy obsługa mutex-ów – nadaje się idealnie i działa globalnie (w obrębie całego systemu).
Na marginesie – środowisko Delphi 7 jest stare i szkoda na nie czasu. Poza tym, nie jest to darmowe oprogramowanie, więc albo używasz wersji trial, która maksymalnie za 30 dni straci ważność i nie pozwoli się więcej uruchomić, albo używasz go niezgodnie z licencją (delikatnie mówiąc).
Dlatego też zostaw to środowisko i sięgnij po darmowego Lazarusa – też kod pisze się w obiektowym Pascalu. Poza tym posiada o wiele większą funkcjonalność, a pliki wykonywalne są kompatybilne ze wszystkimi wersjami Windowsa, od linii NT wzwyż.