'.Net Compact Framework'에 해당되는 글 7건

  1. 2009.04.14 [C#] 각종 컴포넌트에 이벤트 핸들러 등록하기
  2. 2009.04.13 ActiveSync로 PDA 연결시 PC에서 자동으로 프로그램 띄우기 1
  3. 2009.04.11 [.NET CF] PC프로그램으로 PDA에 폴더 만들기 1
  4. 2009.04.10 [.NET CF] 네이티브 dll 가져다 쓰기
  5. 2009.04.09 [.NET CF] PocketOutlook API 초 간단 예제
  6. 2009.03.17 M4655에서 SMS을 보내는 프로그램 정보
  7. 2009.03.15 PDA 프로그래밍(.net C#) 환경 만들기 - 대략 M4655를 기준으로

[C#] 각종 컴포넌트에 이벤트 핸들러 등록하기

.Net Compact Framework 2009. 4. 14. 00:13
Java만 해 봤던 나로써는 C#에서의 이벤트 처리 방법은 조금 특이해 보인다.
마치 함수포인터를 넘기는 방법이랄까?

C#에서는 다음과 같은 방법으로 이벤트 핸들러를 등록할 수 있다.
예를들어 Form(Frame, Window)라는게 있는데, 이 놈이 Load 될때에 이벤트가 발생하게 된다.

그렇다면 Load 이벤트가 발생했을때 어떠한 코드를 수행하게 해 주어야 하는데, 이것이 바로 이벤트 핸들러이다.
이 놈들을 잡아 내려면 다음과 같은 방법으로 하면 된다.


이벤트 핸들러를 만들때 어떠한 메소드에서 해당 이벤트를 처리할지를 정해 놓고, 그 놈을 이벤트 핸들러로 등록한다.
위의 코드라면 Form이 Load되는 이벤트가 발생할때 Form1_Load 메소드가 호출되게 되어진다.

만약 이벤트 핸들러를 제거하고자한다면 -= 을 사용하면 된다.

정확하게 말하면 메소드의 포인터를 넘긴다는 말 보다는 델리게이트(위임) 시킨다는게 더 맞는 말이다.
:

ActiveSync로 PDA 연결시 PC에서 자동으로 프로그램 띄우기

.Net Compact Framework 2009. 4. 13. 20:56
지금 계획으로는 PDA를 컴퓨터에 USB로 연결하면,
컴퓨터에 있는 정보를 추출하여 PDA에 넣어주는 방법을 쓰려고 한다.

그런데, 그렇게 하려면 ActiveSync에 연결되었는지 알아내는 방법이 필요하다.

방법은 간단하다.
레지스트리에 ActiveSync가 연결되었을때 실행할 프로그램 등록해 줄 수 있다.
ActiveSync가 연결되었을때 자동으로 실행할 프로그램을 등록할 위치
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows CE Services\AutoStartOnConnect

ActiveSync의 연결이 끊어졌을때 실행할 프로그램을 등록할 위치
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows CE Services\AutoStartOnDisconnect
위의 위치에 프로그램파일명을 적어 주면 자동으로 실행된다.
ActiveSync가 연결되면, 클라이언트측에서 프로그램이 자동으로 실행되어야 한다.

사용자 삽입 이미지
지금 내 PC에서 PDA화면을 볼 수 있고 원격 조정할 수 있는 MyMobiler가 설치 되어 있고,
PDA가 연결되면 자동으로 MyMobiler가 실행되게 설정되어 있다.
( 참고로 Key는 아무거나 줘도 상관이 없다. )


이 방법을 이용하여 PDA가 컴퓨터에 연결되면 자동으로 PC측의 프로그램을 띄울 수 있게 되었다.
이제는 ActiveSync로 연결된 경우 PDA에 있는 프로그램을 수행 시키는 일을 알아야 겠구나.
:

[.NET CF] PC프로그램으로 PDA에 폴더 만들기

.Net Compact Framework 2009. 4. 11. 16:39
PC프로그램에서 PDA에 접속해서 이것저것 해야 할 경우가 많다.
그 중에 폴더 만들기를 해 보았다.
( 물론 API를 보니깐, 그게 제일 쉬워보여서 그걸로 했다. ㅋ )

사실 PDA에서 사용하는 .NET Compact Framework는 제한이 많다.
PC용 .NET Framework에 비해서 라이브러리가 많이 뒤쳐지기도 한다.

그런데!!
누군가가 만들어 두었다.
OpenNETCF Consulting http://www.opennetcf.com/

이것을 이용하면 PDA프로그래밍을 하기 쉬워진다.
이 라이브러리의 RAPI라는것을 이용하여 디렉토리를 만들 수 있다.

이 라이브러리를 다운로드 받아 참조로 추가시켜 주도록 한다.
그런뒤에....

역시나 간단하게 소스를 보자.


물론 위의 예제는 간단하게 코드로만 나타냈기 때문에, 정식적인 문법은 아니다.
위와 같은 간단한 코드로 PDA에 디렉토리를 만들 수 있다.

이 코드를 수행하기 전에는 먼저 ActiveSync로 PDA를 연결해 둔 상태이어야 함을 꼭 기억하자.

당연하게도 또 스크린캐스트가 나간다.
아래의 동영상을 확인해 보면 어떻게 동작하는지 쉽게 알 수 있을것이다.
:

[.NET CF] 네이티브 dll 가져다 쓰기

.Net Compact Framework 2009. 4. 10. 00:45
쉽다.
dll을 가져다 쓴다고 선언하고, dll에 들어 있는 API를 선언해 주면 된다.

그리고 막 가져다 쓰면 된다.

소스코드

:

[.NET CF] PocketOutlook API 초 간단 예제

.Net Compact Framework 2009. 4. 9. 23:56
최근에 TodoList 관리툴로 일정을 관리하고 있었다.
그런데 이것이 PDA에 연결되면 참 좋을텐데~ 라는 생각이 들었다.

물론 Outlook을 일정관리가 되기야 하겠지만, Outlook은 무료가 아니다.
MS Office를 구매하면 거기에 들어 있으니. 당연히 무료가 아니다.

현재는 TodoList를 중심으로하는 일정관리툴인 LifeManager(국산)를 사용하고 있다.
이 툴은 mdb 파일을 사용하는데 적당히 mdb파일에 접근한 뒤에
정보를 추출해서 넣어 볼까 생각중이다.

좀 더 원대하다고 말한다면 다음 캘린더를 연동해서 동작하게 하는것이다.
구글 캘린더가 있지 않느냐? 라고 말한다면,
난 되도록이면 국산을 사용한다는 주의이기 때문에 국산을 타겟으로 했다.

물론 Open-API도 없으니, 다음 캘린디에서 정보를 꺼낼 수 있을지는 의문이다.
하지만 목표가 그렇기는 하다.

우선 간단하게 소스를 보자.


위와 같은 방법으로 연락처, 할일, 일정관리의 정보에 접근할 수 있다.
응? 근데 ApplcationClass라던지, IFolder라는것은 본적이 없다.

없는것이 맞다. 아직 참조에 추가해 주지 않았기 때문이다.
솔루션 탐색기의 참조에서, 참조 추가를 눌러서 다음을 추가 한다.
Microsoft.WindowsMobile.PocketOutlook
뭐. 귀찮다면 아래의 dll파일을 다운받아서 참조로 추가하고 그냥 써도 된다.


내가 관심이 있어 하는 부분은 저 중에서 일정관리 부분이다.
약속을 추가하는 예제를 보도록 하자.


간단하다.
위와 같이 처리를 해 주면 일정이 추가 된다.
물론 할일(Tasks)을 추가하는것도 어렵지 않다.


이 예제는 이미 MSDN에 올라와 있는 예제이다.

예제 페이지 : http://msdn.microsoft.com/ko-kr/library/ms181010(VS.80).aspx
다운로드 : http://go.microsoft.com/fwlink?linkid=46902 ComInteropPocketOfficeObjectModelSample.zip
( 다운로드 링크는 .NET Framework SDK 2.0의 전체 예제이다. )

MSDN이 설치된 사람은 다음의 주소를 사용하여 msdn에서 접속해 보자.
ms-help://MS.VSCC.v80/MS.MSDN.v80/MS.VisualStudio.v80.ko/dv_fxsamples/html/642d5603-f4d5-4151-9173-a5cecf2296ac.htm

위의 예제를 이용해서 에뮬레이터에서 돌려본 스크린캐스트이다.


:

M4655에서 SMS을 보내는 프로그램 정보

.Net Compact Framework 2009. 3. 17. 00:15
M4655에서 SMS 메세지를 보내는 프로그램은

\windows\LGTSMS.exe

이다.


이 파일을 교체하면,  SMS프로그램을 띄울때 우리가 교체한 프로그램을 띄울 수 있다.
그리고 LGTSMS.exe의 프로그램이 수행될때 각종 argument를 줄 수 있는데
아래와 같은 정보를 인터넷을 뒤져서 찾아 냈다.

-type EDIT -receiver "%s" -name ""

중간에 -receiver 다음에 오는 %S는 전화번호가 들어 가면 된다.
(
-type EDIT -RECEIVER "전화번호" -name ""  )



참고로
M4655장비에서 LGTSMS.exe파일을 지우고,
리부팅을 하면 자동으로 LGTSMS.exe파일이 복구가 되므로,
사라지면 어쩔까 고민할 필요는 없다.
:

PDA 프로그래밍(.net C#) 환경 만들기 - 대략 M4655를 기준으로

.Net Compact Framework 2009. 3. 15. 17:53

핸드폰이 고장났었고 한 친구의 꼬드김으로 PDA를 구매해서 사용하다가,
또 다른 친구의 꼬드김으로 프로그래밍을 해 볼라고 준비중이다.


1, PDA의 정보를 알아 보자.
우선 내가 가지고 있는 PDA는 삼성에서 나온 M4655이다.
내가 쓰고 있는  M4655는 아래와 같은 환경정보를 가지고 있다. ( 설정->시스템->정보 )


위의 정보에서 조금 구분해 주어야 할것이 있는데, Windows Mobile 6 Professional과 CE 5.2.1621 이다
Windows Mobile 버젼, 윈도우 CE의 버젼은 다를 수 있다는것을 한번 더 알아 두고 가자.


2. 프로그래밍에 사용되는 SDK를 다운로드 받자.
PDA는 일반 Windows Application보다 기능이 없거나, 혹은 전화와 같은 특수능력에 대한 API가 있다. 이러한 API를 사용할 수 있는 SDK를 다운로드 받아서 설치 해야 한다.

우선 글쓰는 사람의 환경은 Visual Studio 2005 가 이미 설치 되어 있는 상태이다. 그러므로 아래의 작업을 하기 전에 먼저 자신의 환경에 Visual Studio 2005를 설치하고 따라하기를 바란다.

우리는 C#으로 프로그래밍을 하기로 정했고, 거기에 맞춰서 .net framework를 설치하여야 한다. PDA에서 사용되는 .net framework는 .NET Compact Framework 2.0 이다. 이를 사용하여 개발하기 위해서는 compact framework가 아닌 그냥 framework SDK를 설치해 주고, visual studio 2005도 설치해 주어야 한다.


현재 시점에서 나온 .Net Compact Framework는 사실 3.5까지 나와 있다. 하지만 3.5버젼은 기본적으로 설치되어 나오고 있는 PDA가 최근의 것 이외에는 없다고 알고 있기 때문에, 프로그래밍 배포시 불편함을 감수해야 한다. 물론 지금 글쓴이의 개발환경에 visual studio 2008을 설치하지 않은 이유도 매우 크다.

그러므로 Microsoft .NET Framework 2.0 SDK를 설치하도록 하자.
다운로드 위치 : http://www.microsoft.com/downloads/details.aspx?FamilyId=FE6F2099-B7B4-4F47-A244-C96D69C35DEC&displaylang=ko

그리고 Microsoft .NET Framework 버전 2.0 재배포 가능 패키지(x86)도 설치해 주고
다운로드 위치 : http://www.microsoft.com/downloads/details.aspx?familyid=0856EACB-4362-4B0D-8EDD-AAB15C5E04F5&displaylang=ko
( 아직 나도 잘 모르는 상태라. ㅎㅎ. 굳이 설치하지 않아도 되겠지만, 시간남고 기분도 좋다면 그냥 함 깔아봐 보도록 하자. )

또, Microsoft .NET Framework 버전 2.0 한국어 언어 팩(x86)도 설치해 주도록 하자.
다운로드 위치 : http://www.microsoft.com/downloads/details.aspx?familyid=39C8B63B-F64B-4B68-A774-B64ED0C32AE7&displaylang=ko

아래 나오는 몇개의 재배포 패키지는 설치하지 않아도 될것으로 보인다.
M4655에서는 기본적으로 2.0sp2가 설치 되어 있는것으로 예상된다.

받아야 할 것 많다. .NET Compact Framework 2.0 재배포 가능 패키지도 설치하고
다운로드 위치 : http://www.microsoft.com/downloads/details.aspx?displaylang=ko&FamilyID=9655156b-356b-4a2c-857c-e62f50ae9a55
( compact framework 2.0이 설치 되어 있지 않은, PDA에다가 설치가 되는것이다. M4655에서는 이미 2.0이 깔려 있기 때문에 설치하지 않아도 된다고 알고 있다. )

패치도 받아야 한다. .NET Compact Framework 2.0 서비스 팩 1 재배포 가능 패키지
다운로드 위치 : http://www.microsoft.com/downloads/details.aspx?FamilyID=0c1b0a88-59e2-4eba-a70e-4cd851c5fcc4&DisplayLang=ko

서비스팩 2도 있다. .NET Compact Framework 2.0 서비스 팩 2 재배포 가능 패키지
다운로드 위치 : http://www.microsoft.com/downloads/details.aspx?FamilyID=aea55f2f-07b5-4a8c-8a44-b4e1b196d5c0&DisplayLang=ko

또 있다. .NET Compact Framework 2.0 서비스 팩 1 패치도 받아서 설치한다.
다운로드 위치 : http://www.microsoft.com/downloads/details.aspx?familyid=7BEFD787-9B5E-40C6-8D10-D3A43E5856B2&displaylang=ko

헥헥.. 이제 모두 받았다. 위에서 받은것을 순차적으로 설치해 주면 된다. 글쓰는 이는 이미 다운받아져 있는 상태에서 위의 링크를 찾아서 알려 준것이기 때문에 중복 설치 되거나, 혹은 필요 없거나, 혹은 설치 되지 않는 놈들도 있을 수 있다.


3. 또 SDK, 에뮬레이터를 다운로드 받자
위의 과정은 프로그래밍을 위한 SDK나 배포를 위한 환경을 만들어 두는것이다. 이제는 프로그램을 실행시켜서 잘 동작하는지 테스트 하기 위한 실행환경이 필요하다. 프로그램을 만들어서 직접 PDA에 올려서 본다면, 얼마나 귀찮겠는가? 코드하나 짜고 올려서 보고, 또 한줄 짜서 올려서보고.. 그건 사람이 할 짓이 아니다.

그래서 PDA프로그램을 컴퓨터에서 돌릴 수 있도록 하는 에뮬레이터를 제공해 주고 있다. 프로그래밍을 짜고 실행은 실제 PDA가 아니라, 컴퓨터위에서 동작하는 에뮬레이터에서 동작을 확인할 수 있다.

자. PDA에 관련된 다운로드와 설치를 다시 하도록 하자.

여기서 다운로드 받을때 주의해야 할 점이 있다. 제일위에 설명했듯이 4655는 Winodws Mobile 6 Professional을 사용하므로 거기에 맞도록 Professional을 설치해 주도록 한다. 내용을 대략 읽어 보면 알겠지만 프로페셔널에서는 240*320 pixel을 지원하고, 이는 M4655의 환경과 일치한다.

그리고 System Requirements라고 적혀 있는 부분을 잘 확인해야 한다. 글쓴이의 환경은 Windows XP이고 이를 위해서는 아래의 조건을 만족해야 한다.

Windows XP

혹시 Visual Studio 2005를 설치하신분이라면 SP1도 꼭 설치해 주시기 바란다.

다운받을 수 있는 페이지는 아래와 같다.
Windows Mobile 6 Professional and Standard Software Development Kits Refresh
다운로드 위치 : http://www.microsoft.com/downloads/details.aspx?familyid=06111A3A-A651-4745-88EF-3D48091A390B&displaylang=en


위의 링크에 있는 프로페셔널을 다운로드 받으면 에뮬레이터가 포함되어 있으니 더 이상 에뮬레이터를 설치하지 않아도 되리라 본다. 하지만 나는 이것저것 다 설치해 보았다. 한글 Windows Mobile을 보고 싶다면 로컬라이즈 된 에뮬레이터를 다운로드 받아서 해 볼 수도 있다.

Windows Mobile 6 Localized Emulator Images
다운로드 위치 : http://www.microsoft.com/downloads/details.aspx?familyid=38C46AA8-1DD7-426F-A913-4F370A65A582&displaylang=en

에뮬레이터도 6.1과 6.1.4 가 있지만, 이는 스스로 잘 읽어 보고 설치하도록 하자. 자신의 환경에 맞는것을 알아서 설치하면 된다. 왠만하면 설치하지 않아도 별 문제는 되지 않을것이다.



4. 이제 드디어 테스트 프로그램을 짜 보도록 하자.
Visual Studio 2005를 설치하고,
파일 -> 새로 만들기 -> 프로젝트 -> Vlsual C# -> 스마트장치 -> Windows Mobile 6 Professional을 선택하면 아래와 같은 화면을 볼 수 있다.


Device Applicaion을 선택하고 "확인"버튼을 눌러서 새로운 프로젝트를 만들고, 버튼이 눌려지면 프로그램을 종료하는 간단한 어플리케이션을 만들어 보도록 하자. 메뉴부분을 더블클릭해서 Exit라는 메뉴를 입력하고, 만들어진 메뉴를 더블클릭하여 소스로 이동할 수 있다. 아래의 스크린캐스를 보면 뭔 말인지 알아 먹을꺼다. 

참고로 아래의 스크린캐스트처럼 에뮬레이터를 최초로 띄울때에는 뜨는 시간이 꽤나 걸린다. ( 30-40초 정도? ) 그 이후에는 에뮬레이터를 계속 띄우둔 상태로 할 수 있으므로, 시간이 걸려도 좀 기다려서 테스트 해 보도록 하자.


이로써 프로그래밍 환경 만들기와 간단한 테스트용 프로그램을 짜는것을 해 보았다.
: