Přepnutí aplikace do popředí   otázka

VB.NET

Ahoj,chtěl bych Vás tady požádat o pomoc,ohledně toho,jak docílit,jedné věci při spuštění aplikace vytvořené ve VB NET.

Jde mi o to,že vytvořenou aplikaci spouštím na stroji,který používá pro ovládání HTML aplikaci,to celé běží pod WIN XP.

Já mám svou vytvořenou aplikaci ve VB NET,kterou spouštím z výše uvedené HTML aplikace,která ovládá stroj.Spouštím pouze jednu instanci programu(Make single instance application).Ale nechce se mi stále znova zavírat a otvírat tuto mojí aplikaci.Jenže v momentě kdy se zpátky přepnu do programu,kerý ovládá stroj a následně se potom chci vrátit k mé spuštěné aplikaci,tak mi už běží na pozadí a nevím jak ji dostat do popředí nad ten program,který ovládá stroj.Pokaždé musím tu mou aplikaci zavřít a znovu otevřít aby byla vidět na popředí.

Existuje tudíž nějaká možnost,kdy je sice aplikace už otevřená(spuštěná),ale pouze při pokosu o znovu spuštění ji přepne opět do popředí plochy???

Snad jsem to popsal trochu srozumitelně.

Děkuji Martin

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Zkus nastavit, aby byl form navrchu: Me.TopMost=True

Nebo by mohlo posloužit: Me.Activate() či Me.BringToFront() ...

Nebo pomocí FindWindow a SetForegroundWindow (případně i SetWindowPos nebo ShowWindow)

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Nevím, zda-li zašktnutím checkboxu "Make single instance application" bude aktivace předchozí instance automaticky, nicméně ve stejné záložce vlastností projektu naleznete tlačítko "View Application Events"

a lze použít událost při spuštění další instance StartupNextInstance :

Private Sub MyApplication_StartupNextInstance(ByVal sender As Object, ByVal e As Microsoft.VisualBasic.ApplicationServices.StartupNextInstanceEventArgs) Handles Me.StartupNextInstance
           e.BringToForeground = True
...

Proces aplikace ovládání stroje i vlastní aplikace, lze získat procházením procesů Process.GetProcessesByName ...

V případě nálezu předat MainWindowHandle procesu do SetForegroundWindow nebo ShowWindow či SetWindowPos dle potřeby dostat okno navrch, okno obnovit, minimalizovat či maximalizovat, změnit jeho pozici či polohu.

Každopádně okno ovládání stroje je nastaveno, aby bylo navrchu z nějakého důvodu, není jisté zda bude dobré to měnit a poslat ho do pozadí, snad by postačilo okna uspořádat, těžko říct, ale pokud pak nebude možné okno ovládání stroje znovu aktivovat, tak to už vadit nebude, že se stroj bude neovladatelný ...

Konkrétní řešení neznám, ale snad najdete pomocí klíčových slov příklad aplikovatelný dle vaší potřeby.

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Děkuji za snahu a pomoc,vyzkouším,zda se mi z toho něco podaří vykoumat...

nahlásit spamnahlásit spam 0 odpovědětodpovědět
                       
Nadpis:
Antispam: Komu se občas házejí perly?
Příspěvek bude publikován pod identitou   anonym.
  • Administrátoři si vyhrazují právo komentáře upravovat či mazat bez udání důvodu.
    Mazány budou zejména komentáře obsahující vulgarity nebo porušující pravidla publikování.
  • Pokud nejste zaregistrováni, Vaše IP adresa bude zveřejněna. Pokud s tímto nesouhlasíte, příspěvek neodesílejte.

přihlásit pomocí externího účtu

přihlásit pomocí jména a hesla

Uživatel:  
Heslo:  

zapomenuté heslo

 

založit nový uživatelský účet

zaregistrujte se

 
zavřít

Nahlásit spam

Opravdu chcete tento příspěvek nahlásit pro porušování pravidel fóra?

Nahlásit Zrušit

Chyba

zavřít

feedback