일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- Delphi
- MySQL
- 파라미터
- 인스톨
- winsock
- Firebird
- dll
- MFC
- 설치
- Visual Studio 2005
- Visual Basic
- PostgreSQL
- c#
- WIN32 SDK
- 입문
- 예제
- 시리얼 통신
- 셋업
- xml
- 기초
- 데이터베이스
- 파이어버드
- 소니
- SDK
- vb
- SQL
- 델파이
- VB.NET
- 초보
- 문자열
- Today
- Total
목록Win32 SDK 초보 (27)
프로그래밍 노트
====================================================================== #include #include #include #define EvtName "PipeEvent" #define PipeName "\\\\.\\pipe\\TestPipe" HANDLE hEvent, hFile; int main() { char szBuf[1024]; DWORD dwWritten; hEvent = OpenEvent(EVENT_ALL_ACCESS, FALSE, EvtName); if (hEvent == NULL) { printf("이벤트 열기 실패\"); _getch(); return -1; } hFile = CreateFile(PipeName, GENERIC_WRI..
파이프를 만들면 클라이언트가 접속하는 것을 기다려야된다. 일반적으로 스래드를 만들어 기다리게 한다. 이 예제는 클라이언트에서 보낸 자료를 표시하게만 한다. 스레드는 영구 루프로 만들고 그 안에서 ReadFile함수를 호출한다. 클라이언트가 아무것도 쓰지 않았을때에 ReadFile을 하면 에러가 됨으로 대기 함수를 사용하여 이벤트를 기다리는 것으로 한다. 클라이언트 쪽에서 쓰기 직전에 이벤트를 시그널 상태로 한다. 루프 안에서 읽기가 끝나면 바로 이벤트를 비시그널 상태로 하고 다음의 쓰기를 기다리는 상태로 한다. 프로그램을 종료 할때는 클라이언트 쪽에서 quit라 써서 보낸다. 서버쪽에서는 읽어들인 문자열이 quit이면 루프에서 빠져나와 처리를 종료한다. main 함수 이름있는 파이프를 만들고 이벤트를 만..
CreateNamedPipe으로 파이프를 만들려고 하는데 핸들을 작성하는데 에러가 났다. GetLastError()로 에러코드를 찾아보면 밑의 에러 코드가 돌아왔다. 123 : ERROR_INVALID_NAME The filename, directory name, or volume label syntax is incorrect. 인터넷에서 열심히 문제점을 무엇인가 찾아봐도 특별한 정보가 없었다. 문제의 코드 ====================================================================== hPipe = CreateNamedPipe("\\\\.\\pipe\\pipetest", PIPE_ACCESS_INBOUND, // 오픈 모드 PIPE_TYPE_BYTE | P..
윈도우가 없는 실행 파일을 만들려면 어떻게 하면 될까? 어제 좀 고민했었다. 인터넷에서 찾아봤는데 잘 안찾아졌었다. 너무 쉽고 너무 당연한거여서 인터넷에 올린 사람들이 없는가보다. 그래도 나같이 혹시 찾는 사람들이 있을까 해서 만들어본다. 윈도우가 없는 실행 파일을 만드는 법은 생각보다 쉬웠다. 새 프로젝트를 만들때 프로젝트 형식에서 다른 언어의 Visual C++를 선택해서 Win32를 선택한다. 템플릿의 Win32프로젝트를 선택해서 이름에 프로젝트 명을 쓰고 「확인」버튼을 누른다. 다시 「다음>」버튼을 누른다. 응용 프로그램 종류에서 Windows 응용 프로그램을 선택하고 □빈 프로젝트를 선택하고 「마침」버튼을 누른다. Ctrl+Shift+A를 눌르면 새항목추가에서 C++파일을 적당한 이름을 주어 추..
The Stupidity of NewlinesIn the ASCII table above, there are two bytes that could legitimately be treated as indicating "this line of text is over. start a new one.": 0x0A, '\n', Line Feed. This is the standard C way to indicate a new line is starting. 0x0D, '\r', Carriage Return. This actually moves the cursor back to the start of the line. Sadly, every major computer system nowdays treats newl..
가장 먼저 기본은 윈도우를 만드는 것을 해보는 것이 좋을 것같다. 지금 내가 갖고 있는 개발 툴이 Microsoft Visual Studio 2005이기 때문에 Microsoft Visual Studio 2005로 짜는 방법을 소개하고자 한다. (Microsoft Visual Studio 2005를 설치하는 방법은 생략) VB에서 폼을 만들어 본사람이면 VB에서는 정말 간단하게 10분도 안되어도 폼을 만들어 띄울수있다. 하기야 SDK창 또한 아는 사람이라면 1분안에도 만들수 있겠지만 아무것도 모른다는 것을 전제하에 SDK폼을 만드는 것으로 설명한다. Microsoft Visual Studio 2005을 실행해, 메뉴에서 파일을 선택하여 새프로젝트를 선택한다. 프로젝트 형식에서 다른 언어를 선택하고 Vis..
프로그램을 짜고 싶어도 어디서부터 시작해야되는지 잘 모르는 경우가 있다. 그래도 막연히 프로그램은 짜보고 싶은 사람이 있을 것같다. 하기야 자신에게 맞는 책을 찾아서 그 책대로 따라 해보는 것이 가장 일반적인 방법일 것같다. 책을 보면서 하다가 어느 정도 하다가 잘 이해가 안가면 막혀서 그만두는 경우가 종종 있는 것같다. 나도 대학교때 프로그래밍 공부한다고 몇번 책을 잡았지만 결국 오래가지 못해서 포기했다. 프로그래밍을 공부하다가 포기하는 이유 중에 하나는 설명이 한글인데도 잘 이해가 안가는 경우가 있다. 공부라는 것이 그런 것같다. 첨에는 이해가 안가다가 언젠가 이해가 오는때가 있다. 그것을 기다릴쭐 모르면 절대로 이해가 찾아가지 않는것 같다. 이해가 안가서 프로그래밍 공부를 포기하는 경우도 있겠지만 ..