Windows Mobile2009.06.10 13:34
PC에서 블루투스 설정을 위한 설정이 잘 되었고
액티브싱크 에서도 COM 포트를 사용하여 연결에도 설정이 잘 되어 있는 상태인데.
pda 에서 
블루투스 파트너 관계설정에
사용할 서비스 선택  항목에 ActiveSync 가 나타나지 않는다면!!!!!!

정말 뭔 짓을 해도 연결이 되지 않아서 미칠지경이 되었다면..
아래의 방법을 한번 시도해 보세요....

저도 블루투스 동글이를 다른 걸로 교체한 뒤 블투로 싱크가 되질 않아서 이틀정도 별별 뻘짓을 다해도 안되었다가.. 
이렇게 성공 했습니다.


1. PDA의 "HKLM\Software\Microsoft\Bluetooth\ActiveSync"  로 이동 합니다.
2. ActiveSync 아래의 서브 폴더를 삭제합니다.
3. ActiveSync 레지스트리 값 안에 "LastConnected"를 지우고, "Initialized" 값을 0 으로 변경 합니다.
4. 블루투스 관리자에 가서 페이링 되어 있는 컴퓨터들을 삭제합니다.

자... 이제
다시 한번 PC 의 ActiveSync의 연결할 com 포트가 PC의 블루투스 설정에서 active sync로 사용할 com 포트로 설정 되어 있는지 확인 하시고
pda와 다시 페어링을 해보세요..

확실히 될겁니다.


Posted by Dr.Kein

댓글을 달아 주세요

  1. 감사합니다

    저도 블루투스로 PDA 싱크를 하다가 어쩌다보니 싱크가 풀리고
    다시 싱크를 설정하려니 예의 직렬포트만 나오는 바람에 별짓을 다하다
    이 글을 보고 방금 다시 싱크연결을 설정했습니다.

    참고로 PDA를 USB로 연결하고 PC에서 PDA 레지스트리를 편집하는 유틸을 썼더니
    레지스트리 키가 지워지지 않더군요.
    그래서 PDA에서 실행시키는 레지스트리 편집기를 찾아서 키를 지웠습니다.
    USB 연결상태에서는 PDA 액티브싱크가 실행되어 키를 잡고있기 때문에
    안되는것 같았습니다.

    2009.09.12 23:39 신고 [ ADDR : EDIT/ DEL : REPLY ]
    • 일단 해결 하셨다니 다행입니다..
      저는 pc에서 pda 의 레지스트리 편집을 할 때
      soti pocket controller 를 사용 했습니다.
      말씀하신 것과 같은 문제는 없었는데요...
      하여간 성공 하셨다니 다행이네요 ^^

      2009.09.14 22:57 신고 [ ADDR : EDIT/ DEL ]
  2. demfsi

    저 방법은 최후에 하시는 게 좋을 듯 하구요.

    간단한 방법은 설정에서 블루투스 그리고 해당기기를 누르시면 파트너 관계 설정화면으로 넘어갑니다. 그리고 새로고침하면 직렬포트가 activesync로 나오더군요. 참고하세요.

    2009.09.15 17:53 신고 [ ADDR : EDIT/ DEL : REPLY ]
  3. 뜬 구름

    저도 같은 문제로 여러번 곤횩을 치렀었습니다.
    덕분에 잘 해결 되었습니다.
    결과 적으로 보면 Registry를 활용하여 Setup 되는 과정에서 신규 장치와의 Active sync 추가에
    대한 고려가 안된 거네요 ... 사실 software bug로 봐야 할 듯 하네요.
    이런데, 삼성전자 AS에서는 될 때까지 여러번 해 보세요 라고 하니 원 .... 참 실망입니다.

    다시 한번 감사 드립니다.

    2010.02.09 09:45 신고 [ ADDR : EDIT/ DEL : REPLY ]
  4. 알롬

    죄송한데 제가 컴퓨터랑 pda 에 대해 잘 몰라서 그러는데요 옴니아2에서 설정하려고 하는데 어떻게 하는지 잘 모르겠어요ㅠㅠㅠ

    2010.06.03 14:23 신고 [ ADDR : EDIT/ DEL : REPLY ]
    • 알롬님.. 어디부터 설명을 드려야 할지 모르겠네요.
      구글이나 네이버에서 '옴니아2 블루투스 액티브싱크' 로 검색을 해보세요.
      http://www.revu.co.kr/BlogReview/497A63F3-7DFA-402E-BC5B-6A1E8B93210F 여기가 도움이 되셨으면 좋겠네요.

      2010.06.04 14:03 신고 [ ADDR : EDIT/ DEL ]
  5. 아우 드디어

    M4650 쓰는데 연결 성공했습니다. 아무리 해도 안되더니 이대로 하니까 드디어 됬네요.
    정말 ㄳ합니다

    2010.06.22 02:51 신고 [ ADDR : EDIT/ DEL : REPLY ]
  6. 돼장금

    감사합니다. 새로고침만 만번은 눌러봤음직,,,,

    너무 감사드립니다.

    2010.11.05 14:57 신고 [ ADDR : EDIT/ DEL : REPLY ]

