using System;
using System.Collections.Generic;
using System.Text;
using Microsoft.Win32;

namespace MobileGlass7.HiCommon
{
    sealed class ActiveSyncState
    {
       // RegistryKey SyncState;

        internal string GetState
        {
            get
            {
                string value;

                if (!Registry.LocalMachine.OpenSubKey(@"System\State\HardWare").Equals(null))
                    value = Registry.LocalMachine.OpenSubKey(@"System\State\HardWare").GetValue("Cradled").ToString();
                else
                    value = "";
                return value;
            }
        }
     }
}
----------------------------------------------------------------------------------------------------------------
<META http-equiv="Content-Type"> <META content="DEXTWebEditor" name="GENERATOR">

안녕하세요.

 

PDA가 PC에 연결된 크래들에 꼽히고 싱크가 정상적으로 되면 Event를 받는 부분을 몰라..

2일째 질문&답변을 참조하였습니다.

 

그 결과... 아래 함수를 알수 있었습니다.

CeRunAppAtEvent();

그러나 위 API함수는 이벤트가 발생할때 특정 프로그램을(*.exe)파일을 실행시켜 주는 것 같았습니다.

 

또 다른 방법은 Register의 Flag 상태를 체크하여 Active Sync가 되었는지, 되지 않았는지 체크 하는 방법도 있었습니다.

(가능하다는 글만 봤지, 자세히 기재된 내용을 찾아 보기 힘들었습니다.)

제가 해보고 싶은것은 Register의 Flag값을 참조하여 Active연결 상태를 검사하는 부분을 구현하고 싶습니다.

 

하지만,

Active Sync가 정상적으로 된 후, PDA의 어느쪽 Register값을 참조해야 하는지 모르겠습니다.

 

윽~~~

지금 부지런히 레지스터 트리 검색하고 있는데 찾기가 힘드네요..

좀 알려주시면 감사하겠습니다.

 

 

이 글에 평점 주기:  
 [답변][re]참고해보세요.. 2008-07-30 오후 3:08:52
지태성 (nix30)   번호: 28137   / 평점:  (-)  
<META http-equiv="Content-Type"> <META content="DEXTWebEditor" name="GENERATOR">

다음의 registry 값을 확인해 보시면 됩니다.

"HKLM\System\State\Hardware\Cradled", 크래들이 연결되면 값이 1로 변경이 됩니다.

다만, 위 registry 값은 Windows Mobile 5.0 부터 지원되는 것으로 알고 있으니, 님께서 사용하고 계시는 단말기의 OS 버전을 확인해 보신 후 사용해 보시기 바랍니다.

 

참고해 보시기 바랍니다.

감사합니다.

 

이 글에 평점 주기:  
         [답변]에구~ 찾아봐도 없습니다.ㅠ.ㅠ 2008-08-03 오후 10:15:34
김수종 (wowhul)   번호: 28153   / 평점:  (-)  
<META http-equiv="Content-Type"> <META content="DEXTWebEditor" name="GENERATOR">

우선 답변 대단히 감사합니다.

 

말씀 하신 OS버젼의 문제인것 같습니다.

제가 개발하고 있는 PDA는 산업용 PDA로써 Windows CE 5.0입니다.

꼭 생긴게 Windows 95폼이랑 비슷합니다.^^

어떻게 생긴 OS버젼인지 아시죠^^

 

근데 알려주신 레지스터와 그 부근을 모두 싹 찾아 봤지만, Cradle에 관련된 레지스터는

아직도 못 찾았습니다. ㅠ.ㅠ

어디에 숨어 있는지 너무 너무~~ 궁금합니다.

알려주시면 대단히 감사하겠습니다.

 

 

 

 

이 글에 평점 주기:  
                 [답변][re]참고해보세요.. 2008-08-04 오전 9:49:31
지태성 (nix30)   번호: 28158   / 평점:  (-)  
<META http-equiv="Content-Type"> <META content="DEXTWebEditor" name="GENERATOR">

제가 알려드린 Registry 값은 Windows Mobile 5.0 부터 지원되는 Registry 값으로. Windows CE 5.0에서는 지원되지 않습니다. 아무래도 다른 방법을 찾아 보셔야 할 것 같습니다.

 

다른 하나의 방법이라면, 현재 PDA에서 사용하고 있는 IP를 체크하는 방법입니다. 현재, 정확한 IP 주소가 생각나지는 않지만, ActiveSync가 연결되면 고정적인 IP 주소를 할당받게됩니다. 한 번, 참조해 보세요.

 

참고해 보시기 바랍니다.

감사합니다.

 

 

이 글에 평점 주기:  
                         [답변]친절한 답변 대댠히 감사합니다. 2008-08-04 오후 4:49:07
김수종 (wowhul)   번호: 28168   / 평점:  (-)  
<META http-equiv="Content-Type"> <META content="DEXTWebEditor" name="GENERATOR">

해당 레지스터를 찾지 못하여

다른 방법으로 해결을 햇습니다.

 

1. FindWindow()

2. IP주소 확인

 

위 두단계를 거쳐 원하는 부분을 구현하였습니다.

 

다시 감사합니다.


Posted by penguindori