If $A$ is normal and $A$ and $B$ commute, then $A^*$ and $B$ commute Let $A$ is a normal matrix: $A^*\! A = A A^*\!\!$,$\,$ and $AB = BA$. Prove that $A^*\!B=BA^*\!\!$.
I can prove that if $\det A\ne 0$ by multiplication $AB=BA$ by $A^*$ left and right and using some manipulation. But I have no idea what to do if $\det A = 0$.
 A: Hint: If $A$ is normal then $A^*$ is a polynomial in $A$. 
$\bf{Added:}$
Since $A$ is normal there exists $U$ a unitary matrix so that $A = U D U^*$ ( $A$ is unitarily diagonalizable), and so $A^* = U \bar D U^*$. Let $\lambda_k$ be the eigenvalues of $A$ ( the diagonal of $D$). Take $P$ a polynomial with complex coefficients so that $$P(\lambda_k) = \bar \lambda_k$$ Check that $P(A) = A^*$
A: We can use the fact that
$$\def\tr{\mathrm{tr}}
X=0\iff \tr(XX^*)=0.
$$
Since $A$ and $B$ commute, $A^*$ and $B^*$ commute as well. Together with the cyclic property of trace, $\mathrm{tr}(XY)=\mathrm{tr}(YX)$, we find that in each term of
$$
\begin{split}
\tr[(A^*B-BA^*)(A^*B-BA^*)^*]
&=
\tr(A^*BB^*A)+\tr(BA^*AB^*)
-\tr(BA^*B^*A)-\tr(A^*BAB^*)
\end{split}
$$
is equal to a constant, say, $\tr(A^*AB^*B)$.
E.g., $\tr(A^*BB^*A)=\tr(AA^*BB^*)=\tr(A^*AB^*B)$ and
$\tr(BA^*B^*A)=\tr(BB^*A^*A)=\tr(A^*ABB^*)=\tr(A^*AB^*B)$. Hence the trace  of $(A^*B-BA^*)(A^*B-BA^*)^*$ is zero.
A: In fact, if $|A|\neq 0$, then we can find a sequence $A_n$ such that $\lim_{n\rightarrow \infty}A_n=A$ and every term $A_n$ is inverse, that is, $|A_n|\neq 0$. 
