CheckStrong(password){
	return ( RegExMatch(password, "[0-9]") && RegExMatch(password, "[a-z]") && RegExMatch(password, "[A-Z]") )
}
;
GenPassword(Length){
	; 此处 `` 为转义
    Chars := "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz"
    Min := 1
    Max := StrLen(chars)

	pw := ""
    Loop %Length% {
	    Random StartPos, Min, Max
	    pw := pw SubStr(Chars, StartPos, 1)
    }
    Clipboard := Chars
    if(CheckStrong(pw)){
    	Return pw
    }else{
    	Return GenPassword(Length)
    }
}

^+u::
    Length := 40
    Clipboard := GenPassword(Length)
    Send ^v
    return