Salve a tutti,![]()
Sono qui per richiedere un vostro aiuto.
Sto cercando di "Catturare un programma (es. blocco note) in un form" con VB6. Questa esigenza nasce dal fatto che dovrei gestire un software il quale mi impegna tutto il desktop senza poterlo ridimensionare ma ho bisogno di un angolino del desktop per la sola visualizzazione di un display contatore di tempo.
Il contatore (conta minuti a ritroso e lampeggia per gli ultimi 60 secondi) è un'altro programmino che, tramite RS232, mi gestisce due display a sette segmenti posto in modo non visibile all'operatore del computer su cui gira questo programma. Quindi questo contatore sul desktop deve essere consultato e effettuare operazioni del caso. E' scomodo per esempio spostarsi tramite la barra delle applicazioni ed è altrettanto scomodo avere una finestra sul programma principale (quello che impegno lo schermo) da spostare continuamente perchè è in primo piano.
Mi rendo conto che ad immaginare è difficile, ma purtroppo non so come spiegarmi meglio e in qualche modo mi devo ingegnare a risolvere.![]()
Ho creato un form MDI ed ho abbinato all'evento click (solo per prova poi farò un menù apposito):
__________________________________________________ ___________________________
hdl = Shell("notepad.exe", vbNormalFocus) 'Apro il programma di interesse
app = RegistraClasse 'Registro una mia classe per usare
'la funzione API FindWindow
app = TrovaFinestra("WindowClasse", "notepad.exe") 'Trovo la finestra di interesse
app = ImpostaPr(TrovaWnd("notepad.exe"), MDIForm1.hwnd) 'Imposto gli attributi affinchè la finestra
'di interesse passi nel mio MDI
ScaricaClasse 'Scarico la classe
ŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻ ŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻ
L'idea è la seguente, anche se avete già capito:
- Creo la finestra madre che ospita il programma di interesse
- Avvio il programma di interesse
- Punto al programma di interesse trovando il suo handle
- Con il suo handle posso cambiare l'attributo di MDIChild e imposto l'attributo Parent al MDI madre
Il problema incontrato è:
Eseguo il debug
Non "trovo" la finestra del mio programma perchè la finestra attiva è il VB6.EXE su cui sto lavorando
Mi ritrovo la finestra del vb6.exe nel mio MDI madre (ovviamente non riesco a chiudere bene il progetto)
Rendo eseguibile il progetto ma noto che il programma di interesse (ho usato notepad.exe) pur
mostrando "sintomi di parentela con il mio MDI" non "entra" come finestra figlio
![]()
Può dipendere da problemi di compatibilità e per tanto "mi attacco al tram"?
Dove sbaglio?![]()
Grazie a tutti.
![]()