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.
|