[ sias @ 28.09.2007. 16:51 ] @
Naime imam mali problem, napisao sam windows aplikaciju u c# (Forma koja unosi dva parametra i dugmence koje potvrdjuje unos), pa sam od te aplikacije napravio servis koji se pokrece sa paljenjem racunara. Ideja je bila sledeca da svako ko sedne za racunar mora da popuni ta dva parametra pa tek onda da pocne sa radom.
Problem je u tome sto nikako ne mogu da zadrzim fokus na aplikaciji ako je pokrenuta kao servis, uvek moze da se pritisne win dugme i da se pozove neku drugu aplikaciju a to ne bi smeo da radi.
Ako neko ima resenje ...
[ bjevta @ 28.09.2007. 17:42 ] @
hm, čas aplikacija čas servis. Tačno je da servis može da ima i gui deo. Lično mislim da je to bespotrebno - ako je servis, radi u background-u i ne treba da ima gui.

Al, da razjasnimo
- "Ideja je bila sledeca da svako ko sedne za racunar mora da popuni ta dva parametra pa tek onda da pocne sa radom". Šta treba, da se loguje? Ako ukuca ispravne podatke u formu, to se prosleđuje servisu ili ne?
- "Problem je u tome sto nikako ne mogu da zadrzim fokus na aplikaciji ako je pokrenuta kao servis". Zašto bi aplikacija bila system modal? Valjda treba da koristi i druge aplikacije a, ako hoče tvoju, da ukuca ta 2 podatka. Mislim da je ovo bespotrebno.

[ sias @ 28.09.2007. 18:02 ] @
Da upravo to da ako ne zadovolji uslov tj. da ta dva parametra ne odgovaraju on ne moze da radi. Korisnik se uloguje, a onda bi ga trebala docekati ta aplikacija. Naravno to je win aplikacija od koje je kreiran servis (instsrv.exe ) , i koji interaguje sa desktopom.
da dodajm jos ta forma bi trebala da se ponovi svakih 15-tak minuta i od korisnika da trazi da ponovo unese parametre i ako zadovolji radi i dalje a ako ne ostaje aktivna.
[ Mrav @ 30.09.2007. 23:12 ] @
Been there, done that.

Po svojoj koncepciji .net framework je 'safe' najprostije receno. To znaci da to sto trazis legalno ne mozes da uradis iz samog .net-a vec samo pozivom win api funkcija. To sam radio za firmu za koju vise ne radim, pa nemam kod, uglavnom moraces da koristis DLLImport atribute, mozda i malo da se igras mapiranjem 'native' u .net tipove i deklarisanjem nekih konstanti vezanih za eksterni poziv.

Ja sam radio tako sto je aplikacija preuzimala fokus od svakog unosa koji se pumpa u message pump, nezavisno od aplikacije, i to velikom brzinom, tako sam uspeo da sprecim i pokretanje task manager-a.

U ovom pristupu moras da vodis racuna i o tome sto win-api nije jako portabilan, nesto sto radi pod win 2k/xp ne mora da radi pod win 98 ili mozda vistom.

Shvatam zasto bi ti to trebalo, ali bih ja pre potrazio neko drugo resenje (neka domenska administracija ako je moguce, ili neki gotov program, mozda lupam sada, ne bavim se administracijom win-a, i znam o tome koliko i vecina nasih 'strucnih i obucenih' windows admin-a ).

Sve u svemu vidi isplati li ti se 'tezak' hack