VB6 - Attivare una form di un'applicazione esterna

lunedì 14 marzo 2011 - 10.55

patapatty Profilo | Newbie

Salve a tutti.
Ho un programma VB6 (un EXE standard) che si basa sulla tecnologia I-Object. Da questo programma viene aperto un form (di seguito lo chiamerò form1) contenuto in una dll ActiveX. Form1, all'apertura, lancia un'applicazione esterna (un'EXE ActiveX). Ad un certo punto da questa applicazione, richiamo una sub della dll che ho citato prima per aprire una nuova form contenuta in un'altra dll (di seguito lo chiamerò form2).
Tramite l'istruzione
SetWindowPos frm.hwnd, HWND_TOPMOST, 0, 0, 0, 0, SWP_NOMOVE + SWP_NOSIZE
sono riuscita a portare in primo piano form2, solo che non risulta attivo. In pratica la barra del titolo "lampeggia" e il pulsante relativo alla form sulla barra delle applicazioni "lampeggia" e risulta colorato di arancione.
Ho provato a usare
SendMessage frm.hwnd, WM_ACTIVATE, 0, 0
ma non funziona.
Questo però succede solo la prima volta. Se chiudo form2 e poi da form1 richiamo la suddetta sub, tutto funziona bene.
Inoltre tramite il SetWindowPos la form2 viene portata in primo piano, solo che così non riesco a riportare in primo piano form1.
Scusate ma non sono molto pratica di api.

Qualcuno mi può aiutare?
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2024
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5