Newsgroup: it.comp.appl.access
Titolo: Richiamare applicativo esterno

Allora...
Ho spulciato e rispulciato...ma ho trovato come lanciare un programma, 
ma non quello che servirebbe a me.
Ho la mia maschera in popup che mi occupa tutto lo schermo (e mi sta 
bene così)
Vorrei però abbinare alla maschera un tasto che permetta di richiamare 
un programma ben preciso (che è sicuramente attivo), quindi facendolo 
passare in primo piano.
(tra l'altro è un programma che non si chiude mai. al limite va in bg)
Si può...?
In alternativa, sempre dal tasto far comparire la barra delle 
applicazioni di windows (quella con l'ora insomma)...


Certo che si può...
Devi recuperare l'hWnd dell'applicativo tramite FindWindow(API)
alla quale passi il ClassName se è registrato oppure la Caption:
      lngHwnd = FindWindow("NomeClasse", vbNullString)
      lngHwnd = FindWindow(vbNullString, "Caption del Programma")
Ora con l'hWnd puoi portarlo in primo piano :
Public Declare Function SetWindowPos Lib "user32" _
        (ByVal hWnd As Long, ByVal hWndInsertAfter As Long, _
        ByVal X As Long, ByVal Y As Long, _
        ByVal cx As Long, ByVal cy As Long, ByVal wFlags As Long) As
Long
Private Const HWND_TOPMOST = -1
' SetWindowPos Flags
Public Const SWP_NOSIZE = &H1
Public Const SWP_NOMOVE = &H2
Public Const SWP_NOZORDER = &H4
Public Const SWP_NOREDRAW = &H8
Public Const SWP_NOACTIVATE = &H10
Public Const SWP_SHOWWINDOW = &H40
Public Const SWP_HIDEWINDOW = &H80
      SetWindowPos lngHwnd, HWND_TOPMOST, 0, 0, 1024, 150,
SWP_NOACTIVATE
Ma puoi anche evitare le coordinate
SetWindowPos lngHwnd, HWND_TOPMOST, 0&, 0&, 0&, 0&, SWP_NOACTIVATE
Oppure in alternativa se non devi definirne le simensioni:
Public Declare Function ShowWindow Lib "user32" _
        (ByVal hWnd As Long, ByVal nCmdShow As Long) As Long
'// ShowWindow() flags
Public Const SW_HIDE = 0
Public Const SW_SHOWNORMAL = 1
Public Const SW_NORMAL = 1
Public Const SW_SHOWMINIMIZED = 2
Public Const SW_SHOWMAXIMIZED = 3
Public Const SW_MAXIMIZE = 3
Public Const SW_SHOWNOACTIVATE = 4
Public Const SW_SHOW = 5
Public Const SW_MINIMIZE = 6
Public Const SW_SHOWMINNOACTIVE = 7
Public Const SW_SHOWNA = 8
Public Const SW_RESTORE = 9
Public Const SW_SHOWDEFAULT = 10
Public Const SW_MAX = 10
ShowWindow lngHwnd, SW_SHOW
Ciao
@Alex

 
Ok, già qui vado oltre le mie conoscenze :D
Esattamente...cosa dovrei fare?
(fai conto che abbia tre anni :P)

 (fai conto che abbia tre anni :P)
Io a 3 anni programmavo in Linguaggio macchina...! ;-)
Le istruzioni che ti ho dato sono complete per fare quello che hai
chiesto
non c'è altro da aggiungere, quindi se non lo hai capito(che è normale
non trattandosi di normale VBA) credo sia necessario uno studio minimo
dell'argomento.
La cosa non è complessa, ma questo no è l'ambito per fare il trattato
sulle API(cosa peraltro molto marginale per l'uso di Access).
Pertanto ti rimando ad un tutorial che ho scritto:
http://www.alessandrobaraldi.it/DettaglioFaq.asp?IdFAQ=232
dal quale puoi capire qualche cosa, ed approfondire poi in autonomia.
@Alex

dell'argomento.
credo sia decisamente superiore alle mie capacità, ma ringrazio comunque per 
la risposta.
E cmq darò un'occhiata al tutorial che male non mi farà

 (fai conto che abbia tre anni :P)
Io a 3 anni programmavo in Linguaggio macchina...! ;-)
bhe l'avevamo capito. Sei troppo forte.
---cut---
Ciao
Access