Question: Could some one please help me on the below 

Is it possible to record desktop applications using JMeter?

I just tried the following, but didn't work 

1. File--->Template--->Create
2. Workbench--->Recording Script-->Start
3. Launched my application which is desktop and perform some actions
4. Workbench--->Recording Script-->Stop
5. When I expand Threadgroup--->Recording Controller-Nothing recorded

Where am I missing?

Answer: 
You miss one important step:

* configure your desktop application to use proxy and provide host and port where JMeter is running (localhost and 8888 if they live on the same machine

Also be aware that:

* JMeter can record only HTTP or HTTPS traffic, if your application uses other protocol - the calls will not be recorded. In that case you can consider [The Grinder](http://grinder.sourceforge.net/) as an alternative, it comes with [TCPProxy](http://grinder.sourceforge.net/g3/tcpproxy.html) which is more low level therefore is cable to capture more protocols
* If your application uses HTTPS protocol you will need an SSL certificate in order to decrypt and record the requests, you can configure your application to use JMeter's certificate or vice versa.
* On MS Windows you may need to add a [Loopback Adapter](https://technet.microsoft.com/en-us/library/cc708322(v=ws.10).aspx)

See [How to Run Performance Tests of Desktop Applications Using JMeter](https://www.blazemeter.com/blog/how-run-performance-tests-desktop-applications-using-jmeter) article for more details on simulating multiple desktop applications using JMeter
As [help](http://jmeter.apache.org/usermanual/component_reference.html#HTTP(S)_Test_Script_Recorder) explains:

> 
> The recorder is implemented as an HTTP(S) proxy server. You need to set up your browser use the proxy for all HTTP and HTTPS requests.
> 
> 
> 

Technically browser is also a desktop application, so to answer your first question, yes, you can record desktop applications using JMeter. However, just like browser, your desktop application must have an ability to connect to the internet via user-defined proxy. And also recorder will only record HTTP traffic from and to the application, it will not record client-only UI events, or traffic generated by any other protocols. 

So to sum up: 

* Any desktop application can use JMeter recorder
* But only if you can configure it to use JMeter recorder as a proxy
* And only if your goal is to record HTTP traffic related to your desktop application, nothing else.