|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Senior Member
Iscritto dal: Jun 2001
Città: Catania
Messaggi: 2696
|
[Visual Basic 6] - applicazione esterna dentro form MDI
Salve ragazzi,
volevo sapere se fosse possibile e come far avviare il paint dentro un form mdi. Già sono riuscito a creare il codice per aprire il paint cliccando semplicemente su un bottone ma volevo che lo spostamento della schermata del paint fosse delimitato nell'area del form MDI Grazie 1000!
__________________
Unisciti a noi: http://www.swproduction.altervista.org/ - http://www.enews.altervista.org/
|
|
|
|
|
|
#2 |
|
Junior Member
Iscritto dal: Apr 2010
Messaggi: 7
|
No, non è possibile che il PAINT divenga una TUA applicazione. Come non è possibile per altre applicazioni di base di Win.
Puoi sicuramente farla partire, come hai fatto, tramite un comando della tua applicazione. Al massimo potresti usare le sue librerie per fare alcune funzioni all'interno dell'applicazione...ma non direttamente usare il software. |
|
|
|
|
|
#3 | |
|
Senior Member
Iscritto dal: Jun 2001
Città: Catania
Messaggi: 2696
|
Quote:
Volevo chiedere se esiste un modo che permette di controllare (sempre tramite VB6) se un file chiamato Abcd.xyz è presente nella clipboard di windows Grazie 1000!
__________________
Unisciti a noi: http://www.swproduction.altervista.org/ - http://www.enews.altervista.org/
|
|
|
|
|
|
|
#4 | |
|
Senior Member
Iscritto dal: Dec 2004
Messaggi: 3210
|
Quote:
Codice:
Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As Long, ByVal lpWindowName As Long) As Long
Private Declare Function GetParent Lib "user32" (ByVal hwnd As Long) As Long
Private Declare Function SetParent Lib "user32" (ByVal hWndChild As Long, ByVal hWndNewParent As Long) As Long
Private Declare Function GetWindowThreadProcessId Lib "user32" (ByVal hwnd As Long, lpdwProcessId As Long) As Long
Private Declare Function GetWindow Lib "user32" (ByVal hwnd As Long, ByVal wCmd As Long) As Long
Private Declare Function LockWindowUpdate Lib "user32" (ByVal hwndLock As Long) As Long
Private Declare Function GetDesktopWindow Lib "user32" () As Long
Private Declare Function DestroyWindow Lib "user32" (ByVal hwnd As Long) As Long
Private Declare Function TerminateProcess Lib "kernel32" (ByVal hProcess As Long, ByVal uExitCode As Long) As Long
Private Declare Function GetCurrentProcess Lib "kernel32" () As Long
Private Declare Function Putfocus Lib "user32" Alias "SetFocus" (ByVal hwnd As Long) As Long
Const GW_HWNDNEXT = 2
Private mWnd As Long
Function InstanceToWnd(ByVal target_pid As Long) As Long
Dim test_hwnd As Long, test_pid As Long, test_thread_id As Long
test_hwnd = FindWindow(ByVal 0&, ByVal 0&)
Do While test_hwnd <> 0
If GetParent(test_hwnd) = 0 Then
test_thread_id = GetWindowThreadProcessId(test_hwnd, test_pid)
If test_pid = target_pid Then
InstanceToWnd = test_hwnd
Exit Do
End If
End If
test_hwnd = GetWindow(test_hwnd, GW_HWNDNEXT)
Loop
End Function
Private Sub Command1_Click()
Dim Pid As Long
LockWindowUpdate GetDesktopWindow
Pid = Shell("c:\windows\notepad.exe", vbMaximizedFocus)
If Pid = 0 Then MsgBox "Errore apertura applicazione"
mWnd = InstanceToWnd(Pid)
SetParent mWnd, Me.hwnd
Putfocus mWnd
LockWindowUpdate False
End Sub
Private Sub Form_Unload(Cancel As Integer)
DestroyWindow mWnd
End Sub
|
|
|
|
|
|
|
#5 | |
|
Senior Member
Iscritto dal: Jun 2001
Città: Catania
Messaggi: 2696
|
Quote:
Ottimo funziona! E se volessi controllare (sempre tramite VB6) se un file chiamato Abcd.xyz è presente nella clipboard di windows? O meglio ancora se quel file Abcd.xyz nel momento attuale è "vittima" di un copia/taglia su windows? Grazie 1000!
__________________
Unisciti a noi: http://www.swproduction.altervista.org/ - http://www.enews.altervista.org/
|
|
|
|
|
|
|
#6 |
|
Senior Member
Iscritto dal: Jun 2001
Città: Catania
Messaggi: 2696
|
...questo 3d si può chiudere: ne apro un'altro per il problema della clipboard
__________________
Unisciti a noi: http://www.swproduction.altervista.org/ - http://www.enews.altervista.org/
|
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 11:31.



















