디지털 카메라에 액세스하려고하는 WPF 응용 프로그램을 작성하고 솔루션 및 Im의 사용 방법에 대해 매우 만족하고 있습니다.USB를 사용하여 장치에서 파일을 가져 오는 방법
이것은 내가 지금 무엇을 가지고 : 이것은 실제로 모든 내 디지털 카메라에 대한 위대한 작품과 내가 떨어져 사진을 얻을 수 있습니다
private const decimal WM_DEVICECHANGE = 0x0219;
private const int DBT_DEVTYP_HANDLE = 6;
private const int DBT_DEVNODES_CHANGED = 7;
private const int BROADCAST_QUERY_DENY = 0x424D5144;
private const int DBT_DEVICEARRIVAL = 0x8000; // system detected a new device
private const int DBT_DEVICEQUERYREMOVE = 0x8001; // Preparing to remove (any program can disable the removal)
private const int DBT_DEVICEREMOVECOMPLETE = 0x8004; // removed
private const int DBT_DEVTYP_VOLUME = 0x00000002; // drive type is logical volume
protected override void OnSourceInitialized(EventArgs e)
{
base.OnSourceInitialized(e);
var mainFormWinInteropHelper = new System.Windows.Interop.WindowInteropHelper(this);
System.Windows.Interop.HwndSource.FromHwnd(mainFormWinInteropHelper.Handle).AddHook(HwndHandler);
}
private IntPtr HwndHandler(IntPtr hwnd, int msg, IntPtr wparam, IntPtr lparam, ref bool handled)
{
ProcessWinMessage(msg, wparam, lparam);
handled = false;
return IntPtr.Zero;
}
private void ProcessWinMessage(int msg, IntPtr wparam, IntPtr lparam)
{
int deviceType;
char driveLetter;
if (msg == WM_DEVICECHANGE)
{
var int32 = wparam.ToInt32();
switch (int32)
{
case DBT_DEVICEARRIVAL:
Console.WriteLine("Device Arrival");
break;
case DBT_DEVICEQUERYREMOVE:
Console.WriteLine("Device Query Removed");
break;
case DBT_DEVICEREMOVECOMPLETE:
Console.WriteLine("Device Removed");
break;
case DBT_DEVNODES_CHANGED:
Console.WriteLine("Device added or removed");
break;
}
}
}
. 나는이 때 카메라를 꽂을 때 "이동식 저장 장치가있는 장치"아래의 창에 나타나고 드라이브 문자가 할당되어 있음을 기억해야합니다. 내 아이폰을 테스트하기에 내가 연결
그러나, 내 여기, 아이폰은 해당 섹션 아래에 표시되지 않습니다, 그리고 ... 그것에 연결된 드라이브 문자를 가지고
표시되지 않습니다하지만 주요 질문, 왜 아이폰을 추가 할 때 창 메시지 DBT_DEVNODES_CHANGED가 터지지 만 카메라를 추가하면 DBT_DEVICEARRIVAL 메시지가 나타 납니까?
내가 이상적으로 사용자에 플러그 때. 모든 USB 장치에서 파일을 "GET"할이 사람이 어떤 경험이 있습니까 수 있도록하고 싶습니다
? 내 Win32 프로그래밍은 매우 USB 미디어 업체 두 가지 종류가 있습니다 마크
감사합니다. 실제로 사과 장치가 작동하지 않는다고 생각하지 않습니다. 실제로 카메라를 작동시켜야합니다. 나는이 모든 것에 대해 더 궁금해했으며, 힘든 경우에는이 시점에서 디지털 카메라를 사용하는 것이 좋지 않았습니다. – Mark
문제는 대부분의 카메라가 Windows 미디어 장치 모델 만 지원한다는 것입니다. USB 대용량 저장 장치로 작동하는 카메라는 소수이거나 기껏해야 몇 년 전의 소수였습니다. 좋은 결과 내길 바랄 게. – Coincoin
미디어 장치에서 프로그래밍 방식으로 파일을 어떻게 얻을 수 있습니까? – Mark