You can check device status by IsReady property of DeviceInfo for checking whether its attached and ready to use or not.
But IMO you cant fetch only pen drives because other devices like USB HDD is attached to machine than this will also be listed.
Code sample:
DriveInfo[] allDrives = DriveInfo.GetDrives();
foreach (DriveInfo d in allDrives)
{
if (d.IsReady && (d.DriveType == DriveType.Removable ))
{
}
}