Why did he say "you struck him with a sword"?
Radak: It is as if you struck him with a sword, since you commanded Yo'av to put him in a dangerous place.
Why does it say "you killed him with the sword of Bnei Amon"? There is no Shelichus for an Aveirah - if one told a Shali'ach to do an Aveirah, and he did, the Shali'ach is liable and the Meshale'ach is exempt!
Shamai (Kidushin 43a): The verse teaches that this is an exception; one who makes a Shali'ach to murder is liable.
Radak: Here is different, for the verse says that David killed him via Amon! It is different here because he is king, and one does not transgress the king's word. Also Sha'ul commanded to kill Nov, Ir ha'Kohanim, and it is as if he killed them. 1
Radak: Even though one should not obey the king in such a case, like I explained above (Yehoshua 1:18, from Sanhedrin 49a, "Kol Asher Yamreh Es Picha [will die]." Perhaps this includes a commanded for an Aveirah! "Rak" excludes this.) Not everyone is careful about this, and knows to expound "Ach" and "Rak" to exclude. Therefore, the king is liable.
Why did he say both "you struck him with a sword" and "you killed him with the sword of Bnei Amon"?
Radak: You did a second evil in killing him - you killed him via the sword of Bnei Amon, i.e. haters of Yisrael.
Malbim: In between these it says "you took his wife", for the two Aveiros caused each other. (a) Even though Uriyah was Chayav Misah (refer to 11:9:1:1 and the note there), since you caused his death in order to be able to take his wife b'Heter. Therefore, it is considered that you murdered him. (b) Even though you killed him via the sword of Bnei Amon in war, and you are not liable for this (Kidushin 43a), since it was in order to take his wife, it is as if you stole her.