Having an agent really helps, as they know the various book publishing businesses, and have contacts with them.
In my case, a friend dragged me into co-writing the Samba Administrator's Handbook. From the same mailing list I met ed, he recruited our agent (who also has about 20 books under his belt). From another mailing list, we recruited a third member, Lisa, who was a tech writer with several books under her belt.
Then, ed and I wrote up a proposal and submitted to a few companies. They came back with counter-proposals. We accepted a counter-proposal, then wrote up a chapter outline, and a first chapter. IDG (aka Hungry Minds) accepted us, and sent us a contract.
So, the three of us co-wrote the book, with ed using his 8 years of Samba experience, me doing the Linux/Solaris/FreeBSD gruntwork, and Lisa making it readable.
If you want, I can forward an email note to my agent, my email is email@example.com . You will have to give up 15% of your advance, but you will be taken more seriously. Also, your book idea may get turned and twisted around to what the publisher thinks will sell, as opposed to what you think will sell. Finally, you will be on a deadline, and they will want to book done in a few months.
I can go into greater depth if you have more questions.