Jump to content


Photo

Wczytywanie zewnętrznego elfa czyli wczytanie drugiego elfa z poziomu pierwszego


  • Please log in to reply
1 reply to this topic

#1 OFFLINE   mc_kibel

mc_kibel

    Proud Member of Sony.yt Community

  • User
  • 26 posts
    • Time Online: 1h 1m

Posted 29 October 2011 - 02:15

Witam!

Pokażę Wam, jak można w prosty sposób wczytać innego elfa z poziomu drugiego.

1. Pierwszym krokiem będzie dodanie hooka dla klawiatury w int main ():
ModifyKeyHook(NewKey,1);


2. Pod includami umieszczamy:
int NewKey (int key, int r1, int mode)
{
  if(key==0x1A && mode==0x00) //krótkie wciśnięcie siódemki w K770i.
  {
	    elfload(L"/tpa/user/other/ZBin/Elf2.elf",0,0,0); //Wczytaj plik Elf2.elf ze ścieżki /tpa/user/other/ZBin/
  }
  return 0;
}


W ten sposób po wciśnięciu w tym przypadku siódemki uruchamiany jest elf z podanej ścieżki, czyli z: /tpa/user/other/ZBin/Elf2.elf

Można się pokusić teraz o to, żeby elf był otwierany dopiero pod pewnym warunkiem.
Doprowadźmy więc do sytuacji, w której elf zostanie otwarty tylko wtedy, gdy włączony jest aparat:
int NewKey (int key, int r1, int mode)
{
  if(key==0x1A && mode==0x00)
  {
	    BOOK * TopBook = DISPLAY_GetTopBook(0);
	    if ((!strcmp(TopBook->xbook->name,"CameraBook"))==1)
//Gdy włączony jest aparat/camera...
	    {
		  elfload(L"/tpa/user/other/ZBin/Elf2.elf",0,0,0); //...wczytaj plik Elf2.elf ze ścieżki /tpa/user/other/ZBin/
	    }
  }
  return 0;
}


I możemy sobie tak kombinować w nieskończoność ;-)
W przypadku mojego ostatniego elfa takie coś było koniecznością - inaczej nic by z tego nie wyszło. Oczywiście mowa o elfie do zamykania muzyki po podanym czasie, który nie ujrzał jeszcze światła dziennego.

Pozdr.
  • 2
Sony Ericsson X8 || GingerDX v017 Android 2.3.7 || Sense Theme

#2 OFFLINE   zylka

zylka

    Junior Activist of Sony.yt Community

  • User
  • 168 posts
    • Time Online: 25d 21h 46m

Posted 29 October 2011 - 13:59

Widze że kolega trochę nie na czasie. Kilka miesięcy temu funkcja ModifyKeyHook została zmieniona przez co jest znacznie bardziej skuteczna i ma większe możliwości.
Powyższy kod będzie powodował errora z nowymi includami.
Oto wersja dostosowana do aktualnych include:
int NewKey(int key, int r1 , int mode, LPARAM, DISP_OBJ*)
{
  if(key==0x1A && mode==0x00)
  {
		    BOOK * TopBook = DISPLAY_GetTopBook(0);
		    if ((!strcmp(TopBook->xbook->name,"CameraBook"))==1)
//Gdy w?a;czony jest aparat/camera...
		    {
				  elfload(L"/tpa/user/other/ZBin/Elf2.elf",0,0,0); //...wczytaj plik Elf2.elf ze s'ciez.ki /tpa/user/other/ZBin/
		    }
  }
  return 0;
}

...

ModifyKeyHook(NewKey,KEY_HOOK_ADD,NULL);
//  ustawienie hooka

ModifyKeyHook(NewKey,KEY_HOOK_REMOVE, NULL);
// wyłaczenie hooka

  • 2

Reklama i pozycjonowanie stron:

szybkakasa24h.pl/rejestracja.php?id=9

http://fastsurf.eu/



0 user(s) are reading this topic