Hi Tavi,
Hyperterminal and C# both send code to the Serial Port.
I think you error might be in the syntax of the code you are sending.
Try enclosing command in C# as you do in Hyperterminal.
So AT+CMGS="0412321123"
becomes "AT+CMGS=\" + txtPhone.Text + "\"\r"
not "AT+CMGS=" + txtPhone.Text + "\r"
This enlcoses the phone number in quotes when it is sent to the serial port as it is in Hyperterminal.
Here are a few topics I was involved in some time ago on this subject which have some source code that works well.
http://p2p.wrox.com/topic.asp?TOPIC_...rchTerms=modem
http://p2p.wrox.com/topic.asp?TOPIC_...rchTerms=modem
======================================
"They say, best men are molded out of faults,
And, for the most, become much more the better
For being a little bad."
--Shakespeare
======================================