Hi zonfar,
Firstly, you should decide if you really want to lock license to a particular PC. In the most simple case, you may not use Hardware ID locking and so don't need customers to provide you their Hardware ID.
If you need it, then yes, somehow you should get the user's hardware id back to generate a key.
I could recommend you the following ways to do that:
1. Just show a Hardware ID to user and ask to email it to you. You may use standard registration dialog for this (Registration Features - Registration Dialog).
2. You can develop some code inside your application that will extract Hardware ID from protection (using EP_RegHardwareID function) and then automatically email it to you.
3. Using the feature Registration Features - Registration Dialog, open registration dialog in designer. Then put a control of type TLink on the form. In the url property of this link set the text "mailto:
your@email.com?body=My%20Hardware ID%20is%20%HardwareID%&subject=Registration%20Request" (without quotes). If you protect the file, and then click on this link, the default email client will be opened, and the email body will contain Hardware ID.
4. The most perspective way is a way using online activation. While online activation, protected program will automatically send hardware id to the activation server, server will automatically generate a key and send back to program. We are offering such solution as a service, and if you would like, I can give you more information about this.