Vai al contenuto



Foto

[pyd] Appswitch Mod


  • Per favore accedi per rispondere
17 risposte a questa discussione

#1 OFFLINE   dokkis

dokkis

    Senior Member

  • Developer
  • 828 messaggi
  • Località:Italia->Roma
  • Cellulare:NoKia 6630

Inviato 24 maggio 2007 - 17:30

Appswitch Mod by Dokkis



Ciao a tutti ;)
come alcuni sapranno, mi sono addentrato da un mesetto nel mondo di symbian c++, realizzando dei semplicissimi SW per S60, ad es Restarter.
Oggi vi propongo qui una modifica del modulo appswitch (i codici sorgenti sono disponibili per essere modificati da chiunque). In questa modifica, da me sviluppata, sono stati aggiunti 2 metodi:
- kill_process
- process_list

Andiamo ad esaminare il primo.
Innanzi tutto importiamo il modulo:

import appswitch,e32,appuifwlock=e32.Ao_lock()list=[]processes = appswitch.process_list()for a in range(len(processes)):    list.append(unicode(processes[a]))appuifw.app.body=appuifw.Listbox(list)lock.wait()

Nella lista dei processi, sono presenti si tutti i processi, però all'interno del loro nome c'è anche l'uid del processo, e un altro numero che va da 0001 a 0003 (da quanto ho visto, e non è presente in tutti i processi) che non ho capito cosa sia B)
tanto per fare un esempio di un processo:
Phone[100058b3]0003

per ottenere solo il nome del processo basta che facciate uno split a processes[a] facendogli prendere solo quello che c'è prima di '[', e per ottenere l'uid, stessa cosa ma prendendo quello che c'è dentro le '[' ']'

Il modulo è allegato qui sotto, nel pacchetto rar ci sono anche i codici sorgenti modificati. Le funzioni sono state da me testate su un Nokia 6630. Fatemi sapere se riuscite a far funzionare questa modifica di appswitch! ovviamente sostituite la lib attuale con quella che ho postato qui sotto!
Spero di aver fatto un lavoro funzionante, utile e gradito B)
Cmq sto sviluppando un'app in c++ per gestire processi e ram (un pò come il prg di il.socio, freemem). Ancora non anticipo nulla sulle sue funzioni, però poi aprirò un topic a parte per parlarne. Ve lo dico in anticipo perchè se magari utilizzate questo modulo per fare un programma simile al mio, e poi io rilascio la mia versione del programma in c++, non vorrei che poi mi diceste che vi ho rubato l'idea o altro :blink: meglio prevenire che curare no?!? B)
detto questo... bye ;)

Download file


Messaggio modificato da dokkis, 25 maggio 2007 - 13:35


#2 OFFLINE   dany88

dany88

    Millennium Member

  • Utente
  • StellettaStellettaStellettaStellettaStellettaStellettaStelletta
  • 1185 messaggi

Inviato 24 maggio 2007 - 18:22

ottimo lavoro!.

#3 OFFLINE   dokkis

dokkis

    Senior Member

  • Developer
  • 828 messaggi
  • Località:Italia->Roma
  • Cellulare:NoKia 6630

Inviato 24 maggio 2007 - 19:02

ottimo lavoro!.

grazie 1000 xD
l'idea nasceva dal fatto che questa lib poteva solo mostrare e killare i task, e non i processi, cosi ho voluto mettermi un pò di impegno per implementare questi 2 nuovi metodi a questo modulo (dato che poi pochi giorni fa avevo sperimentato queste 2 funzioni direttamente su un programma in symbian c++)..
funzioni, secondo me, molto utili.. poi cmq aspetto vostri giudizi e critiche, e vostri eventuali programmi basati su questo modulo B)
ciao ^^

Messaggio modificato da dokkis, 24 maggio 2007 - 19:03


#4 OFFLINE   dany88

dany88

    Millennium Member

  • Utente
  • StellettaStellettaStellettaStellettaStellettaStellettaStelletta
  • 1185 messaggi

Inviato 24 maggio 2007 - 19:50

non l'ho chiesto prima, ma l'hai segnalato al programmatore che lo ha sviluppato? penso che sia contento che qualcuno lo abbia ampliato.

#5 OFFLINE   dokkis

