분류 전체보기 123

[MSSQL] Named-Pipe 로 접속하기

const strConnection = "provider=sqloledb;network address=\.pipesqlquery;network library=dbnmpntw;uid=xxxx;pwd=xxxx;" Network Address, Network Library 를 지정함으로서 사용가능하다 TCP/IP 를 꺼버림으로서 불필요한/유해한 접속을 차단한 수 있다. 하지만 Named-Pipe 를 쓰더라도 가급적 방화벽으로 한번 더 가려주는게 안전하다 ----------- 네트웍 라이브러리 종류 dbnmpntw(명명된 파이프), dbmsrpcn(멀티프로토콜), dbmsadsn(AppleTalk), dbmsgnet(VIA), dbmslpcn(공유 메모리), dbmsspxn(IPX/SPX), dbmssocn(T..

기타 2007.06.20

윈도 표준 로그인 다이얼로그 표시

CredUIPromptForCredentials - creates and displays a configurable dialog box that accepts credentials information from a user. 예) #include #pragma comment(lib, "Credui.lib") ... TCHAR name[100] = _T("화면에 미리 표시될 이름"); TCHAR passwd[100] = _T("화면에 미리 표시될 비밀번호"); BOOL save = FALSE; CREDUI_INFO info; info.cbSize = sizeof(CREDUI_INFO); info.hwndParent = NULL; info.pszCaptionText = _T("제목!"); info.pszMe..

Win32 , C++ 2007.05.16

Delphi 어플리케이션에 사용할 VC 만들기/사용하기

DLL 만드는 기초 우선 아래에 대해 이해를 해야한다 1) C++컴파일러의 특성 2) 인터페이스 규칙 3) 헤더 만들기 1. 다른 제품간의 C++ 호환성 컴파일러에 의해 생성되는 .obj/.lib 파일 출력에서 OMF, COFF 형식의 차이가 발생한다 이는 C++ 컴파일러에 의해 함수명 앞뒤로 전달 인자에 대한 정보가 붙기 때문이다. 예를 들어 Microsoft C++ 컴파일러는 int CPUReset(void *) 를 별도의 설정이나 명시된게 없을 경우 ?CPUReset@@YAHPAX@Z 이런 이름으로 내보내게 된다. 문제는 앞뒤에 달라 붙는 정보가 컴파일러 제조사/규격 마다 다르기 때문에 호환이 되지 않게 된다. 따라서 이기종 컴파일러와 인터페이스를 하기 위해선 앞뒤에 정보가 빠진 함수 본래 이름만 ..

Win32 , C++ 2007.01.13

MFC DHTML 기반 다이얼로그에 리소스에 있는 이미지 사용하는 방법

예전에 Pubby 만들때 몰라서 애먹었다 -_- 기본 과정 : 1. RESOURCE 파일에 HTML (VS2002 이상에서는 HTML 문서로 인식해 편집에 편리) 등의 항목을 추가후에.. HTML 파일을 추가해준다 2. HTML 파일 내에 이용하는 이미지 파일을 포함시키기 위해 별도의 리소스 섹션을 만들어 추가 이 때 가급적 숫자로 해당 이미지를 추가하면 작업하기 편하다 3. HTML 파일의 이미지 경로를 수정해준다. 4. HTML 파일의 이미지 또는 href 경로에 "리소스섹션명/ID" 형식으로 기록한다. ---- RC 파일에서 발췌 --------------- IDR_HTML_PAGE HTML "my_html.htm" 100 MY_IMG "intro_images/01.gif" 101 MY_IMG "i..

Win32 , C++ 2007.01.03

ATL Object 에 이벤트 발생 기능 추가하기 (ConnectionPoint)

IDispatch 인터페이스를 통해 이벤트를 전달하는 역할을 한다 구현 방법: Wizard 사용! -__- 1. IDL 파일에 dispinterface xxxx 형태로 정의하고 필요한 원형은 id(x) 함수원형 2. 구현클래스에 ConnectionPoint 지정 하면 CProxy_xxx 에 Fire_xxx 함수 구현 된다 3. 해당 구현 클래스에서 Fire_xxx 함수 사용하면 OK 참고 사항: Internet Explorer 에서 사용하기 위해서는 IProvideClassInfo2Impl 를 구현해 줘야 하고 InterfaceMap 에는 IProvideClassInfo, IProvideClassInfo2 를 추가해줘야 한다 덤으로 IObjectSafety 필요

Win32 , C++ 2006.11.14

MFC SDI/MDI 에서 View 전환하기

허구언날 돌아댕기는 소스.. 간혹 유용하더라.. 하지만 2008년 이 글을 옮기는 시점까지 이 소스 한번 써봤다는거... void CMainFrame::ChangeView(CMainFrame::MakerViewMode viewmode) { CString szFrameTitle = _T(""); CRuntimeClass* pNewViewClass; CView* pActiveView = GetActiveView(); INT nViewIndex; switch(viewmode) { case 1: nViewIndex = 2; pNewViewClass = RUNTIME_CLASS(CViewSwitchingView); break; case 2: nViewIndex = 2; pNewViewClass = RUNTIME_..

Win32 , C++ 2006.10.03

특정 EXE/DLL 파일의 버전 읽기

파일 버전 읽기 // 버전 체크 // 함수1 : 자기 자신의 버전을 읽어서 ptr 에 복사한다. ptr ~ ptr+7 사용 BOOL GetMyVersion(LPBYTE ptr) { CString filename; filename = __argv[0]; // 자기 자신의 파일 이름 읽기 VS_FIXEDFILEINFO *fileinfo=NULL, easy; // 쿼리 함수에서 할당해 준다.. 포인터의 포인터를 넘긴다!! DWORD dwHandle, dwVersionInfoSize = GetFileVersionInfoSize(filename, &dwHandle); // 전체 버전 정보 받을라꼬! _ASSERTE(dwVersionInfoSize != 0); if(dwVersionInfoSize == 0) ret..

Win32 , C++ 2006.08.04

프로그램 실행 중 ActiveX 로드하기

Classwizard 도움없이 CAxWindow.Create 로 실제 보여줄 윈도우를 만들고 CAxWindow 의 IAxWinHostWindow 를 쿼리해서 얻고 IAxWinHostWindow 에서 CreateControl 로 필요한 컨트롤을 생성한다 CAxWindow axObject; CComPtr spHost; axObject.Create(m_hWnd, rect, NULL, WS_CHILD | WS_CLIPCHILDREN, WS_EX_CLIENTEDGE); axObject.QueryHost(&spHost); spHost->CreateControl( [CLSID], axObject, NULL ); axObject.QueryControl( [interface implemented object] ); --..

Win32 , C++ 2006.08.04
반응형