Hi zusammen.
Dafür gibts die API SetWindowPos. Die benötigt dafür allerdings das entsprechende Handle. Ich weiß jetzt nicht of die Open Methode der Shell.Application sowas zurückgibt oder nicht. Wenn nicht und du hast nur ein Explorer-Fenster offen kannst du mit FindWindow danach suchen. Die Klasse ist CabinetWClass.
Declare PtrSafe Function FindWindow Lib "user32" Alias "FindWindowA" ( _
ByVal lpClassName As String, ByVal lpWindowName As String) As LongPtr
Declare PtrSafe Function SetWindowPos Lib "user32" ( _
ByVal hWnd As LongPtr, ByVal hWndInsertAfter As LongPtr, _
ByVal x As Long, ByVal y As Long, ByVal cx As Long, ByVal cy As Long, _
ByVal wFlags As Long) As LongPtr
Sub Test()
Explorer = FindWindow("CabinetWClass", vbNullString)
SetWindowPos Explorer, 0, 50, 50, 500, 500, SWP_NOZORDER
End Sub
Gruß Mr. K.
|