dokkis

    Senior Member

  • Developer
  • 828 messaggi
  • Località:Italia->Roma
  • Cellulare:NoKia 6630

Inviato 24 maggio 2007 - 19:59

non l'ho chiesto prima, ma l'hai segnalato al programmatore che lo ha sviluppato? penso che sia contento che qualcuno lo abbia ampliato.

no però pensavo di farlo, il fatto è che volevo che qlk altro user testasse questo modulo, per darmi la conferma che funziona correttamente.. anche se dovrebbe andare senza problemi.. B)

#6 OFFLINE   Oper

Oper

    Millennium Member

  • Utente
  • StellettaStellettaStellettaStellettaStellettaStellettaStelletta
  • 1001 messaggi
  • Località:Lucania
  • Cellulare:Nokia 6600
  • Firmware:3.42.1 16-10-03

Inviato 25 maggio 2007 - 06:47

Bravo Dokk,

si potrebbe fare il restarter su 6600 killando il menu, vero? (la libreria miso che fa il restart non funzia su 6600, sob)

PS
I sorgenti che hai inserito nel .rar sono quelli originali, non quelli modificati da te. B)

#7 OFFLINE   memoryn70

memoryn70

    Millennium Member

  • Developer
  • 2117 messaggi
  • Cellulare:Nokia N70
  • Firmware:5.0609.2.0.1

Inviato 25 maggio 2007 - 11:54

ottimo lavoro!.


Quoto.....grande come al solito!! B) B) magari le puoi far integrare con la prossima versione python...
ora la proverò

Messaggio modificato da memoryn70, 25 maggio 2007 - 11:55


#8 OFFLINE   dokkis

dokkis

    Senior Member

  • Developer
  • 828 messaggi
  • Località:Italia->Roma
  • Cellulare:NoKia 6630

Inviato 25 maggio 2007 - 13:34

Bravo Dokk,

si potrebbe fare il restarter su 6600 killando il menu, vero? (la libreria miso che fa il restart non funzia su 6600, sob)

PS
I sorgenti che hai inserito nel .rar sono quelli originali, non quelli modificati da te. B)


ops scusate! ho sbagliato cartella dei src files! B) riuppato il file giusto B)
il modulo pyd dovrebbe cmq essere quello corretto xD
cmq il restarter potresti provare a farlo killando il task Phone non il menu... cmq dal momento che nn ho mai provato nn ti so dire... killando il menu, almeno su 6630, non si riavvia... ma semplicemente chiude il processo del menu..

Messaggio modificato da dokkis, 25 maggio 2007 - 13:38


#9 OFFLINE   dokkis

dokkis

    Senior Member

  • Developer
  • 828 messaggi
  • Località:Italia->Roma
  • Cellulare:NoKia 6630

Inviato 25 maggio 2007 - 13:39

non l'ho chiesto prima, ma l'hai segnalato al programmatore che lo ha sviluppato? penso che sia contento che qualcuno lo abbia ampliato.


ho segnalato la modifica di questo modulo in questo forum:

Please Login HERE or Register HERE to see this link!


penso vada bene li... aspetto cmq 1 risposta da parte loro ;)

Quoto.....grande come al solito!! B) B) magari le puoi far integrare con la prossima versione python...
ora la proverò


grazie :blink:
ma con 'magari le puoi far integrare con la prossima versione python...
ora la proverò' a cosa ti riferivi? mi sono un attimo perso! xD

Messaggio modificato da dokkis, 25 maggio 2007 - 13:40


#10 OFFLINE   giuppe92

giuppe92

    Millennium Member

  • Developer
  • 1058 messaggi
  • Località:Spilimbergo (PN)
  • Cellulare:N70
  • Firmware:5.0638.3.0.1

Inviato 25 maggio 2007 - 16:05

Ottimo dokkis! E' quello che ci voleva!

#11 OFFLINE   giuppe92

giuppe92

    Millennium Member

  • Developer
  • 1058 messaggi
  • Località:Spilimbergo (PN)
  • Cellulare:N70
  • Firmware:5.0638.3.0.1

Inviato 09 ottobre 2007 - 19:35

Dokkis, naturalmente per quanto riguarda la chiusura di un task rimane sempre la stessa sintassi vero?