Windows Mobile2009.03.02 11:57

스마트폰에서 SMS(Short Messaging Service, 문자)가 오면
문자를 읽고 쓰는 프로그램이 구동 되면서 문자를 읽어오고, 보내는 작업을 한다.

이때,
확인하지 않은 문자의 갯수를 윈도 모바일 레지스트리에 기입을 하게되는데,

읽지 않은 문자 메시지의 수를 기록하는 경로가 조금씩 다르다.

우리나라가 표준에 벗겨난 방식을 사용하는 것 같기도 하고,
또한 국내 에서도 기기마다 상이하다.

윈도 모바일의 레지스트리 중에 확인하지 않은 문자의 갯수를 기록하는 레지스트리는 아래 두개 이다.

1. HKCU\System\State\Messages\sms\unread\Count
2. HKLM\System\State\Messages\SMS\Unread\Count

문제점은
단말기는 문자가 오면, 1번 키에 확인하지 않은 문자의 갯수를 기록하는데,
설치된 프로그램은 2번 키의 카운트를 참조하기 때문에
화면에 보여지는 확인하지 않은 문자의 갯수가 실제 시스템의 갯수와 맞지 않는 것.
(또는 서로 반대의 경우)

인터넷에 돌아다니는 해결방법은.
1번의 키값을 주기적으로 2번의 키 값에 복사해 써 넣는 방법.
(대부분의 mort script를 보면 이렇다.)

하지만, 주기적으로 레지스트리를 읽고, 쓰는 메카니즘은 CPU를 계속 사용한다는 말이고,
배터리 소비를 주기적으로 꾸준히 할 수 밖에 없는 구조라는 문제가 있다.

시스템 Notifications 을 이용하는 방법은
주기적으로 레지스트리의 값을 체크하는 방법과 달리
문자가 오면 시스템에서 내 프로그램에게 문자가 왔다는 이벤트를 날려주고
내 프로그램은 이벤트에 담겨 있는 읽지않은 문자 메시지의 갯수를
위 2군데 레지스트리 값에 써 넣는 방법이다.



Posted by Dr.Kein

댓글을 달아 주세요

컴퓨터 관련 tip??2008.10.22 10:49
ASUS의 블루투스 동글을 사용하면서 프로그램을 설치했더니 
바탕화면에 '내 블루투스 환경' 아이콘이 생겨버렸다.

시스템 트레이의 시계 옆에도 아이콘이 있길래 바탕화면의 아이콘을 클릭하고 del 눌렀는데.. 

안지워진다.

프로그램을 실행시켜서 환경설정 같은곳에 있는지 확인도 해봤는데 없었다.. 

이런 무대뽀를 봤나..

디스플레이 등록정보의 바탕화면 사용자 지정에도 해당 아이콘은 역시 없고.. 


이.. 뭥미?? ㅡ,.ㅡ;


찾아보니

레지스트리에서 삭제하란다.. 

뭐 이딴놈이 다있나.?


HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Desktop\NameSpace\{6af09ec9-b429-11d4-a1fb-0090960218cb}

레지스트리의 해당 키를 삭제해 버린뒤, 바탕화면에서 F5 ~!!

해결.
Posted by Dr.Kein

댓글을 달아 주세요

Windows Mobile2008.07.23 15:44
아래 샘플 코드는 C# (.NET compact framework) 코드로
pocket pc 2003 의 레지스트리에서 적외선 포트를 찾아오는 방법이다.
win ce, window mobile 에서도 공통으로 사용할 수 있을것 같다.

레지스트리에서 적외선 포트 값을 얻는 방법은 몇 가지가 있지만,
대부분 아래의 레지스트리 키값을 얻어오면 된다.

그리고, 레지스트리의 키값 에 +1 을 해 주어야 되는것 같다.
즉, COM3 번은 레지스트리에 port index 가 2로 되어 있는것 같다.

(아무리 생각해도 레지스트리의 이곳에 적혀있는 포트 번호는 NativeIR 번호 인것 같다.)

private string FindPortIndex()
        {
            string rtn = null;
            RegistryKey regKey = Registry.LocalMachine.OpenSubKey("Drivers\\BuiltIn\\IrDA");
            if (regKey != null)
            {
                object regData = regKey.GetValue("Index");
                if (!regData.ToString().Equals("0"))
                {
                    regKey.Close();
                    rtn = "COM" + regData.ToString();
                }
            }
            else
            {
                rtn = "Can't find from registry.";
            }
            return rtn;
        }

또 다른 곳에 있는 적외선 포트 번호 경로는...
HKEY_LOCAL_MACHINE 의 Drivers/BuiltIn/IrCOMM 의 Index
아마도.. 이것이 적외선 포트의 번호인 것 같다.

SerialPort 클래스로 COM2 번을 open 하려고 하면 열수가 없었다.
근데, COM3 번은 열렸다..


문제는.. open 한 다음에 적외선 코드를 쏘고, 받고 해야하는데.. 그게 안된다.
Posted by Dr.Kein

댓글을 달아 주세요