Then I turned on my VM which is installed with oracle database 11.2.0.2 on linux and run that same command, but I don't get any result as well.
The database was created using dbca for this linux machine.

Can someone explain to me how I can verify if the CPU is already installed in a database?

look at those includes at the end of each PSU.
That is what I'm looking for and hope I can find similar thing in windows.

Well, Metalink documents vary from OS to OS,
Even i have one metalink document to check whether it is applied or not, but the same document i have not find out in Windows environment. So then you have to check only by "opatch lsinventory" or from views.

*How to confirm that a Critical Patch Update (CPU) has been installed in Linux / UNIX [ID 821263.1]*

Well, I am not sure that you are getting it correctly. The PSU's are not for Windows platform.
http://blogs.oracle.com/security/entry/the_benefits_of_database_serve

And from the above post,
>
Note that Patch Set Updates are available only for Oracle Database Server 10.2.0.4 and later on platforms other than Windows. Windows Database bundles do however include the same fixes as the Patch Set Updates when they are released>

Let's make it clear then.
I'm looking for a way to verify that the CPU which normally included in Patch Bundles or Patch Set has been applied.

That is the reason why I'm using the note 854428.1 to show that although it is a document for PSU, it also display the results that the CPU are included in the PSU.
Unfortunately the command is for Linux or Unix and for windows there's no further explanations of how the result would appear.
It is, however, explained in the link you provided that PSU is included in Windows Patch Bundles which is released regularly.

>
Note that Patch Set Updates are available only for Oracle Database Server 10.2.0.4 and later on platforms other than Windows. Windows Database bundles do however include the same fixes as the Patch Set Updates when they are released.
>

What I need is just a simple prove to show that the CPU is already applied.
Inside that note 854428.1, there's a command to do that in Linux

opatch lsinventory -bugs_fixed | grep -i 'DATABASE PSU'

Since PSU is not for windows, then I should be capturing different word inside the findstr.
This leads me to ask whether the command below is corrent for the Windows OS:

Yes, I perfectly understand that patching an Oracle database in Windows and Unix/Linux is different.
That's why I use different command to capture the bug fixed.

I believe you also understand that Windows Bundle Patch is a cumulative update. So, with the latest Bundle Patch you have, you should be able to see what patches have been applied.
With the cumulative updates applied that mean I should be able to see which CPU I have installed in the environment.
There should be a way to see that as similar as running "SELECT version, id, comments FROM sys.registry$history" in sqlplus and I don't mind if that similar way is only through the opatch lsinventory.

opatch lsinventory -bugs_fixed | grep -i 'DATABASE *PSU*

That command in UNIX/Linux showed that what CPU each PSU has included.
I'm just looking for similar way in Windows.
I was asking whether this command:

opatch lsinventory -bugs_fixed | findstr /R "MLR.*CPU.*"

is the right command for Windows. I just need to know whether that is the similar lines I should be capturing for CPU updates in Windows.