Podrecznik SystemInformation id Nieznany

background image

Podr

ę

cznik: SystemInformation

ś

ródło: http://gpslab.pl/article_wstep_4364.html


SystemInformation to potężne narzędzie, które w rękach zaawansowanego użytkownika potrafi odmienić obli-
cze praktycznie każdej nawigacji GPS. Zapraszamy do obszernego opracowania w którym w wyczerpujący
sposób opisaliśmy wszystkie opcje i ustawienia tej powłoki. Artykuł kończy się przystępnym poradnikiem,
pokazującym jak krok po kroku stworzyć swoje pierwsze menu w SystemInformation. To drugi, po

WolfNCU

,

tzw. shell, czyli powłoka na system operacyjny. Aplikacja (http://gpslab.pl/file_detale_4366.html) zajmuje bar-
dzo mało miejsca na dysku, bo tylko niecałe 67kB, więc nie
zabiera również wiele zasobów. Wszystkie ustawienia, takie jak
umiejscowienie grafik, domyślna akcja dla danego przycisku czy
efekt przejścia, tworzymy edytując pliki INI. W tym artykule
opiszemy dokładnie strukturę tych plików oraz wszystkie
dostępne wartości dla parametrów.

Najprościej wyobrazić sobie możliwości SystemInformation
jako interaktywnej prezentacji w PowerPoint. Każdy osobny plik
INI określa układ elementów na kolejnych slajdach oraz
zależności pomiędzy nimi. Jeden slajd a raczej strona może być
opisywana tylko przez jeden plik .INI, ale może prowadzić do
wielu innych pod stron z własnymi plikami .INI.
Jak więc widać podobieństwem pomiędzy tymi dwoma
powłokami jest oparcie się ich konfiguracji o pliki .INI.
Największą różnicę najlepiej pokażą dwa diagramy. Pierwszy
prezentuje układ menu zaprojektowanego przy pomocy
WolfNCU:

Jak widać jest on "płaski", czyli ogranicza się tylko do jednej
strony głównej menu, z poziomu której aktywowane są
poszczególne funkcje.

Ułożymy teraz diagram z tymi samymi funkcjami, tylko
podzielonymi na kilka pod-menu, przygotowany dla
SystemInformation: Różnica pomiędzy tymi powłokami
(shell'ami) jest bardzo duża. SystemInformation może
tworzyć dowolnie skomplikowane menu, z wieloma
poziomami, odnoszące się do siebie i innych menu. W
porównaniu do tego możliwości WolfNCU wypadają bardzo
blado.
Układ katalogów w SystemInformation jest dowolny. Tylko
trzy pliki są obowiązkowe:
SystemInformation.exe -główny plik wykonywalny
SysInfoSettings.ini -plik zawiera ścieżkę do pierwszego
pliku .INI, który zostanie wczytany jako pierwszy po
uruchomieniu aplikacji
Plik .INI -jego nazwa jest dowolna, ma być wskazana w
SysInfoSettings.ini
Takie podejście do tematu daje szereg możliwości i jest
niezmiernie elastyczne - możemy przyjąć dowolny układ
katalogów i np. wydzielić katalog dla grafik, dla plików
wykonywalnych i dla plików INI. To wszystko zależy tylko od naszego wyboru.
Pierwszy i najważniejszy z plików .INI, wspominaliśmy o nim na poprzedniej stronie. Plik ten musi być w ka-
talogu razem z SystemInformation.exe Wskazuje on pierwszy plik .INI jaki ma zostać wczytany po urucho-
mieniu aplikacji. Poniżej kilka przykładów:

narzędzia.ini

..\SDMMC\SystemInformation\narzedzia.ini

..\narzedzia\main.ini

background image

Każdy plik .INI jaki opracujemy, poza SystemInformation.ini, musi zawierać jeden (i tylko jeden) element
typu

GLOBALSETTINGS

. Umieszcza się go na samym początku pliku. Przykładowa definicja elementu

wygląda następująco:

GLOBALSETTINGS
ShowMessage = 0
QuitOnDoubleClick = no
X = 0
Y = 0
Width = 320
Height = 240
Arrange = No
BackgroundBitmap = ..\background.bmp
StartUpAnimation = FlyLeft
Accelerated = yes
TopMost = yes

Podgląd:

Używając GLOBALSETTINGS musimy za każdym razem definiować rozmiary okna, takie jak rozdzielczość
ekranu nawigacji (PNA), dla której projektujemy menu.

Atrybuty elementu GLOBALSETTINGS:

BackgroundColor = [kolor]
Na przykład 00000 lub FFFFFF. Bez # przed wartością koloru

Width = [wartość]
Szerokość okna

Height = [wartość]
Wysokość okna

X = [wartość]
Pozycja okna w stosunku do lewej krawędzi

Y = [wartość]
Pozycja okna w stosunku do górnej krawędzi

BackgroundBitmap = [ścieżka]
Ś

cieżka do pliku tła, kończąca się nazwą pliku. Uwaga, tylko pliki .BMP


BitmapOffsetX = [wartość]
Odległość tła od lewej krawędzi, wyrażona w pikselach. Jeżeli X został zdefiniowany wcześniej, wtedy przesu-
nięcie od lewej liczy się od jego wartości.

BitmapOffsetY = [wartość]
Odległość tła od górnej krawędzi wyrażona w pikselach. Jeżeli wcześniej zdefiniowany został Y, wtedy prze-
sunięcie liczy się od góry plus jego wartość .

Border = [wartość]
Ramka wokół okna. Wartość musi być dodatnia.

Distance = [wartość]

background image

Wartość wyrażona w pikselach określa odstęp pomiędzy poszczególnymi elementami. Używane tylko przy
automatycznym pozycjonowaniu elementów.

Arrange = [vertically/horizontal/NO]
Automatyczne rozmieszczenie elementów w poziomie (vertically), pionie (horizontal) lub wyłączone (No).
Jeżeli wartość ustawiamy jako NO, wtedy do pozycjonowania elementów na stronie używane są ich własne
ustawienia X oraz Y.

QuitOnDoubleClick = [Yes/No]
Jeżeli wartość jest ustawiona na Yes, wtedy podwójne kliknięcie spowoduje zamknięcie programu SystemIn-
formation.

StartUpAnimation = [animacja]
Wskazuje animację (efekt przejścia) z jaką zostanie pokazane okno tworzone dla tego pliku .INI

ShutDownAnimation = [animacja]
Wskazuje animację (efekt przejścia) z jaką zostanie zamknięte okno tworzone dla tego pliku .INI

Accelerated = [Yes/No]
Funkcja w chwili obecnej nie jest jeszcze w pełni zaimplementowana, jednak zaleca się używanie jej z warto-
ś

cią Yes.


AnimationTime = [Yes/No]
Czas trwania animacji wyrażony w milisekundach. 1 sekunda = 1000 milisekund

TopMost = [Yes/No]
Przy wartości Yes okno SystemInformation będzie wyświetlane ponad innymi.

background image

Za pomoc

ą

elementu TEXT

możemy umieścić dowolny tekst na ekranie urządzenia. Mamy wpływ na jego

umiejscowienie oraz wygląd. Jeden element typu TEXT tworzy tylko jedną linijkę tekstu, bez możliwości "za-
łamania" go. Co oznacz że jeśli chcemy np. pokazać dłuższy tekst na ekranie, to musimy użyć kilku elementów
TEXT, po jednym dla każdej linii.
Poniżej dwa przykłady definicji elementu TEXT w pliku INI oraz efekt ich działania:

TEXT
x = 30
y = 30
Text = Tak wygląda TEXT
Color = FFFF00
FrameColor = 000000
Weight = 700
Size = 32
CreateFont

Podgląd:


Po lekkich zmianach ten sam element:

TEXT
x = 30
y = 30
Text = Tak wygląda tekst, niestety nie jest zawijany...
Color = FFFFFF
FrameColor = 000000
Weight = 700
Size = 16
CreateFont

Podgląd:

Atrybuty elementu TEXT:

Color = [kolor]
Kolor elementu, podawany bez #. Np. 000000 lub FFFFFF.

FrameColor = [kolor]
Kolor obramowania tekstu.

Text = [tekst]
Tekst jaki ma zostać wyświetlony

Font = [font]
Ustawia czcionkę.

background image


Size = [wartość]
Wielkość tekstu w pikselach.

Weight = [wartość]
Waga czcionki. Im wyższa tym grubsza czcionka. Przy wartości 700 wygląda jak pogrubienie.

CreateFont
Element obowiązkowy, tworzy tekst na ekranie.

x = [wartość]
Pozycja w stosunku do lewej krawędzi ekranu. Przy wartości ujemnej w stosunku do prawej krawędzi. Aktyw-
ne gdy nie wybrano automatycznego rozmieszczenia w Arrange w sekcji GLOBALSETTINGS.

y = [wartość]
Pozycja w stosunku do lewej krawędzi ekranu. Przy wartości ujemnej w stosunku do prawej krawędzi. Aktyw-
ne gdy nie wybrano automatycznego rozmieszczenia w Arrange w sekcji GLOBALSETTINGS.

background image

U

ż

ywaj

ą

c elementu MEMORY

możemy wyświetlić aktualne informacje o dostępnej pamięci fizycznej i

wirtualnej. Wartość może być podana zarówno jako tekst, jak i dwa rodzaje pasków postępu. Przykładowa de-
finicja tego elementu w pliku INI:

MEMORY
x = -24
y = 132
Width = 144
PhysMemBar = yes
PhysMemValue = yes
PhysMemString = yes
CoolVirtMemBar = no
VirtMemString = no
VirtMemValue = no
VirtMemPercent = no
CenterValue = no
TextColor = A0A0A0
BorderColor = 000000
BackgroundColorLow = BF2020
BackgroundColorHigh = 20BF20

Podgląd:


Inny przykład użycia elementu MEMORY:

MEMORY
x = 25
y = 50
Width = 270
PhysMemBar = yes
PhysMemValue = yes
PhysMemString = no
CoolVirtMemBar = no
VirtMemBar = yes
VirtMemString = yes
VirtMemValue = no
VirtMemPercent = yes
CenterValue = yes
TextColor = 000000
BorderColor = 000000
BackgroundColorLow = BF2020
BackgroundColorHigh = 20BF20

Podgląd:

Atrybuty elementu MEMORY:

Color = [kolor]
Kolor elementu, podawany bez #. Np. 000000 lub FFFFFF.

TextColor = [kolor]
Kolor tekstu, podawany bez #. Np. 000000 lub FFFFFF.

FrameColor = [kolor]
Kolor ramki, podawany bez #. Np. 000000 lub FFFFFF.

background image


BackgroundColorLow = [kolor]
Definiuje kolor paska pokazywanego, gdy wartość spadnie poniżej 25%

BackgroundColorHigh = [kolor]
Definiuje kolor paska pokazywanego, gdy wartość wzrośnie powyżej 75%

PhysMemString = [Yes/No]
Przy wartości Yes pokazuje informacje o pamięci fizycznej w postaci tekstu.

PhysMemBar = [Yes/No]
Przy wartości Yes pokazuje informacje o pamięci fizycznej w postaci paska.

CoolPhysMemBar = [Yes/No]
j.w., przy czym pokazuje lepiej wyglądający pasek postępu:


PhysMemValue = [Yes/No]
Pokazuje ilość dostępnej pamięci w formie tekstu, np. „27.95MB / 45.11MB”

PhysMemPercent = [Yes/No]
CoolVirtMemBar = [Yes/No]
Podobnie jak CoolPhysBar, tylko dotyczy pamięci wirtualnej.

VirtMemString = no
Przy wartości Yes pokazuje informacje o pamięci wirtualnej w postaci tekstu.

VirtMemValue = no
Pokazuje ilość dostępnej pamięci w formie tekstu, np. „27.25MB /32.00MB”

VirtMemPercent = [Yes/No]
CenterValue = [Yes/No]
Określa czy wyświetlany tekst powinien być wyśrodkowany.

Interval = [liczba]
Częstotliwość odświeżania wskaźników podana w milisekundach. Domyślnie wartość ta jest ustawiona na 10
minut.

x = [wartość]
Pozycja w stosunku do lewej krawędzi ekranu. Przy wartości ujemnej w stosunku do prawej krawędzi. Aktyw-
ne gdy nie wybrano automatycznego rozmieszczenia w Arrange w sekcji GLOBALSETTINGS.

y = [wartość]
Pozycja w stosunku do lewej krawędzi ekranu. Przy wartości ujemnej w stosunku do prawej krawędzi. Aktyw-
ne gdy nie wybrano automatycznego rozmieszczenia w Arrange w sekcji GLOBALSETTINGS.

background image

U

ż

ywaj

ą

c elementu DISKMEM

możemy wyświetlić informacje związane z przestrzenią dyskową. Mo-

ż

emy użyć kilku wskaźników jednocześnie, np. jeden dla pamięci flash a drugi dla pamięci wbudowanej. Przy-

kładowe użycie elementu DISKMEM:

DISKMEM
x = 25
y = 30
Width = 270
Folder = \
ShowPath = no
CoolBar = yes
Percent = yes
Value = yes
CenterValue = no
TextColor = 000000
BorderColor = 000000
BackgroundColorLow = BF2020
BackgroundColorHigh = 20BF20
LightColor = FFFFFF

Podgląd:


Drugi przykład, drobne zmiany w kodzie:

DISKMEM
x = 0
y = 0
Width = 320
Folder = c:\
ShowPath = no
CoolBar = yes
Percent = yes
Value = no
CenterValue = yes
TextColor = 000000
BorderColor = 000000
BackgroundColorLow = FF0000
BackgroundColorHigh = 0cff00
LightColor = FFFFFF

Podgląd:

Atrybuty elementu DISKMEM:

Color = [kolor]
Kolor elementu, podawany bez #. Np. 000000 lub FFFFFF.

TextColor = [kolor]
Kolor tekstu, podawany bez #. Np. 000000 lub FFFFFF.

FrameColor = [kolor]
Kolor ramki, podawany bez #. Np. 000000 lub FFFFFF.

BackgroundColorLow = [kolor]
Definiuje kolor paska pokazywanego, gdy wartość spadnie poniżej 25%

BackgroundColorHigh = [kolor]
Definiuje kolor paska pokazywanego, gdy wartość spadnie powyżej 25%

background image


Folder = [ścieżka] Ścieżka do folderu którego ilość wolnego (zajętego) miejsca będzie pokazana. Np.:
”\” by wyświetlić ilość wolnego miejsca w pamięci PNA „\SDMMC” lub „\Flash Storage” by wyświetlić ilość
wolnego miejsca na karcie pamięci.

ShowPath = [Yes/No]
Pokazuje pole ze ścieżką do katalogu, którego ilość wolnego miejsca jest sprawdzana.

Bar = [Yes/No]
Przy wartości Yes pokazuje informacje o wolnym miejscu w postaci paska.

CoolBar = [Yes/No]
j.w., przy czym pokazuje lepiej wyglądający pasek postępu.

Percent = [Yes/No]
Pokazuje wartość procentową wolnej przestrzeni.

Value = [wartość]
Definiowanie wartości początkowej (po uruchomieniu aplikacji).

CenterValue = [Yes/No]
Określa czy wyświetlany tekst powinien być wyśrodkowany.

Interval = [liczba]
Częstotliwość odświeżania wskaźników podana w milisekundach. Domyślnie wartość ta jest ustawiona na 10
minut.

x = [wartość]
Pozycja w stosunku do lewej krawędzi ekranu. Przy wartości ujemnej w stosunku do prawej krawędzi. Aktyw-
ne gdy nie wybrano automatycznego rozmieszczenia w Arrange w sekcji GLOBALSETTINGS.

y = [wartość]
Pozycja w stosunku do lewej krawędzi ekranu. Przy wartości ujemnej w stosunku do prawej krawędzi. Aktyw-
ne gdy nie wybrano automatycznego rozmieszczenia w Arrange w sekcji GLOBALSETTINGS.

background image

U

ż

ywaj

ą

c elementu BATTERY

możemy wyświetlić informacje o stanie naładowania akumulatora w

PNA. Przykładowa definicja z pliku .INI:

BATTERY
x = 100
y = -24
Width = 120
Height = 24
ColorBattery = A0A0A0
ColorHigh = 00A000
ColorLow = A0A000
ColorCritical = A00000
Segments = 10

Podgląd:

Inny przykład użycia elementu BATTERY, wyświetla on stan baterii w prawym górnym rogu:

BATTERY
x = -2
y = 2
Width = 40
Height = 10
ColorBattery = 000000
ColorHigh = 00A000
ColorLow = A0A000
ColorCritical = A00000
CoolBattery = No
Segments = 10

Podgląd:

Atrybuty elementu BATTERY:

ColorBattery = [kolor]
Kolor elementu, podawany bez #. Np. 000000 lub FFFFFF.

ColorCritical = [kolor]
Kolor elementu, przyjmowany gdy wartość naładowania akumulatora spadnie poniżej 33%, podawany bez #.
Np. 000000 lub FFFFFF.

ColorLow = [kolor]
Kolor elementu, przyjmowany gdy wartość naładowania akumulatora spadnie poniżej 66%, podawany bez #.
Np. 000000 lub FFFFFF.

ColorHigh = [kolor]
Kolor elementu, przyjmowany gdy wartość naładowania akumulatora wynosi powyżej 66%, podawany bez #.
Np. 000000 lub FFFFFF.

background image


CoolBattery = [Yes/No]
Nowy wygląd paska stanu:


ColorArrow = [kolor]
Segments = [wartość]
Ilość segmentów na które „podzielona” jest bateria z elementu CoolBattery

Test = [Yes/No]
Wartość służąca do testowania aplikacji. Umożliwia zmianę wartości wyświetlanej przez ikonkę baterii. Klika-
jąc na niej można zmieniać jej wartość.

Interval = [liczba]
Częstotliwość odświeżania wskaźników podana w milisekundach. Domyślnie wartość ta jest ustawiona na 10
minut.

x = [wartość]
Pozycja w stosunku do lewej krawędzi ekranu. Przy wartości ujemnej w stosunku do prawej krawędzi. Aktyw-
ne gdy nie wybrano automatycznego rozmieszczenia w Arrange w sekcji GLOBALSETTINGS.

y = [wartość]
Pozycja w stosunku do lewej krawędzi ekranu. Przy wartości ujemnej w stosunku do prawej krawędzi. Aktyw-
ne gdy nie wybrano automatycznego rozmieszczenia w Arrange w sekcji GLOBALSETTINGS.

background image

Korzystaj

ą

c elementu typu TIME

możemy na wyświetlaczu podać aktualny czas. Możemy zdefiniować

wygląd zegara, który będzie pokazywany jako tekst. Przykładowa definicja elementu:

TIME
x = 40
y = 40
Color = 000000
Format = 'Godzina:' HH':'mm'
Size = 32
Weight = 700
CreateFont
Interval = 60000

Podgląd:

Tym razem umieścimy zegar w prawym dolnym rogu:

TIME
x = -2
y = -2
Color = FF0000
Format = HH':'mm
Size = 12
Weight = 700
CreateFont
Interval = 60000

Podgląd:

Atrybuty elementu TIME:

ColorBattery = [kolor]
Kolor elementu, podawany bez #. Np. 000000 lub FFFFFF.

Format = [ciąg znaków]
Opis czasu zgodnie z wytycznymi ze strony

MSDN Library

.


Interval = [liczba]
Częstotliwość odświeżania wskaźników podana w milisekundach. Domyślnie wartość ta jest ustawiona na 60
sekund.

Do konfigurowania wyglądu elementu TIME musimy użyć atrybutów elementu

TEXT

. Bez CreateFont zegar

nie zostanie pokazany!

background image

Element typu DATE

służy do wyświetlania aktualnej daty. Przykładowa definicja elementu:

DATE
x = 16
y = 8
Color = A0A0A0
Size = 32
Weight = 700
CreateFont

Podgląd:


Drugi przykład:

DATE
x = -10
y = 8
Format = 'Dzisiaj jest:'yyyyy-
MM-dd'
Color = FFAA00
Size = 20
Weight = 700
CreateFont

Podgląd:

Atrybuty elementu DATE:

Format = [ciąg znaków]
Opis daty zgodnie z wytycznymi ze strony

MSDN Library

.


Interval = [liczba]
Częstotliwość odświeżania wskaźników podana w milisekundach. Domyślnie wartość ta jest ustawiona na 10
minut.

Do konfigurowania wyglądu elementu TIME musimy użyć atrybutów elementu

TEXT

. Bez CreateFont zegar

nie zostanie pokazany!

background image

Element ICONXPBUTTON

to zwykła ikona Windows. Jest to skrót do programu, który zostanie uru-

chomiony. Do prawidłowego wyświetlania elementów należy używać ikon 32-bitowych, zapisanych jako .ICO
Przykładowa definicja elementu ICONXPBUTTON z pliku .INI:

ICONXPBUTTON
x = -24
y = 22
Command = \SDMMC\Program Fi-
les\Help\Help.exe
SizeNormal = 96
SizePushed = 128
ScaleAlpha = 90
IconNormal = ..\menu\help.ico
ScaleAlpha = 100
IconPushed = ..\menu\Help.ico

Podgląd:

Drugi przykład:

ICONXPBUTTON
x = 40
y = 40
NewIni = ..\Apps\apps.ini
SizeNormal = 48
SizePushed = 48
Add = -92
ScaleAlpha = 33
IconNormal = ..\menu\Dashboard.ico
ScaleAlpha = 100
IconPushed = ..\menu\Dashboard.ico
ShutDownAnimation = FlyLeft

Podgląd:

Atrybuty elementu ICONXPBUTTON::

SizeNormal = [wartość]
Wymiar ikony w pikselach.

SizePushed = [wartość]
Wymiar ikony gdy zostanie aktywowana (kliknięta), w pikselach.

IconNormal = [ścieżka]
Ś

cieżka do pliku z ikoną w stanie nieaktywnym („nie-klikniętą”), kończąca się nazwą pliku. Uwaga, tylko pliki

.ICO

IconPushed = [ścieżka]
Ś

cieżka do pliku z ikoną w stanie aktywnym („klikniętą”), kończąca się nazwą pliku. Uwaga, tylko pliki .ICO


ScaleRed , ScaleGreen, ScaleBlue, ScaleAlpha , AddRed ,AddGreen, AddBlue, AddAlpha Gray
Jeżeli ktoś przetłumaczy sensownie opis tych atrybutów z tej strony: , to ma duże piwo.

Dodatkowo element ICONXPBUTTON używa wszystkich atrybutów elementu

BUTTON

.

background image

Element BITMAPBUTTON

służy do wyświetlania obrazków .BMP (bitmap). Elementy te mogą uru-

chamiać inne aplikacje.

BITMAPBUTTON
x = 100
y = 100
NewIni = ..\Tools\narzedzie.exe
Width = 50
Height = 50
BitmapNormal = ..\menu\wiewiorka.bmp
BitmapPushed = ..\menu\wiewiorka.bmp

Podgląd:

Drugi przykład:

BITMAPBUTTON
x = 82
y = 0
NewIni = ..\Tools\TRE.exe
Width = 156
Height = 153
BitmapNormal = ..\menu\rejestr.bmp
BitmapPushed = ..\menu\rejestr.bmp

Podgląd:

Atrybuty elementu BITMAPBUTTON:

BitmapNormal = [ścieżka]
Ś

cieżka do pliku z elementem w stanie nieaktywnym („nie-kliknięty”), kończąca się nazwą pliku.


BitmapPushed = [ścieżka]
Ś

cieżka do pliku z elementem w stanie aktywnym („klikniętym”), kończąca się nazwą pliku.


Offset = [wartość]
Po kliknięciu (aktywowaniu) elementu zostanie on przesunięty o wartość Offset. Jedyne działające wartości to
0 i 1

Dodatkowo element BITMAPBUTTON używa wszystkich atrybutów elementu

BUTTON

.

background image

Element BUTTON

tworzy niewidoczny przycisk, którego rozmiary muszą być wcześniej zdefiniowane.

Przycisk ten może uruchamiać inne aplikacje. Z atrybutów elementu BUTTON korzystają elementy:

ICONXPBUTTON

,

WINDOWSBUTTON

oraz

BITMAPBUTTON

.


Przykładowa definicja elementu BUTTON w pliku .INI

BUTTON
x = 0
y = 228
Height = 12
Width = 320
Command = "\Program Fi-
les\ShowTaskbar.exe"

Atrybuty elementu BUTTON:

Command = [ścieżka]
Ś

cieżka do pliku wykonywalnego.


NewIni = [ścieżka]
Ś

cieżka do nowego pliku .INI, jeżeli ten atrybut jest ustawiony, to spowoduje to przejście do kolejnej strony,

opisanej wskazanym plikiem .INI

ShutDownAnimation = [animacja]
Animacja jaka zostanie pokazana w trakcie zamykania obecnej strony, lub zmiany na inną stronę.

QuitOnExecute = [Yes/No]
Zamyka SystemInformation przed uruchomieniem wskazanego w polu COMMAND polecenia. Warto to zrobić
przed uruchomieniem np. programu do nawigacji.

Szerokość = [wartość]
Szerokość elementu podana w pikselach.

Height = [wartość]
Wysokość elementu podana w pikselach.

x = [wartość]
Pozycja w stosunku do lewej krawędzi ekranu. Przy wartości ujemnej w stosunku do prawej krawędzi. Aktyw-
ne gdy nie wybrano automatycznego rozmieszczenia w Arrange w sekcji GLOBALSETTINGS.

y = [wartość]
Pozycja w stosunku do lewej krawędzi ekranu. Przy wartości ujemnej w stosunku do prawej krawędzi. Aktyw-
ne gdy nie wybrano automatycznego rozmieszczenia w Arrange w sekcji GLOBALSETTINGS.

background image

Ostatni z elementów typu BUTTON

to zwykły przycisk, taki jak znamy z Windows. Po jego aktywo-

waniu (kliknięciu) może zostać uruchomiona aplikacja, bądź otwarty plik. Przykładowa definicja elementu

WINDOWSBUTTON

w pliku INI:

WINDOWSBUTTON
x = 100
y = 110
Width = 200
Height = 50
Text = Przycisk
ColorPushed = AAAAAA
NewIni = ..\SysInfo\sysinfo.ini
ShutDownAnimation = FlyDiagLeftDown

Podgląd:

Atrybuty elementu WINDOWSBUTTON::

ColorNormal = [kolor]
Kolor przycisku, w stanie nieaktywnym („nie-klikniętym”), podawany bez #. Np. 000000 lub FFFFFF.

ColorPushed = [kolor]
Kolor przycisku, w stanie aktywnym („klikniętym”), podawany bez #. Np. 000000 lub FFFFFF.

Dodatkowo element WINDOWSBUTTON używa wszystkich atrybutów elementu

BUTTON

.

background image

Niniejszy poradnik jest możliwie wiernym tłumaczeniem oryginalnego poradnika, stworzonego przez Daniela
Schumanna a znajdującego się pod tym

adresem

http://www.ultimatelaunch.de/


Celem tego poradnika jest stworzenie prostego menu, które będzie przypominało pulpit systemu Windows XP:


Krok 1: Tworzenie katalogu
Tworzymy na dysku katalog XpSkin.

Krok 2: Kopiowanie plików
Do nowo utworzonego katalogu XpSkin kopiujemy pliki SystemInformation32.exe i SystemInformation.exe

Krok 3: Tworzenie pliku Skin.ini
Za pomocą edytora tekstu, np. notatnika (notepad.exe) tworzymy nowy plik. Jego zawartość:
GLOBALSETTINGS
X = 0
Y = 0
Width = 320
Height = 240
Arrange = No
QuitOnDoubleClick = no

Nazwiemy go Skin.ini i zapiszemy w katalogu XpSkin. Odpowiednie kodowanie jest tutaj bardzo ważne.
Przed zapisaniem należy upewnić się że zapisywany plik jest w formacie Unicode:

background image


Ustawienia jakie zapisaliśmy w pliku Skin.ini spowodują utworzenie okna programu we współrzędnych 0,0 i o
rozmiarach 320x240 pikseli. QuitOnDoubleClick = no zabezpiecza nas przed zamknięciem programu, poprzez
podwójne kliknięcie.

Krok 4: Edycja pliku SysInfoSettings.ini
Tworzymy plik o nazwie SysInfoSettings.ini o następującej zawartości:
Skin.ini
Następnie zapisujemy go w katalogu XpSkin, stworzonym w kroku pierwszym.

Krok 5. Test (opcjonalny)
Teraz możemy sprawdzić czy zapisaliśmy wszystko prawidłowo, uruchamiając program SystemInfo32.exe.
Jeżeli postępowaliśmy zgodnie ze wskazówkami, wtedy program uruchomi się bez problemu.
Na tym etapie zawartość katalogu XpSkin powinna wyglądać następująco:


Krok 6. Dodawanie tła
Z katalogu C:\WINDOWS\Web\Wallpaper (w Windows XP) wybieramy interesujące nas tło, zmieniamy jego
rozmiar do 320x240 pikseli i zapisujemy jako background.bmp w katalogu XpSkin. Następnie edytujemy plik
Skin.ini i dodajemy w nim następującą linijkę:
BackgroundBitmap = background.bmp

Krok 7. Pierwsza ikona
Standardowo na pulpicie Windows mamy elementy Kosz, Mój Komputer oraz Moje Dokumenty. Taki sam
układ postaramy się odtworzyć i tutaj.
W tym celu tworzymy podkatalog Icons w katalogu XpSkin. W nim zapisujemy ikony jakie będą nam po-
trzebne. W naszym przykładzie wybierzemy ikony Monitor 1.ico (zapisujemy jako My Computer.ico), Folder
Blue.ico
(zapisujemy jako My Documents.ico) i Recycle Bin Empty.ico z paczki

iCandy

.

http://www.iconaholic.com/downloads.html
Wszystkie ikony używane przez SystemInformation muszą być 32 bitowe, czyli z 8 bitami przezroczystości. W
tej chwili katalog powinien wyglądać tak:

background image


Teraz dodamy pierwszą ikonę. W tym celu otwieramy do edycji plik Skin.ini i dodajemy na jego końcu nastę-
pujący tekst:

ICONXPBUTTON
x = 10
y = 10
Command = \
SizeNormal = 48
SizePushed = 48
IconNormal = Icons\My Computer.ico
IconPushed = Icons\My Computer.ico

Ważne jest by przed ICONXPBUTTON dodać pustą linię. Po pustej linii program rozpoznaje kolejny element,
więc jeżeli jej nie będzie, wtedy program po prostu się „pogubi”, czego efekty mogą być trudne do przewidze-
nia. Teraz po uruchomieniu SystemInformation32.exe powinniśmy zobaczyć taki ekran:

background image


Krok 8. Pozostałe ikony
Skoro już wiemy jak, to dodajemy kolejne dwie ikony. W tym celu otwieramy do edycji plik Skin.ini i na jego
końcu dopisujemy następujący tekst:
ICONXPBUTTON
x = 10
y = 68
Command = \Storage Card
SizeNormal = 48
SizePushed = 48
IconNormal = Icons\My Documents.ico
IconPushed = Icons\My Documents.ico

ICONXPBUTTON
x = -10
y = -40
Command = {000214A1-0000-0000-C000-000000000046}
SizeNormal = 48
SizePushed = 48
IconNormal = Icons\Recycle Bin Empty.ico
IconPushed = Icons\Recycle Bin Empty.ico

Krok 9. Pasek zadań
Kolejnym elementem potrzebnym by upodobnić nasze menu do pulpitu Windows jest dodanie paska zadań. W
tym celu musimy otworzyć w programie do edycji grafiki plik background.bmp, a następnie zrobić zrzut
ekranu obecnego paska Windows ze swojego pulpitu i obrobić go tak by pasował do naszej grafiki.
Po zakończeniu tego etapu menu powinno wyglądać następująco:


10. Zegarek i bateria
Na pasku zadań nie może zabraknąć zegarka i informacji o stanie baterii. Dodamy je edytując ponownie plik
Skin.ini. Na jego końcu dodajemy następujący tekst:
TIME
x = -6
y = -6
Format = HH':'mm
Color = 000000

BATTERY
x = -50
y = -8
Height = 12
Width = 32
ColorBattery = FFFFFF

background image


Krok 11. Skrót do programu do nawigacji
Tam gdzie w systemie Windows znajduje się Menu Start u nas jest tylko grafika. Zmienimy to dodając w tym
miejscu niewidoczny element BUTTON, który będzie uruchamiał nawigację.
Drugi dodawany przycisk spowoduje pokazanie paska zadań.
Na końcu pliku Skin.ini dodajemy następujący tekst:
BUTTON
x = 1
y = -1
Height = 29
Width = 96
COMMAND = \ścieżka do programu nawigacyjnego
QuitOnExecute = yes

BUTTON
x = 100
y = -1
Height = 29
Width = 130
COMMAND = \Programs\ShowTaskbar.exe

Przy pierwszym przycisku, tym który będzie uruchamiał nawigację dodaliśmy atrybut QuitOnExecute o warto-
ś

ci Yes. Dzięki temu wszystkie zasoby sprzętowe zostaną zwolnione przed uruchomieniem wskazanego pro-

gramu do nawigacji.
Program ShowTaskbar.exe można pobrać ze

strony autora

http://www.ultimatelaunch.de/

jak również z na-

szego działu Pliki. Należy pobrać archiwum, rozpakować je, utworzyć podkatalog Programs w katalogu Xp-
Skin
i skopiować tam plik ShowTaskbar.exe


W tym

wątku na Forum

http://forum.gpslab.pl/showthread.php?t=338

możecie pobrać archiwum ze wszystki-

mi plikami omówionymi w powyższym poradniku. Wątek ten jest też miejscem, w którym zapraszamy do dys-
kusji na temat możliwości SystemInformation. Jeżeli stworzyłeś(aś) ciekawe menu używając np. SystemInfor-
mation, to podziel się tym z innymi użytkownikami.


ś

ródło: http://gpslab.pl/article_wstep_4364.html


Wyszukiwarka

Podobne podstrony:
Proces Uruchamiamia Systemu id Nieznany
Istota inzynierii systemow id 2 Nieznany
4 TYPOWE ELEMENTY SYSTEMOW id 3 Nieznany
methods ekonomia i systemy id 1 Nieznany
podrecznikII 1 cat id 365892 Nieznany
Kanicki Systemy Rozdzial 10 id Nieznany
o systemie oceny zgodnosci id 3 Nieznany
Glowny system pamieciowy GSP id Nieznany
Kanicki Systemy Rozdzial 5 id 2 Nieznany
cbos system emerytalny cbos id Nieznany
Architekrura Systemow Lab4 id 6 Nieznany
Kanicki Systemy Rozdzial 3 id 2 Nieznany
Przerwania w systemie id 406173 Nieznany
botanika systematyczna id 92322 Nieznany (2)
III GOSPDARKA I SYSTEM id 21030 Nieznany
cwiczenia 3 systemQ id 665022 Nieznany
podrecznikII 1 cat id 365892 Nieznany
Kanicki Systemy Rozdzial 10 id Nieznany
cw 16 odpowiedzi do pytan id 1 Nieznany

więcej podobnych podstron