C# allways on top aplikacia
-
javatar
Hardcore addict
- Príspevky: 6112
- Registrovaný: 12 aug 2010, 14:49
- Bydlisko: I don't exist at all.
C# allways on top aplikacia
mam aplikaciu ktora je fullscreen a always on top, tato aplikacia spusta zobrazuje par dialogovych okien, problem nastava ked aplikacia spusti neaky script, zobrazi sa lista dole a to je nepripustne
myslel som si ze je problem vo focuse, ale ani timer ktory kazdych 5 milisekund urobi nad formularom this.focus() tejto situacii nezabrani
neake napady kde moze byt problem?
na viste to nerobi, na win 7 ano...
myslel som si ze je problem vo focuse, ale ani timer ktory kazdych 5 milisekund urobi nad formularom this.focus() tejto situacii nezabrani
neake napady kde moze byt problem?
na viste to nerobi, na win 7 ano...
-
pipiak
Medium Star
- Príspevky: 321
- Registrovaný: 11 jún 2006, 9:24
- Bydlisko: KE
- Kontaktovať používateľa:
Re: C# allways on top aplikacia
Opis vyraz - spusti nejaky skript
-
harrison314
Hardcore addict
- Príspevky: 8224
- Registrovaný: 27 máj 2009, 20:42
- Bydlisko: Bratislava
- Kontaktovať používateľa:
Re: C# allways on top aplikacia
Hod sem kod ktory spusta skript.
-
--==[ RA ]==--
Light Professional
- Príspevky: 841
- Registrovaný: 03 mar 2006, 18:07
- Bydlisko: Kosice
- Kontaktovať používateľa:
Re: C# allways on top aplikacia
JJ treba viac info o probléme...
Toto len hádam:
tou lištou myslíš Start lištu Win? Neje to spôsobené tým, že keď sa vytvoria nové okná tak sa objavia aj v lište a to spôsobí, že sa zobrazí navrchu? Ak hej tak tým oknám treba nastaviť "ShowInTaskbar" či dačo také v property na false.
ďalšie ma napadá, že ten "skript" spôsobí dočasné zamrznutie formu a vtedy sa stane že sa oknu zobrazí border (neviem čo myslíš tou lištou). V tomto prípade treba pustiť skript vo vlákne.
Toto len hádam:
tou lištou myslíš Start lištu Win? Neje to spôsobené tým, že keď sa vytvoria nové okná tak sa objavia aj v lište a to spôsobí, že sa zobrazí navrchu? Ak hej tak tým oknám treba nastaviť "ShowInTaskbar" či dačo také v property na false.
ďalšie ma napadá, že ten "skript" spôsobí dočasné zamrznutie formu a vtedy sa stane že sa oknu zobrazí border (neviem čo myslíš tou lištou). V tomto prípade treba pustiť skript vo vlákne.
-
javatar
Hardcore addict
- Príspevky: 6112
- Registrovaný: 12 aug 2010, 14:49
- Bydlisko: I don't exist at all.
Re: C# allways on top aplikacia
pipiak + harrison314
spusta skript = Proccess.start();
RA
ano myslim start listu, skript totiz vytvori nove okno v skype (nakolko sposobi, ze sa niekto vytoci cez skype) - skusim to s tym ShowInTaskbar
//autoeditácia príspevku (21 Jan 2011, 9:41)
takze ShowInTaskbar nepomohol... skusim to vlakno
//
uznavam svoju chybu, nenapisal som to presne a jasne, v podstate sa jedna o skript nakolko je to subor vbs, co si ale nemal odkial vediet
spusta skript = Proccess.start();
RA
ano myslim start listu, skript totiz vytvori nove okno v skype (nakolko sposobi, ze sa niekto vytoci cez skype) - skusim to s tym ShowInTaskbar
//autoeditácia príspevku (21 Jan 2011, 9:41)
takze ShowInTaskbar nepomohol... skusim to vlakno
//
-
harrison314
Hardcore addict
- Príspevky: 8224
- Registrovaný: 27 máj 2009, 20:42
- Bydlisko: Bratislava
- Kontaktovať používateľa:
Re: C# allways on top aplikacia
skus radcej nieco taketo
a Form.ShowInTaskbar je na nieco ine, zabezpeci aby ti nezobrazilo proces v TaskManazery ale iba ked je okno nevyditelne.
Podla ked robis zo Skype, je vyhdonejsie vyuzivat jeho API , su nato uz vybudovane nejake kniznice napr. skype4com.
Kód: Vybrať všetko
Process p = new Process();
p.StartInfo.FileName = "program";
p.StartInfo.Arguments = "argumenty";
p.StartInfo.CreateNoWindow = true;
p.StartInfo.RedirectStandardInput = true; //ak chces presmerovat stdin
p.StartInfo.RedirectStandardOutput = true; // ak chces presmerovat stdout
p.StartInfo.UseShellExecute = false;
p.Start();
Podla ked robis zo Skype, je vyhdonejsie vyuzivat jeho API , su nato uz vybudovane nejake kniznice napr. skype4com.
-
javatar
Hardcore addict
- Príspevky: 6112
- Registrovaný: 12 aug 2010, 14:49
- Bydlisko: I don't exist at all.
Re: C# allways on top aplikacia
no ja som ten proces.start dal ako priklad, spustam pomocou ProccessStartInfo nakolko prenasam aj parametre
a skype Api vyuzivam, len sa mi nepodarilo prist na to ako to spravim v sharpe ale nasiel som priklady visual basic skriptov... tak cez sharp pustam vbs ktore zavola
takze skusam to aj vo vlakne - a nic - proste ta win lista to prekryje
- idem skusit co to spravi ked ju necham schovat 
a skype Api vyuzivam, len sa mi nepodarilo prist na to ako to spravim v sharpe ale nasiel som priklady visual basic skriptov... tak cez sharp pustam vbs ktore zavola
takze skusam to aj vo vlakne - a nic - proste ta win lista to prekryje
-
harrison314
Hardcore addict
- Príspevky: 8224
- Registrovaný: 27 máj 2009, 20:42
- Bydlisko: Bratislava
- Kontaktovať používateľa:
Re: C# allways on top aplikacia
Rdacej by si sem mohol hodit celu cast kodu v ktorom to spustas,
tvoj problem je tam, nema to nic spolocne z oknamy ani vlaknamy.
tvoj problem je tam, nema to nic spolocne z oknamy ani vlaknamy.
-
javatar
Hardcore addict
- Príspevky: 6112
- Registrovaný: 12 aug 2010, 14:49
- Bydlisko: I don't exist at all.
Re: C# allways on top aplikacia
v pondelok, teraz som mimo mojich kodov
podla mna to ma skor suvis s tym ze spustenie toho vbs skriptu sposobi vytvorenie noveho okna v skype
podla mna to ma skor suvis s tym ze spustenie toho vbs skriptu sposobi vytvorenie noveho okna v skype
-
pipiak
Medium Star
- Príspevky: 321
- Registrovaný: 11 jún 2006, 9:24
- Bydlisko: KE
- Kontaktovať používateľa:
Re: C# allways on top aplikacia
Taaak aby sme si to ujednotili...aspon sme sa dostali k tomu co je to skript:D
Ak spustas proces tak musis vediet ci je to konzolova app alebo GUI app.Ak je to konzola (resp.Gui app s konzolovou nadstavbou) pouzi kod ktory uviedol harrison314 a musi to fachat. Ak je to GUI app a ty ju chces zobrazit vo svojej app , to sa robi uplne inak...musis vysvetlit svojej aplikacii kde sa ma tebou spustana app zobrazit. Pokial dobre viem ,je moznost spustit dalsiu aplikaciu napr v paneloch. (checkni google).
Ale skus povedat co chces urobit a mozno sa to da aj ovela jednoduchsie.
Ak spustas proces tak musis vediet ci je to konzolova app alebo GUI app.Ak je to konzola (resp.Gui app s konzolovou nadstavbou) pouzi kod ktory uviedol harrison314 a musi to fachat. Ak je to GUI app a ty ju chces zobrazit vo svojej app , to sa robi uplne inak...musis vysvetlit svojej aplikacii kde sa ma tebou spustana app zobrazit. Pokial dobre viem ,je moznost spustit dalsiu aplikaciu napr v paneloch. (checkni google).
Ale skus povedat co chces urobit a mozno sa to da aj ovela jednoduchsie.
-
javatar
Hardcore addict
- Príspevky: 6112
- Registrovaný: 12 aug 2010, 14:49
- Bydlisko: I don't exist at all.
Re: C# allways on top aplikacia
ok... ked to po sebe citam vsetko tak som musel byt naozaj unaveny alebo v strese, lebo je to naozaj pisane blbo... este raz sa ospravedlnujem za nezrozumitelnost
takze este raz moja situacia:
jednoducha fullscreen a allways on top aplikacia - par tlacidel na ktore na klik reaguju vytocenim pozadovanej osoby (podla tlacidla) prostrednictvom skype (no vlastne sa zobrazi dialogove okno na ktorom je dalsie tlacidlo ktore zobrazi dalsie dialogove okno o informaciach o hovore a zaroven prebieha hovor)
volanie cez skype sa realizuje pomcou visual basic skriptu -> po spusteni daneho vbs suboru sa cez skype zavola urcenej osobe, v aplikacii ho spustam ako novy proces
moj problem je v tom ze aplikacia napriek tomu ze ma atribut allways on top sa tak nesprava -> po zavolani (alebo vypisani jednej z chybovych hlasok(label na formulari, netreba nic odklikavat) a zruseni hovoru) sa spristupni (rozumej zobrazi) windowsacky taskbar (to som myslel tou listou - RA to pochopil, je to windows start lista)
z hladiska funkcnosti je aplikacia v poriadku - hovor sa uskutocni (alebo sa vypise hlaska)
pipiak - tento vbs skript nie je ani konzolova ani gui aplikacia, nevytvori ani konzolove (ani ziadne ine) okno ani gui nema nadefinovane - jediny sposob ako ho vidiet je ze v task manageri pribudne proces wbscript.exe , samozrejme skype vytvori nove okno, ale to nie je allways on top takze aplikaciu neprekryje
takze hlavny problem je aplikaciu stale udrzat navrchu
pevne verim ze teraz som to uz napisal zrozumitelne
takze este raz moja situacia:
jednoducha fullscreen a allways on top aplikacia - par tlacidel na ktore na klik reaguju vytocenim pozadovanej osoby (podla tlacidla) prostrednictvom skype (no vlastne sa zobrazi dialogove okno na ktorom je dalsie tlacidlo ktore zobrazi dalsie dialogove okno o informaciach o hovore a zaroven prebieha hovor)
volanie cez skype sa realizuje pomcou visual basic skriptu -> po spusteni daneho vbs suboru sa cez skype zavola urcenej osobe, v aplikacii ho spustam ako novy proces
moj problem je v tom ze aplikacia napriek tomu ze ma atribut allways on top sa tak nesprava -> po zavolani (alebo vypisani jednej z chybovych hlasok(label na formulari, netreba nic odklikavat) a zruseni hovoru) sa spristupni (rozumej zobrazi) windowsacky taskbar (to som myslel tou listou - RA to pochopil, je to windows start lista)
z hladiska funkcnosti je aplikacia v poriadku - hovor sa uskutocni (alebo sa vypise hlaska)
pipiak - tento vbs skript nie je ani konzolova ani gui aplikacia, nevytvori ani konzolove (ani ziadne ine) okno ani gui nema nadefinovane - jediny sposob ako ho vidiet je ze v task manageri pribudne proces wbscript.exe , samozrejme skype vytvori nove okno, ale to nie je allways on top takze aplikaciu neprekryje
takze hlavny problem je aplikaciu stale udrzat navrchu
pevne verim ze teraz som to uz napisal zrozumitelne
-
pipiak
Medium Star
- Príspevky: 321
- Registrovaný: 11 jún 2006, 9:24
- Bydlisko: KE
- Kontaktovať používateľa:
Re: C# allways on top aplikacia
No super, takze vieme co chces robit...tak to treba urobit tak ako sa patri, a nie cez vb skript.
Na volanie cez skype si vyhladaj kniznicu - SKYPE4COMLib.dll a hladaj pouzitie v c# -> http://forum.skype.com/index.php?showtopic=80390
Na volanie cez skype si vyhladaj kniznicu - SKYPE4COMLib.dll a hladaj pouzitie v c# -> http://forum.skype.com/index.php?showtopic=80390