C# allways on top aplikacia

Programovacie jazyky, rady, poradňa...
javatar
Hardcore addict
Hardcore addict
Používateľov profilový obrázok
Príspevky: 6112
Registrovaný: 12 aug 2010, 14:49
Bydlisko: I don't exist at all.

C# allways on top aplikacia

Príspevok od používateľa javatar »

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...
pipiak
Medium Star
Medium Star
Používateľov profilový obrázok
Príspevky: 321
Registrovaný: 11 jún 2006, 9:24
Bydlisko: KE
Kontaktovať používateľa:

Re: C# allways on top aplikacia

Príspevok od používateľa pipiak »

Opis vyraz - spusti nejaky skript
harrison314
Hardcore addict
Hardcore addict
Používateľov profilový obrázok
Príspevky: 8224
Registrovaný: 27 máj 2009, 20:42
Bydlisko: Bratislava
Kontaktovať používateľa:

Re: C# allways on top aplikacia

Príspevok od používateľa harrison314 »

Hod sem kod ktory spusta skript.
--==[ RA ]==--
Light Professional
Light Professional
Používateľov profilový obrázok
Príspevky: 841
Registrovaný: 03 mar 2006, 18:07
Bydlisko: Kosice
Kontaktovať používateľa:

Re: C# allways on top aplikacia

Príspevok od používateľa --==[ RA ]==-- »

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.
javatar
Hardcore addict
Hardcore addict
Používateľov profilový obrázok
Príspevky: 6112
Registrovaný: 12 aug 2010, 14:49
Bydlisko: I don't exist at all.

Re: C# allways on top aplikacia

Príspevok od používateľa javatar »

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


// :minus: 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
harrison314
Hardcore addict
Hardcore addict
Používateľov profilový obrázok
Príspevky: 8224
Registrovaný: 27 máj 2009, 20:42
Bydlisko: Bratislava
Kontaktovať používateľa:

Re: C# allways on top aplikacia

Príspevok od používateľa harrison314 »

skus radcej nieco taketo

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();
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.
javatar
Hardcore addict
Hardcore addict
Používateľov profilový obrázok
Príspevky: 6112
Registrovaný: 12 aug 2010, 14:49
Bydlisko: I don't exist at all.

Re: C# allways on top aplikacia

Príspevok od používateľa javatar »

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 :D
harrison314
Hardcore addict
Hardcore addict
Používateľov profilový obrázok
Príspevky: 8224
Registrovaný: 27 máj 2009, 20:42
Bydlisko: Bratislava
Kontaktovať používateľa:

Re: C# allways on top aplikacia

Príspevok od používateľa harrison314 »

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.
javatar
Hardcore addict
Hardcore addict
Používateľov profilový obrázok
Príspevky: 6112
Registrovaný: 12 aug 2010, 14:49
Bydlisko: I don't exist at all.

Re: C# allways on top aplikacia

Príspevok od používateľa javatar »

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
pipiak
Medium Star
Medium Star
Používateľov profilový obrázok
Príspevky: 321
Registrovaný: 11 jún 2006, 9:24
Bydlisko: KE
Kontaktovať používateľa:

Re: C# allways on top aplikacia

Príspevok od používateľa pipiak »

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.
javatar
Hardcore addict
Hardcore addict
Používateľov profilový obrázok
Príspevky: 6112
Registrovaný: 12 aug 2010, 14:49
Bydlisko: I don't exist at all.

Re: C# allways on top aplikacia

Príspevok od používateľa javatar »

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
pipiak
Medium Star
Medium Star
Používateľov profilový obrázok
Príspevky: 321
Registrovaný: 11 jún 2006, 9:24
Bydlisko: KE
Kontaktovať používateľa:

Re: C# allways on top aplikacia

Príspevok od používateľa pipiak »

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
Napísať odpoveď