다음을 통해 공유


방법: 장치 에뮬레이터 관리자 자동화 인터페이스를 사용하는 프로젝트 만들기

업데이트: 2007년 11월

다음 단계를 수행하여 DEM(장치 에뮬레이터 관리자)을 프로그래밍 방식으로 시작 및 제어하는 Visual C++ Win32 콘솔 응용 프로그램을 만듭니다. 응용 프로그램은 DEM 자동화 인터페이스를 사용하여 DEM을 제어합니다.

이러한 인터페이스를 사용하면 컴퓨터에서 장치 에뮬레이터를 프로그래밍 방식으로 열거 및 시작하고, 크레들에 놓고, 크레들에서 제거 및 종료할 수 있습니다. 이러한 인터페이스는 보통 많은 수의 에뮬레이터에 대해 테스트 작업을 자동화해야 하는 QA(품질 보증) 팀에서 사용합니다.

장치 에뮬레이터 관리자 자동화 인터페이스를 사용하는 프로젝트를 만들려면

  1. Visual C++ Win32 콘솔 프로젝트를 만듭니다.

    1. Visual Studio 시작

    2. 파일 메뉴에서 새로 만들기를 가리킨 다음 프로젝트를 클릭합니다.

      새 프로젝트 대화 상자가 나타납니다.

    3. Visual C++를 확장하고 Win32를 클릭합니다.

    4. 템플릿 창에서 Win32 콘솔 응용 프로그램을 클릭하고 프로젝트 이름을 DEMSample로 지정한 다음 확인을 클릭합니다.

      Win32 응용 프로그램 마법사가 나타납니다.

    5. 다음을 클릭합니다.

    6. 응용 프로그램 설정 페이지에서 ATL을 선택하고 마침을 클릭합니다.

      새 프로젝트가 생성되어 솔루션 탐색기에 표시됩니다.

  2. Microsoft 장치 에뮬레이터를 프로젝트의 포함 디렉터리에 추가합니다.

    1. 솔루션 탐색기에서 DEMSample을 마우스 오른쪽 단추로 클릭한 다음 속성을 클릭합니다.

      DEMSample 속성 페이지 대화 상자가 나타납니다.

    2. 구성 속성을 확장한 다음 C/C++를 클릭합니다.

    3. 추가 포함 디렉터리 옆에서 Microsoft 장치 에뮬레이터 폴더를 추가하고 확인을 클릭합니다.

      기본 위치는 drive:\program files\Microsoft Device Emulator\1.0입니다.

  3. 가져오기 자동화 인터페이스를 가져옵니다.

    1. 솔루션 탐색기에서 stdafx.h를 두 번 클릭하여 코드 편집기에서 엽니다.

    2. 파일의 끝 부분에 다음 코드를 추가합니다.

      #import "DEMComInterface.tlb" no_namespace raw_interfaces_only
      
  4. 응용 프로그램의 주 메서드에 IDeviceEmulatorManager를 사용합니다.

    1. 솔루션 탐색기에서 DEMSample.cpp를 두 번 클릭하여 코드 편집기에서 엽니다.

    2. 주 메서드의 return 0; 바로 위에 다음 코드를 추가합니다.

    int _tmain(int argc, _TCHAR* argv[])
    {
        if (SUCCEEDED(CoInitializeEx(NULL, COINIT_MULTITHREADED)))
        {
            // HRESULT is used to determine whether method calls are successful
            HRESULT hr;
    
            // Instantiate DeviceEmulatorManager (DEM) object.
            // This starts DvcEmuManager.exe in silent mode
    
            CComPtr<IDeviceEmulatorManager> pDeviceEmulatorManager;
            hr = pDeviceEmulatorManager.CoCreateInstance(__uuidof(DeviceEmulatorManager));
            if (FAILED(hr)) {
                wprintf_s(L"Error: Unable to instantiate DeviceEmulatorManager. ErrorCode=0x%08X\n", hr);
                return false;
            }
    
            // Show the window.
            hr = pDeviceEmulatorManager->ShowManagerUI(true);
            system("pause");
    
            // Hide the window.
            pDeviceEmulatorManager->ShowManagerUI(false);
            system("pause");
    
            return true;
            CoUninitialize();
        }
        return 0;
    }
    
  5. 디버그 메뉴에서 디버깅 시작을 클릭합니다.

    프로그램은 장치 에뮬레이터 관리자를 시작한 다음 IDeviceEmulatorManager::ShowManagerUI가 표시되도록 호출합니다.

참고 항목

기타 리소스

장치 에뮬레이터

장치 에뮬레이터 샘플