Ok so after reading around im finding if I use PROCESSOR_ARCHITECTURE it will tell me what my Processor is capable of not what OS im runing, Correct?
Not quite. You can tell the OS type and in the case of a 64 bit OS you know you have a 64 bit cpu (because you already know a 64 bit OS can only run on 64 bit hardware)
Whether or not a cpu is 64 bit, processor type will always be reported as x86 by a 32 bit operating system.
Whether or not a cpu is 64 bit, processor type will always be reported as x86 by a 32 bit process in a 64 bit OS
If a cpu is 64 bit, it will be correctly reported as AMD64 or IA64 by a 64 bit process in a 64 bit OS.
of course you can find the CPU identifier from the registry, and if you happen to know what the ProcessorNameString means, then you can say if it's 32 or 64 bit.
64 bit Windows 7 running on 64 bit CPU (AMD Phenom II 945)C:\>reg query HKLM\Hardware\Description\System\CentralProcessor\0
HKEY_LOCAL_MACHINE\Hardware\Description\System\CentralProcessor\0
Component Information REG_BINARY 00000000000000000000000000000000
Identifier REG_SZ AMD64 Family 16 Model 4 Stepping 3
Configuration Data REG_FULL_RESOURCE_DESCRIPTOR FFFFFFFFFFFFFFFF0000000000000000
ProcessorNameString REG_SZ AMD Phenom(tm) II X4 945 Processor
VendorIdentifier REG_SZ AuthenticAMD
FeatureSet REG_DWORD 0x203b7dfe
~MHz REG_DWORD 0xbb8
MicrocodeUpdateStatus REG_SZ Newer Patch Not Available
PreviousPatchLevel REG_DWORD 0x0
CurrentPatchLevel REG_DWORD 0x0
PreferredPatchLevel REG_DWORD 0x0 32 bit Windows XP running on 64 bit CPU (Intel Core 2 Duo T7500)C:\>reg query HKLM\Hardware\Description\System\CentralProcessor\0
! REG.EXE VERSION 3.0
HKEY_LOCAL_MACHINE\Hardware\Description\System\CentralProcessor\0
Component Information REG_BINARY 00000000000000000000000001000000
Identifier REG_SZ x86 Family 6 Model 15 Stepping 11
Configuration Data REG_NONE FFFFFFFFFFFFFFFF0000000000000000
ProcessorNameString REG_SZ Intel(R) Core(TM)2 Duo CPU T7500 @ 2.20GHz
VendorIdentifier REG_SZ GenuineIntel
FeatureSet REG_DWORD 0xa0033fff
~MHz REG_DWORD 0x892
Update Signature REG_BINARY 00000000B3000000
Update Status REG_DWORD 0x6
Previous Update Signature REG_BINARY 00000000B3000000
Platform ID REG_DWORD 0x80