Mouse drag might be a bit weird if you reposition the window while resizing.
I did this instead. If you hold down the Left Control key while using the Mouse Wheel it should resize and center. If you are going to resize by a large amount I recommend doing it the regular way at first, until you are close to the size you want, then hold down Left Control and move the mouse wheel up for larger and down for smaller. It will resize the active window by increments and center it.
The only safety I have built in is it does nothing if the Desktop or Taskbar/Tray is active. Don't want to mess with resizing those.
To change to a different hotkey just change the script. See AutoHotKey forum for compiler if you want to compile it to exe file.
#NoEnv ; Recommended for performance and compatibility with future AutoHotkey releases.
SendMode Input ; Recommended for new scripts due to its superior speed and reliability.
SetWorkingDir %A_ScriptDir% ; Ensures a consistent starting directory.
LControl & WheelUp::
IfWinActive,ahk_class Progman
Return
IfWinActive,ahk_class Shell_TrayWnd
Return
WinGetPos,X,Y,Width,Height,A
Width := Round(Width * 1.1)
Height := Round(Height * 1.1)
If (Width > A_ScreenWidth)
Width = A_ScreenWidth
If (Height > A_ScreenHeight)
Height = A_ScreenHeight
WinGetTitle,Title,A
WinMove, %Title%,, (A_ScreenWidth/2)-(Width/2), (A_ScreenHeight/2)-(Height/2),%Width%,%Height%
Return
LControl & WheelDown::
IfWinActive,ahk_class Progman
Return
IfWinActive,ahk_class Shell_TrayWnd
Return
WinGetPos,X,Y,Width,Height,A
Width := Width - 20
Height := Height - 16
WinGetTitle,Title,A
WinMove, %Title%,, (A_ScreenWidth/2)-(Width/2), (A_ScreenHeight/2)-(Height/2),%Width%,%Height%
Return