W tym temacie wrzucamy opis funkcji elfpacka, według schematu:
Zastosowanie:
...
Funkcja:
... (fragment z lib)
Parametry:
...
Przykład użycia
+opis, jeśli wymagany.
Tak więc najpierw skieruje podziękowania w stronę se-developers, a w szczególności dla Edgpaez, gdyż akurat informacje nt. tych funkcji, które opisuję w tym poście pochodzą z tamtego forum, a zdecydowaną większość opisał właśnie on.
No więc zaczynam:
_________________________________________________
Zastosowanie:
Konwersja "String" (czyli po ludzku dowolnego tekstu) na StringID (identyfikator tekstu)
Funkcja:
; 15D: int Str2ID(const void * wstr , int flag , int len);
Parametry:
const void * wstr - to, co chcemy przekonwertować na StringID
int flag - określa rodzaj stringa:
- 0 = Unicode
- 2 = numer telefonu
- 6 = ASCI
int len - długość stringa
- SID_ANY_LEN = uniwersalne, czyli działa dla każdej długości
Zwraca:
String ID
Przykład:
int Przyklad; Przyklad = Str2ID(L"CentrumSE", 0, SID_ANY_LEN);
____________________________________________________
Zastosowanie:
Pokazanie na ekranie okienka z informacją.
Funkcja:
; 257: void MessageBox(int HeaderStrID,int MessageStrID,wchar_t IconID, int style /*1 or 2*/,int time,BOOK * unk);
Parametry:
- int HeaderStrID - StringID tytułu okienka, jeśli niepotrzebne wpisujemy 0x6FFFFFFF
- int MessageStrID - StringID wiadomości, która ma pokazać się w okienku
- int IconID - ID obrazka wyświetlanego w MSGBoxie, 0 gdy niepotrzebne
- int style - może być 1 lub 2. Gdy jest jeden, widzimy coś w stylu okienka wyskakującego przy blokowaniu klawiatury, a jeśli 2, to coś w stylu "statusu telefonu".
- int time - czas w milisekundach, przez który ma wyświetlać się okienko
-dotyczy tylko wtedy, gdy int style = 1;
-gdy int style = 2, czas musi być ustawiony na 0, inaczej restart. - BOOK * unk - wskaźnik, gdzie wiadomość ma być wyświetlona
-najlepiej / najłatwiej wpisać 0, żeby nie utrudniać sobie życia
Zwraca:
Nic
Przykład:
int tytul, int wiadomosc; tytul = Str2ID(L"Dowolny tytul", 0, SID_ANY_LEN); wiadomosc = Str2ID(L"Tekst wiadomosci", 0, SID_ANY_LEN); void MessageBox (tytul, wiadomosc, 0, 2, 0, 0);
Przykład powyżej spowoduje wyświetlenie okienka wyglądającego jak "Status telefonu", z tytułem "Dowolny tytul" oraz trescia "Tekst wiadomosci".
int wiadomosc2; wiadomosc2 = Str2ID(L"CentrumSE.pl",0,SID_ANY_LEN); void MessageBox (0x6FFFFFFF, wiadomosc2 , 0 , 1 , 3000 , 0);
A powyższy kod, spowoduje wyświetlenie okienka wyglądającego jak te przy usuwaniu pliku/blokowaniu klawiatury, o treści "CentrumSE.pl", które zniknie po 3000milisekund (czyli po trzech sekundach).
Używanie Str2ID ma sens w sumie tylko wtedy, gdy jednego stringa używamy kilkukrotnie w kodzie, bo gdy chcemy wyświetlić takie samo okienko jak powyżej, możemy zaoszczędzić trochę kodu robiąc to w ten sposób:
void MessageBox (0x6FFFFFFF, STR("CentrumSE.pl") , 0 , 1 , 3000 , 0);
Efekt ten sam, dwie linijki kodu mniej.
______________________________________________________
Zastosowanie:
Pobranie obecnego profilu
Funkcja:
; 1B4: int REQUEST_PROFILE_GETACTIVEPROFILE(const int *__zero , int *level);
Parametry:
- const int * __zero - zamiast tego wpisujemy SYNC
- int * level - wskaźnik, gdzie numer obecnego profilu ma być zapisywany
-Tak więc gdy zamiast int * level wpiszemy &Profil, informacje na temat numeru obecnego profilu będą zapisywane w zmiennej Profil.
Zwraca:
Numer profilu (int, liczba całkowita, od 0 do 6)
Przykład:
int profil; REQUEST_PROFILE_GETACTIVEPROFILE(SYNC , &profil); if (profil == 0 ) { //Kod do wykonania, gdy numer profilu jest równy 0 (czyli podstawowy) } else if (profil == 1) { //Kod do wykonania, gdy numer profilu jest równy 1 (spotkanie) }
____________________________________________________
Zastosowanie:
Ustawienie profilu
Funkcja:
; 1B5: int Profile_SetActive(int NUMprof,int set_in_gdfs_flag);
Parametry:
- int NUMprof - wystarczy wpisać 0
- int set_in_gdfs_flag - liczba całkowita od 0 do 6, odpowiedzialna za profil. Tak więc wpisanie 5 ustawi nam profil "Dom".
Przykład:
int numer_profilu = 5; Profile_SetActive(0 , numer_profilu); //ustawia profil "Dom"
________________________________________________________
Zastosowanie:
Sprawdzenie, czy klawiatura jest zablokowana.
Funkcja:
; 1B7: int isKeylocked(void);
Parametry:
- brak
Zwraca:
0 - gdy klawiatura nie jest zablokowana
1 - gdy klawiatura jest zablokowana
Przykład:
if(isKeylocked() == 0) { //kod do wykonania, gdy klawiatura jest odblokowana }
if (isKeylocked() == 1) { //kod do wykonania, gdy klawiatura jest zablokowana }