1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68
| Option Explicit
Private Declare Function FindWindow Lib "User32" Alias "FindWindowA" ( _
ByVal lpClassName As String, _
ByVal lpWindowName As String) As Long
Private Declare Function SetParent Lib "User32" ( _
ByVal hWndChild As Long, _
ByVal hWndNewParent As Long) As Long
Private Declare Function MoveWindow Lib "User32" ( _
ByVal hWnd As Long, ByVal x As Long, ByVal y As Long, _
ByVal nWidth As Long, ByVal nHeight As Long, ByVal bRepaint As Long) As Long
Private Declare Function SendMessage Lib "User32" Alias "SendMessageA" ( _
ByVal hWnd As Long, ByVal wMsg As Long, _
ByVal wParam As Long, _
lParam As Any) As Long
Private Const WM_CLOSE = &H10
Dim Result As Long
Dim ChemNom As String
Dim Titre As String
Public Sub RetarD(Durer As Single)
Dim R As Single
R = Timer + Durer
Do While Timer < R
DoEvents
Loop
End Sub
Private Sub Form_Load()
Command1.Caption = "Cmd Dos": Command1.Move 60, 75, 1200, 345
Command2.Caption = "Masquer": Command2.Move 1305, 75, 1200, 345
Command3.Caption = "Démasquer": Command3.Move 2535, 75, 1200, 345
Command4.Caption = "Fermer": Command4.Move 3795, 75, 1200, 345
Me.WindowState = vbMaximized
End Sub
Private Sub Form_Unload(Cancel As Integer)
If Result <> 0 Then
SendMessage Result, WM_CLOSE, 0, 0
End If
End Sub
Private Sub Command1_Click()
'Cmd Dos
ChemNom = "cmd ": Titre = "C:\Windows\System32\Cmd.exe"
Result = Shell(ChemNom, vbNormalFocus)
If Result <> 0 Then
RetarD 0.05
Result = FindWindow(vbNullString, Titre)
SetParent Result, Me.hWnd
'pour masquer
RetarD 0.05
'Command2_Click
End If
End Sub
Private Sub Command2_Click()
'Masquer
MoveWindow Result, -Me.Width, Me.Height, 200, 200, 1
End Sub
Private Sub Command3_Click()
'Démasquer
MoveWindow Result, 100, 100, 720, 600, 1
End Sub
Private Sub Command4_Click()
'Fermer
SendMessage Result, WM_CLOSE, 0, 0
Result = 0
End Sub |
Partager