A proof that uses more basic techniques for the case $c\neq 0$ is this:
Suppose $X_n\rightarrow X$ in distribution, and suppose $c_n\rightarrow c$ (where $X_n, X$ are random variables and $c_n,c$ real numbers with $c\neq 0$). We prove that $c_nX_n\rightarrow cX$ in distribution.
Proof: Without loss of generality assume $c>0$. The CDFs of $X$ and $cX$ are nondecreasing and hence have at most a countably infinite number of discontinuities. Fix $x \in \mathbb{R}$ such that the CDF of $cX$ is continuous at $x$. We want to show $\lim_{n\rightarrow\infty} P[c_nX_n\leq x] = P[cX\leq x]$.
1) Fix $\epsilon>0$ such that the CDF of $X$ is continuous at $x/c + \epsilon$ (since there are at most a countably infinite number of discontinuities, we can find arbitrarily small values of $\epsilon>0$ for which this holds). There is an index $N$ such that
$$ c_n>0, \frac{x}{c_n} \leq \frac{x}{c} + \epsilon \quad \forall n \geq N$$
So for all $n \geq N$ we have
\begin{align}
P[c_nX_n \leq x] &= P[X_n \leq x/c_n]\\
&\leq P[X_n \leq x/c + \epsilon]
\end{align}
Taking a $\limsup$ as $n\rightarrow\infty$ and using the fact that $X_n\rightarrow X$ in distribution and the CDF of $X$ is continuous at $x/c+\epsilon$ gives
$$ \limsup_{n\rightarrow\infty} P[c_nX_n\leq x] \leq P[X \leq x/c + \epsilon]$$
This holds for arbitrarily small $\epsilon>0$ and since the CDF of $X$ is continuous from the right we get:
$$ \boxed{\limsup_{n\rightarrow\infty} P[c_nX_n\leq x] \leq P[X \leq x/c] = P[cX \leq x]}$$
2) Fix $\epsilon>0$ such that the CDF of $X$ is continuous at $(x-\epsilon)/c$ (again, since discontinuities are countable, there are arbitrarily small $\epsilon>0$ for which this holds). There is an index $N$ such that
$$ c_n >0 , \frac{x-\epsilon}{c} \leq \frac{x}{c_n} \quad, \forall n \geq N $$
So for $n \geq N$ we have
\begin{align}
P[cX \leq x - \epsilon] &= P[X \leq \frac{x-\epsilon}{c}]\\
&\overset{(a)}{=}\liminf_{n\rightarrow\infty} P[X_n \leq \frac{x-\epsilon}{c}]\\
&\leq \liminf_{n\rightarrow\infty} P[X_n \leq \frac{x}{c_n}]\\
&= \liminf_{n\rightarrow\infty} P[c_nX_n \leq x]
\end{align}
where (a) holds because $X_n\rightarrow X$ in distribution and the CDF of $X$ is continuous at $(x-\epsilon)/c$.
This holds for arbitrarily small $\epsilon>0$ and since the CDF of $cX$ is continuous at $x$ we get
$$ \boxed{P[cX\leq x] \leq \liminf_{n\rightarrow\infty} P[c_nX_n\leq x]} $$
The two boxed inequalities imply the result. $\Box$