#12 OFFLINE   dokkis

dokkis

    Senior Member

  • Developer
  • 828 messaggi
  • Località:Italia->Roma
  • Cellulare:NoKia 6630

Inviato 09 ottobre 2007 - 19:51

Dokkis, naturalmente per quanto riguarda la chiusura di un task rimane sempre la stessa sintassi vero?

io ho solo aggiunto qll funzioni x il resto ho lasciato la libreria così cm era.. quindi si..
xkè hai riscontrato prb?

#13 OFFLINE   giuppe92

giuppe92

    Millennium Member

  • Developer
  • 1058 messaggi
  • Località:Spilimbergo (PN)
  • Cellulare:N70
  • Firmware:5.0638.3.0.1

Inviato 09 ottobre 2007 - 20:57

No....trnquillo tutto ok! Grazie 1000!

#14 OFFLINE   akus

akus

    Advanced Member

  • Utente
  • StellettaStellettaStelletta
  • 83 messaggi
  • Località:Palermo

Inviato 20 dicembre 2007 - 18:07

provando il modulo appswitch mi sono accorto che se elenco i processi e subito dopo(tenendo lo script aperto) apro un'applicazione appena richiedo nuovamente la lista non c'è il nuovo processo,qua c'è lo sript che ho utilizzato B) :

import appswitch,appuifw,e32

def Exit():
	Lock.signal()

def ListProcess():
	l=[]
	tmp=[]
	lista=[]
	processi=appswitch.process_list()
	for i in range(len(processi)-1):
		l.append(unicode(processi[i]))
	l.sort()
	for ele in l:
		tmp=(ele.split("["))
		lista.append(tmp[0])
	appuifw.app.body=appuifw.Listbox(lista)



Lock=e32.Ao_lock()
ListProcess()
appuifw.app.menu=[(u"Processi",ListProcess)]
appuifw.app.exit_key_handler=Exit
Lock.wait()


#15 OFFLINE   dokkis

dokkis

    Senior Member

  • Developer
  • 828 messaggi
  • Località:Italia->Roma
  • Cellulare:NoKia 6630

Inviato 20 dicembre 2007 - 18:40

provando il modulo appswitch mi sono accorto che se elenco i processi e subito dopo(tenendo lo script aperto) apro un'applicazione appena richiedo nuovamente la lista non c'è il nuovo processo,qua c'è lo sript che ho utilizzato B) :


mmmm
for i in range(len(processi)-1):
range credo che ti esclude l'ultimo valore... nn vorrei sbagliarmi...
xò tipo se fai range(10) ti da da da 0 a 9... anzi ne sono quasi sicuro...
quindi dovresti provare a fare:
for i in range(len(processi)):
prova e fammi sapere.. ciao ^^

altrimenti puoi andare sul sicuro con
for processo in processi:
xD

#16 OFFLINE   giuppe92

giuppe92

    Millennium Member

  • Developer
  • 1058 messaggi
  • Località:Spilimbergo (PN)
  • Cellulare:N70
  • Firmware:5.0638.3.0.1

Inviato 20 dicembre 2007 - 19:01

xò tipo se fai range(10) ti da da da 0 a 9... anzi ne sono quasi sicuro...
quindi dovresti provare a fare:
for i in range(len(processi)):
prova e fammi sapere.. ciao ^^


Confermo che range(10) da una lista da o a 9! B)
Quindi for i in range (len(processi)) è corretto!

#17 OFFLINE   akus

akus

    Advanced Member

  • Utente
  • StellettaStellettaStelletta
  • 83 messaggi
  • Località:Palermo

Inviato 20 dicembre 2007 - 20:32

Ok era il len(processi)-1 il problema,mettendo len(processi) si è risolto... B)
Grazie ragazzi..!!!

#18 OFFLINE   ..::DoS::..

..::DoS::..

    Millennium Member

  • Utente
  • StellettaStellettaStellettaStellettaStellettaStellettaStelletta
  • 1673 messaggi
  • Località:Latina
  • Cellulare:iPhone 4
  • Firmware:4.3.1

Inviato 20 dicembre 2007 - 21:33

se volevi fa la sottrazione di uno dovevi fa così:
a=(len(processi))-1
B)