2024/12 124

[Windows]소켓에러 목록

이름값설명WSA_INVALID_HANDLE6지정된 이벤트 객체 핸들이 잘못 되었다.WSA_NOT_ENOUGH_MEMORY8메모리가 충분하지 않다.WSA_INVALID_PARAMETER87하나 이상의 잘못된 인자가 사용됐다.WSA_OPERATION_ABORTED995overlapped 연산이 중단 되었다.WSA_IO_INCOMPLETE996Overlapped 입출력 이벤트가 신호 상태가 아니다.WSA_IO_PENDING997Overlapped 연산은 나중에 완료될 것이다. 중첩 연산을 위한 준비가 되었으나, 즉시 완료되지 않았을 경우발생WSAEINTR10004WSACancelBlockingCall()에 의해 블록화 호출이 취소: Interrupted system callWSAEBADF10009잘못된 파일 ..

유용한 정보 2024.12.26

[C++]CListCtrl 제어

전 과목 스타 선생님+영수 심화+영재교육원까지! 초등 인강 '엘리하이'상담 신청하기»  1. 특정 ROW 포커스 주기2. 특정 ROW로 가기3. 헤더 컬럼수 얻어오기4. 컬럼의 너비를 이쁘게 주기5. 한줄 쭉 선택되게 하기, 그리드 라인 주기6. 선택한 아이템(ROW)를 지우기7. 두 아이템을 스왑 하기8. 기존에 선택되어있는 것을 해체하기9. List Control의 0번째 컬럼 사이즈 변경하지 못 하도록 프로그래밍10. List Control 에 다른 Control 넣기11. List Control 행크기 늘리기12. List Control 에서 시스템 아이콘 사용하기 1. 특정 ROW 포커스 주기---------------------------------------------------리스트 컨트롤..

유용한 정보 2024.12.26

[C++]파일 및 디렉토리 존재 여부 체크

// 파일의 존재여부 확인// 파라미터//nFlag = 1 (=default)이면 파일, 2이면 디렉토리인지, 0이면 파일 및 디렉토리를 검색BOOL isExists(const char* fname, int nFlag){if(fname == NULL)return FALSE;DWORD attr = GetFileAttributes(fname);#ifdef _DEBUG_LOG//CString str;//str.Format("%s = 0x%x (file?%d, dir?%d)", fname, attr,((attr & FILE_ATTRIBUTE_DIRECTORY) == 0), ((attr & FILE_ATTRIBUTE_DIRECTORY) != 0));//MessageBox(NULL, str, "OK", MB_OK)..

유용한 정보 2024.12.25

[C++]pragma pack 에 대해서...

전 과목 스타 선생님+영수 심화+영재교육원까지! 초등 인강 '엘리하이'상담 신청하기»  pack 지시자는 이후부터 선언되는 구조체의 정렬 방식을 지정한다. 프로젝트 설정 대화상자에서 구조체 정렬 방식을 각 모듈별로 조정할 수 있지만 pack 지시자는 소스의 중간에서 원하는 구조체에 대해 정렬 방식을 변경할 수 있도록 한다는 점이 다르다. 이 지시자를 사용하면 같은 소스에 있는 두 구조체를 다른 방식으로 정렬할 수 있다. 다음 선언문을 보자. #pragma pack(2)struct st1 { short s; int i; };#pragma pack(4)struct st2 { short s; int i; }; 이렇게 선언하면 st1 구조체는 2바이트 정렬되므로 6바이트를 차지하며 st2는 4바이트 정렬되므로 ..

유용한 정보 2024.12.25

[MFC] Dialog 기반 ActiveX 만들기

전 과목 스타 선생님+영수 심화+영재교육원까지! 초등 인강 '엘리하이'상담 신청하기» 1. 다이얼로그 추가 2. 속성Style->Style = Child Style->Border = None More Style->Visible = check More Style->Control = check 3. 다이얼로그 클래스 생성 4. Ctl.h 에 선언#include "MainDlg.h"CMainDlg* m_MainDlg; 5. Ctl 클래스WM_CREATE맵핑m_MainDlg= new CMainDlg;m_MainDlg->Create(IDD_MAIN_DLG, this); 6.OnDrawif(m_MainDlg)m_MainDlg.MoveWindow(rcBounds, TRUE); 7. InitInstance() 에Afx..

유용한 정보 2024.12.25

[C++]VC2008에서 프로젝트 속성 매크로 변경/적용하는 방법

1. 프로젝트속성시트 만들기         2. 속성시트 적용1) 프로젝트의 속성을 연다. 2) 속성중에서 다음과 같은 내용을변경하면 된다.$(bin) 또는 $(obj) 등은 사용자가 만든 속성시트에 추가한 매크로 이다.일반/빌드로그파일: $(IntDir)\BuildLog.htm ==> $(obj)\BuildLog.htm일반/상속된 프로젝트 속성 시트: ..\..\..\prj_property_sheet.vspropsC/C++/미리컴파일된 헤더 만들/사용 : $(IntDir)\$(TargetName).pch ==> $(obj)\(TargetName).pchC/C++/출력파일/개체파일이름: $(IntDir)\ => $(obj)\C/C++/출력파일/프로그램 데이타 베이스 파일이름: $(IntDir)\vc90...

유용한 정보 2024.12.25

[DB]오라클 클라이언트 설치 없이 오라클 연결(ODBC)

1) 오라클 ODBC Driver를 다운로드 한다. ( -->다운로드센터 ): 다운로드 후 C:\oracle\instantclient_11_2에 압축을 해제한다. Instant Client Package - Basic: All files required to run OCI, OCCI, and JDBC-OCI applications (필수설치)--> instantclient-basic-windows.x64-11.2.0.2.0.zip (51,458,190 bytes) Instant Client Package - ODBC: Additional libraries for enabling ODBC applications (ODBC프로그램)--> instantclient-odbc-windows.x64-11.2.0.2..

유용한 정보 2024.12.25

[C++]다이얼로그창 투명하게 만들기

typedef BOOL (WINAPI *SetLayer)(HWND hWnd, COLORREF crKey, BYTE bAlpha, DWORD dwFlags);#define LWA_COLORKEY 0x01#define LWA_ALPHA 0x02 우선 위와 같이 새로운 타입과 상수를 정의하고 특정 Function 에 다음과 같이 정의하면 됩니다. HMODULE hUser32 = GetModuleHandle(_T("USER32.DLL")); SetLayer pSetLayer = (SetLayer)GetProcAddress( hUser32, "SetLayeredWindowAttributes" ); if( pSetLayer == NULL )return FALSE; int alphaValue = 100; //투명도 ..

유용한 정보 2024.12.25