일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- dll
- Visual Studio 2005
- 소니
- 문자열
- 인스톨
- 설치
- winsock
- 셋업
- 기초
- PostgreSQL
- 델파이
- WIN32 SDK
- MySQL
- VB.NET
- vb
- 초보
- xml
- SDK
- 파이어버드
- 데이터베이스
- 시리얼 통신
- Delphi
- 입문
- 파라미터
- Firebird
- 예제
- MFC
- c#
- SQL
- Visual Basic
- Today
- Total
목록SDK (11)
프로그래밍 노트
플렛폼 SDK 커뮤티케이션 커뮤니케이션의 함수 일람 함수 설명 BuildCommDCB 지정한 DCB구조체에 디바이스 제어 문자열로 지정한 값을 저장한다. BuildCommDCBAndTimeouts 디바이스 정의 문자열을 다비아스 제어 블럭 코드에 변환한 후, 디바이스 제어 블럭에 저장한다. ClearCommBreak 지정한 통신 디바이스의 회선이 끊긴 상태를 해제하고 문자 송신을 다시 시작한다. ClearCommError 통신 에러의 정보를 얻고 통신 디비이스의 현재 상태를 통지한다. CommConfigDialog 드라이버가 제공하는 설정 다이얼로그 박스를 표시한다. EscapeCommFunction 지정한 통신 디바이스에 확장 기능을 실행하도록 지시한다. GetCommConfig 통신 디바이스의 현재 ..
우선 예제만 간단한 예제 소개부터... 그냥 밑에 소스를 가지고 프로그램을 만들기만 하면 된다. DLL만들때는 VS2005에서 만들때는 빈 프로젝트를 만들어서 소스 파일을 하나 추가해서 아래 소스를 붙여 넣는다. 메뉴의 프로젝트(P) > ??? 속성(P)...을 선택한다. 구성 속성 > 일반을 선택한뒤 프로젝트 기본값의 구성형식을 동적 라이브러리(.dll)을 선택하면 된다. DLL 불러쓰기의 프로젝트는 그냥 Win32콘솔 응용 프로그램에서 빈 프로젝트를 만들어서 소스를 추가하면 된다. 문자 집합은 멀티바이트 문자 집합 사용을 선택하면 밑에 소스를 그대로 쓸수있다. ◆ 초간단 DLL만들기 #include #include #define EXPORT extern "C" __declspec(dllexport) ..
정말 간단한 http 서버이다. 이런 것을 http 서버라 할 수 있을까정도로... 그래도 웹브라우저로 접속할 수 있으니까... #include #include int main() { WSADATA wsaData; SOCKET sockSvr; SOCKET sockSS; int nlen; struct sockaddr_in addrSockSvr; struct sockaddr_in addrSockclt; long nRet; BOOL bValid = 1; char szBuf[2048]; char szInBuf[2048]; // 윈속 초기화 if(WSAStartup(MAKEWORD(2, 0), &wsaData) != 0) { return 1; } // 소켓 만들기 sockSvr = socket(AF_INET, S..
TCP의 서버 프로그램을 종료한 바로뒤 다시 서버를 기동하면 bind에서 에러(Address aleady in use)로 끝날 때가 있다. TCP의 서버 프로그램을 종료하고 다시 기동시켰는데 왜 bind가 되지 않을까? 라고 생각하며 시간이 지난후 다시 기동시키면 문제업이 bind가 된다. 이 문제는 TCP 자체 사양에 의하여 일어나는 문제이다. 구체적으로는 TCP의 TIME_WAIT상태가 bind를 fail시킨다. 서버는 TCP 세션을 받은 상태에서 close하면 TIME_WAIT상태가 된다. 이때 주의해야되는 것은 TCP 서버의 TIME_WAIT가 발생하는 경우와 발생하지 않는 경우가 있다는 것이다. TCP서버 쪽에서 close를 먼저 실행하면 TIME_WAIT상태가 발생하지만 TCP클리아언트 쪽에서..
서버가 클라이언트의 접속을 기다리다가 클라이언트가 접속 되었을때 어느 클라이언트가 접속 했는지 알아야 할때가 있다. accept가 되어지면 accept함수의 두번째 파라미터에 상대방에 대한 정보가 저장되어진다. 예제는 accept한 상대방의 IP어드레스와 포트를 표시한다. (IP어드레스는 문제없이 가져오는데 포트를 제대로 못가져온다. -.-;;; ) (왜 이상한 포트 번호가 넘어오는지 모르겠다. -.-????? ) #include #include int main() { WSADATA wsaData; SOCKET sockSvr; SOCKET sockSS; int nlen; struct sockaddr_in addrSockSvr; struct sockaddr_in addrSockclt; // 윈속 초기화 W..
실제로 프로그램을 짤때에는 에러처리를 잘해야되는 것은 두말할 것도 없을 것같다. #include #include int main() { WSADATA wsaData; SOCKET sockSvr; SOCKET sockSS; int nlen; struct sockaddr_in addrSockSvr; struct sockaddr_in addrSockclt; long nRet; // 윈속 초기화 if(WSAStartup(MAKEWORD(2, 0), &wsaData) != 0) { return 1; } // 소켓 만들기 sockSvr = socket(AF_INET, SOCK_STREAM, 0); if(sockSvr == INVALID_SOCKET) { printf("Socket Error No : %d", WSA..
알고보니까 정말 간단한데 어떻게 하는건가 무지 해맸었다. -.-;; #include int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPreInst, LPSTR lpszCmdLine, int nCmdShow) { // 처리할 내용 return TRUE; }
태스크 바의 크기를 제외한 바탕 화면의 크기를 알고 싶을 때가 있다. 그럴 때는 SystemParametersInfo 를 쓰면 된다. #include "stdio.h" #include "Windows.h" void main() { RECT rcData; SystemParametersInfo(SPI_GETWORKAREA, 0, &rcData, 0); } RECT구조체의 rcData에 태스크 바의 크기를 제외한 바탕 화면의 크기의 좌표를 구한다.
====================================================================== #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..
윈도우가 없는 실행 파일을 만들려면 어떻게 하면 될까? 어제 좀 고민했었다. 인터넷에서 찾아봤는데 잘 안찾아졌었다. 너무 쉽고 너무 당연한거여서 인터넷에 올린 사람들이 없는가보다. 그래도 나같이 혹시 찾는 사람들이 있을까 해서 만들어본다. 윈도우가 없는 실행 파일을 만드는 법은 생각보다 쉬웠다. 새 프로젝트를 만들때 프로젝트 형식에서 다른 언어의 Visual C++를 선택해서 Win32를 선택한다. 템플릿의 Win32프로젝트를 선택해서 이름에 프로젝트 명을 쓰고 「확인」버튼을 누른다. 다시 「다음>」버튼을 누른다. 응용 프로그램 종류에서 Windows 응용 프로그램을 선택하고 □빈 프로젝트를 선택하고 「마침」버튼을 누른다. Ctrl+Shift+A를 눌르면 새항목추가에서 C++파일을 적당한 이름을 주어 추..