2010-07-13 2 views
4

C#으로 작성된 PocketPC 2003과 코드 호환성을 유지하면서 WindowsMobile5 (이상) 장치를 지원하는 가장 좋은 방법은 무엇입니까? 우리는 다른 PPC2003 장치를 가진 사람들과 대략 새로운 WinMobile5 이상에서 똑같이 균등하게 나뉘어 진 많은 다른 고객들에 의해 다소 큰 응용 프로그램을 사용하고 있습니다. 즉, 우리는 오랜 기간 동안 오래된 장치를 계속 지원해야합니다 아직. 이제 카메라가있는 장치의 경우 카메라 제어 기능을 앱에 추가해야하므로 사진을 찍어 다른 데이터에 첨부하여 결국 처리를 위해 웹 서비스로 전송할 수 있습니다.PocketPC 카메라 제어 질문

내 연구에 따르면 Microsoft.WindowsMobile.Forms dll에서 CameraCaptureDialog 클래스가 표시되었지만 PocketPC 2003 응용 프로그램에이 참조를 추가 할 수 없습니다. 보스는 애플리케이션을 별도의 PPC2003 및 WinMobile 프로젝트로 분할하는 데 너무 열중하지 않습니다. 해당 DLL을 동적으로로드하고 CameraCaptureDialog 그런 식으로 사용하는 방법이 있습니까? 다른 옵션이 있습니까?

답변

2

.NetCF PocketPC 2003 응용 프로그램에서 카메라에 액세스하는 유일한 방법은 P/Invoking C/C++ DLL입니다. Intertubes 어딘가에 떠 다니는 샘플 앱이 있습니다 (자세한 내용은 기억할 수 없지만 C 코드가 DirectShow를 통해 카메라에 액세스한다고 생각합니다).하지만 작업하기가 상당히 복잡하고 아마 ' 당신이 필요로하는 것을 정확하게하지 마십시오. 플러스 측면에서 어떻게 할 수 있는지 파악하면 PocketPC 2003과 Windows Mobile 5에서 모두 작동합니다 (즉, 기능적 PPC2003 앱은 WinMo5 장치에서도 실행됩니다).

CameraCaptureDialog는 거의 쓸모가 없으므로 많이 잃지 않습니다. 이상적으로 프로그래머는 카메라 인터페이스를 프로그래밍 방식으로 제어 할 수 있어야합니다 (예 : 해상도 설정, 카메라에서 비디오로 전환, 사진 찍기 등). 그러나 실제로는 장치의 열기 이외의 작업을 수행 할 수 없습니다. 내장 인터페이스.

업데이트

: 여기 내가 언급 한 샘플 응용 프로그램입니다 :

http://blogs.msdn.com/b/marcpe/archive/2006/03/03/542941.aspx

그리고 misremembered :이 샘플 것 포켓 PC 2003하지 일 (단 윈도우 모바일 5 이상). PocketPC 2003에서 장치 카메라에 액세스하는 방법을 알 수 없습니다. 최소한 장치 및/또는 제조업체에 독립적 인 카메라 액세스 방법은 없습니다. 일부 장치 (예 : HP iPaq)의 제조업체는 장치에 이미있는 DLL (P/Invoke를 통해 액세스 할 수 있음)을 통해 카메라 기능을 노출합니다.

카메라 통합이 필요한 경우 장치에 Windows Mobile 5 이상이 실행되고 있어야합니다. 일부 장치는 최신 버전의 OS로 업그레이드 할 수 있지만 그 이동에 대해서는 의문의 여지가 있습니다. 더 현대적인 장치 (예 : Droid)로 이동하는 것이 좋습니다.

+0

답장을 보내 주셔서 감사합니다. PPC2003 사용자가 앱에서 사진을 찍을 수 없다면 전혀 신경 쓰지 않아도됩니다. WindowsMobile5 이상에서 그렇게 할 수있는 방법을 찾고 싶습니다. 그러나 이것이 내가 붙어있는 것입니다. 별도의 프로젝트를 만들지 않으려 고합니다. 그래서 저는 생각합니다. 런타임시에만 WindowsMobile.forms.dll을로드하는 방법이 필요합니다 (존재하는 경우). 더 많은 최신 기기를 타겟팅하는 경우 - 고객이 엄청나게 비싼 Intermec 및 Symbol pocketpc에서 앱을 사용하고 있지만, 나는 탱크처럼 견고 함을 인정해야합니다. – KenF

+1

Intermec PDA가 Windows Mobile 용 코드를 작성하는 유일한 이유입니다. 이해합니다. Reflection을 통해'Microsoft.WindowsMobile.Forms'에서 메소드를 호출 할 수 있습니다. 그렇다면 OS 버전을 확인하고 WM5 +를 사용하는 경우 카메라 방법 만 호출 할 수 있습니다. Reflection을 통해 DLL에 액세스 할 수없는 경우 CameraCaptureDialog 호출을 래핑하는 별도의 DLL 프로젝트 (WM5 프로젝트)를 만들 수 있어야합니다.그러면 실행중인 OS에 따라 별도의 DLL 메소드를 호출 할 수 있어야합니다. – MusiGenesis

+0

굉장 해요, WinMobile 하위 프로젝트 .dll 함께 갔고 모든 컴파일 괜찮아요, 여전히 오래된 PPC 2003 장치에서 잘 실행됩니다. 다시 한 번 감사드립니다! – KenF

관련 문제