반응형

win32api 19

[MFC] 시리얼통신 간단프로젝트 (예제코드)

출처 : MSDN 구글링/ 여기저기 + http://snslab.kangwon.ac.kr/home/?doc=bbs/gnuboard.php&bo_table=openclass&page=3&wr_id=80 기타사항 : winCE5 / EVC 테스트완료, 오류사항이나 틀린점은 댓글로 지적해주세여 간단한 winCE + evc 에서 간단한 시리얼 프로그래밍을 하기위한 연습용 간단 프로젝트.. 일반사항 배경지식 헤더 파일 소스파일 소스분석 일반사항 RS - 232 인터페이스 사이의 제어 기능은 하드웨어를 통해 제어된다. 일반적으로 사용되는 비동기 기능은 UARD ( UNIVERSAL ASYNCHROUS RECEIVE/TRANSMITTER : 범용 비동기 송수신 장치)로 알려져 있는 컨트롤러 IC내에 내장되어 있다. ..

SW 개발 2010.08.12

[MFC] EditBox 에디트박스 기초사항

기타사항 : winCE5 / EVC 테스트완료, 필요할때 마다 업데이트예정. 마지막 커서에 계속 업데이트하기.. 커서 끝으로 이동하기 CEdit 전체 내용 삭제 SetSel함수 설명 마지막 커서에 계속 업데이트하기.. CEdit *pEdit=(CEdit *)GetDlgItem(IDC_EDIT1); int len = pEdit->GetWindowTextLength(); pEdit->SetSel(len, len); pEdit->ReplaceSel(m_strEditBox); 커서 끝으로 이동하기 pEdit->SetSel(-1); CEdit 전체 내용 삭제 CEdit 는 CListBox와 달리 전체 내용을 삭제하는 함수가 없다.대신 현재 선택된 값을 삭제하는 Clear()함수가 존재한다. 여기서 생각할 수 있는..

SW 개발 2010.08.12

[win32API] 어플리케이션중복실행방지

출처 : 인터넷어딘가.. 오래전 자료라 출처를 잘모르겠습니다. 기타사항 : winCE / Windows Moblie 공통. 틀린사항은 댓글로 수정바랍니다. 중복실행방지 실제예제 중복실행방지 많은 개발자분들께서 테스트용으로 작성하는 간단한 어플이 MFC기반 Dialog Based Application이죠... (경우에 따라서...) 그 어플이 중복실행되지 않게 하기 위해서 FindWindow()함수를 사용합니다. 카 페내에 이와 관련한 자료가 몇몇 있기는 한데....정리가 안된듯 하여 정리겸 제 경험을 끄적거려봅니다. 우선, Dialog Based Application이 처음 시작되는 부분이... CxxxxApp::InitInstance() 함수입니다. BOOL CxxxxApp::InitInstance()..

SW 개발 2010.03.24

[win32API] 시간의 변환,계산 관련 예제

기타사항 : EVC4.0 / CE5.0 에서 테스트완료 1. 시간의 변환 2. 시간의 계산 1. 시간의 변환 일단, 시간의 표현중에 가장 쉽게 표현되는형태인 SYSTEMTIME 형태로 값을 얻어온 후 다시 Double 형태값으로 변환한것을 빼기해서 다시 SYSTEMTIME 형태로 변환하면 경과시간을 알수있을듯... SYSTEMTIME st; WCHAR szCurTime[128]={0,}; DWORD dwWriten; GetLocalTime(&st); DEBUGMSG(1,(TEXT("orignal!! : st.wMinute[%d] st.wSecond[%d]\r\n"),st.wMinute,st.wSecond)); double dbTime; SystemTimeToVariantTime(&st,&dbTime); ..

SW 개발 2009.08.04

[win32API] CreateProcess() 를 이용하여 프로세스 끝날때까지 기다리기

기타사항 : EVC, winCE5 테스트완료. 예제소스코드는 인터넷에서 구한자료. 예제코드 예제코드 아래의 소스코드로 프로세스가 끝날때까지 기다릴수있다. STARTUPINFO sui; PROCESS_INFORMATION pi; DWORD Ret; memset(&sui, 0x00, sizeof(STARTUPINFO)); sui.cb = sizeof(STARTUPINFO); Ret = CreateProcess(buffer, NULL, NULL, NULL, FALSE, 0, NULL, NULL,&sui, &pi); if (Ret) { hProcess = pi.hProcess; WaitForSingleObject(hProcess, 0xffffffff); CloseHandle(hProcess); } 위의 소스코드..

SW 개발 2009.01.15

[win32API] CreateProcess() 를 이용해 아규먼트 줘서 실행파일실행

기타사항 : EVC, winCE5 테스트완료. 참고 링크 예제소스... CreateProcess를 사용하면서 argument를 주는 방법 예를들어 test.exe를 그냥 실행하는 것이 아니라 command 창에서 test.exe start 처럼 실행 할 때 즉 argument를 줘서 실행하는 방법이다. 첫 변수의 값에 "c:\test.exe", 두 번째 변수는 "c:\test.exe start"라고 주면 된다. 그러면 만들어진 process에서는 api 함수로 만든 녀석은 main의 세 번째 이던가로 들어오고 MFC로 작성된 app는 AfxGetApp()->m_lpCmdLine 이 값을 사용하면 argument로 받은 값을 볼 수 있다. 참고 링크 http://support.microsoft.com/kb..

SW 개발 2009.01.15

[win32API] SetTimer() KillTimer() 사용, 간단예제

타이머세팅 api 타이머킬링 api 기타사항 : 컴파일환경 EVC 4.0 타이머세팅 api SetTimer(100, TIMER_INTERVAL, NULL); 위의 함수로 세팅한후... 해당 메시지핸들러는 OnTimer이다. 후에.. 100 이라는 곳은 각 타이머 이벤트의 id로서 여러가지 타이머 활용가능 타이머킬링 api KillTimer(100); // 타이머 끝 void CLedTestDlg::OnTimer(UINT nIDEvent) { // TODO: Add your message handler code here and/or call default static BOOL bTimerFlag = TRUE; if (nIDEvent==100) { SetTimer(100, TIMER_INTERVAL, NUL..

SW 개발 2009.01.07
반응형