>>When running the following program, it takes the same picture from the same camera.<<
Does it report a different device name and id each time? You could try a DoEvents/Sleep in the loop.
Also, try calling CommonDialog1.ShowSelectDevice to make sure each camera is supported.
>> how can I adjust its brightness. <<
I'd suggest breaking it up a bit and looking around.
Both the device and the item support a properties collection so have a look around. the oItem represents the picture on the camera before it is downloaded to the computer. Have a look at the other methods on CommonDialog.Code:Set oDevice = DeviceManager1.DeviceInfos(i).Connect ' See what properties the device supports... CommonDialog1.ShowDeviceProperties(oDevice) Set oItem = oDevice.ExecuteCommand(wiaCommandTakePicture) ' See what properties the image supports... CommonDialog1.ShowItemProperties(oItem) Set oImage = oItem.Transfer ' or Set oImage = CommonDialog1.ShowTransfer(oItem)