25/08/09 10:27
fusebyte
Con questa SUB riesco ad allineare una applicazione dentro un FORM,in pratica a video risulta una cosa sola.
Naturalmente ho delle API dichiarate ed la funzione INSTANCEtoWND di supporto
Utilizzando un EXE che apre piu processi ( controllo nel TASK),sono costretto a cambiare il FORM LOAD in questo modo ( suggeritomi da TheProgrammer che ringrazio)e funziona.
Anche qui le API necessarie sono dichiarate.
Cosi' riesco a caricare l'applicazione dentro un FORM, ma a differenza dell'altro FORM LOAD,il comando MOVEWINDOW non funziona,l'applicazione resta in basso
a destra seppur dentro il FORM.
Vorrei capire perche' nel primo caso funziona e nel secondo no e come posso risolvere nel secondo caso.
Ciao Grazie
Private Sub Form_Load() Dim Pid As Long 'Execute notepad.Exe Pid = Shell("c:\windows\notepad.exe", vbNormalFocus) If Pid = 0 Then MsgBox "Error starting the app" 'retrieve the handle of the window mWnd = InstanceToWnd(Pid) 'Set the notepad's parent SetParent mWnd, Me.hwnd jWnd = MoveWindow(mWnd, 0, 0, 630, 450, True) ' <--- muove l'EXE in posizione 0,0 'Put the focus On notepad Putfocus mWnd End Sub
Naturalmente ho delle API dichiarate ed la funzione INSTANCEtoWND di supporto
Utilizzando un EXE che apre piu processi ( controllo nel TASK),sono costretto a cambiare il FORM LOAD in questo modo ( suggeritomi da TheProgrammer che ringrazio)e funziona.
Private Sub Form_Load() Shell "FattExpressPro.exe", vbDefault DoEvents Do While mWnd = 0 mWnd = FindWindow(ByVal 0&, "Fatturazione Professionale v1.1") DoEvents Loop SetParent mWnd, Me.hWnd jWnd = MoveWindow(mWnd, 0, 0, 790, 535, True)'<-- non muove l'EXE in posizione 0,0 Putfocus mWnd End Sub
Anche qui le API necessarie sono dichiarate.
Cosi' riesco a caricare l'applicazione dentro un FORM, ma a differenza dell'altro FORM LOAD,il comando MOVEWINDOW non funziona,l'applicazione resta in basso
a destra seppur dentro il FORM.
Vorrei capire perche' nel primo caso funziona e nel secondo no e come posso risolvere nel secondo caso.
Ciao Grazie
Ultima modifica effettuata da fusebyte 05/09/09 11:05
aaa