COM DLL만으로 tlb파일 생성및 COM사용하기 DarkKaiser, 2008년 11월 17일2023년 9월 6일 출처 : http://thepassion.tistory.com/22 visual studio도구의 OLE View나 실행oleview를 실행해서 oleviewer를 실행시킨다. FileView TypeLib메뉴를 선택해 해당 COM dll혹은 COM exe를 Open한다. 디스플레이되는 정보에서 Root로 표시되는 XXX(xxx x.x Type Library)를 클릭하면 오른쪽 윈도우에 idl파일을 생성해서 보여준다. 해당 내용을 xxx.idl로 저장한다. *.tlb 파일 생성하기방법1) – Win32 Dynamic Linked Library프로젝트 생성해 Continue Reading
VC에서 원격 데이터 객체 호출하는 방법 DarkKaiser, 2008년 4월 11일2023년 9월 5일 IDispatch* CreateConnection(LPCTSTR strAddr) { #ifdef UNICODE LPTSTR strAddress = strAddr; #else size_t sl = strlen(strAddr); LPWSTR strAddress = new WCHAR[sl+1]; strAddress[sl] = 0; mbstowcs(strAddress, strAddr, sl); #endif IDispatch* pDispatch = NULL; bool ok = false; RDS::IDataspacePtr pDS; if (SUCCEEDED(pDS.CreateInstance(OLESTR("RDS.DataSpace")))) { _variant_t Result; try { Result = pDS-CreateObject(_bstr_t("Component.bizCOM"), _bstr_t(strAddress)); HRESULT Continue Reading
VB의 자동화 사용 DarkKaiser, 2008년 4월 9일2023년 9월 2일 후기바인딩 사용 Dim obj as Object Set obj = CreateObject("AddBack.AddBack.1") obj.Prop = propVaue obj.Method 초기바인딩 사용 Dim obj As AddBack Set obj = New AddBack obj.someMethod 첫번째 문장이 실행되어 Visual Basic 함수인 CreateObject가 호출될 때 Visual Basic은 COM 라이브러리의 CLSIDFromProgID 함수를 호출하여 CreateObject 함수의 매개변수에 지정된 ProgID를 대응되는 CLSID로 변환한 Continue Reading
구성요소 서비스의 내 컴퓨터 기본 DCOM 통신 속성 변경하기 DarkKaiser, 2008년 3월 27일2023년 9월 6일 참고 :http://msdn2.microsoft.com/en-us/library/ms687763(VS.85).aspxhttp://msdn2.microsoft.com/en-us/library/ms682790(VS.85).aspx 기본 속성 읽어오기 try { ICOMAdminCatalogPtr spCatalog(_T("COMAdmin.COMAdminCatalog")); spCatalog-Connect(_T("localhost")); ICatalogCollectionPtr spCatalogCollection = (ICatalogCollectionPtr)spCatalog-GetCollection(_T("LocalComputer")); spCatalogCollection-Populate(); long nCount = 0; nCount = spCatalogCollection-Count; if (nCount == 0) { AfxMessageBox(_T("내 컴퓨터의 DCOM 통신 속성을 읽어오지 못하였습니다.")); return; } ASSERT(nCount == 1); ICatalogObjectPtr spCatalogObject; spCatalogCollection-get_Item(0, (IDispatch**)&spCatalogObject); Continue Reading
ATL ActiveX 에서 실행시 보안 팝업창 없애는 법 DarkKaiser, 2008년 3월 23일2023년 9월 6일 이 글은 브라우저 상단에 뜨는 ActiveX 경고창이 아닌 ActiveX 스크립트 실행중에 별도로 뜨는 ActiveX 스크립트 경고 팝업창을 없애는 방법을 말한다.(아래그림) 컨트롤이 스크립팅에 대해 안전함을 표시 Internet Explorer에서 컨트롤이 있는 웹 페이지를 볼 수 있으며 보다 편리하게 Visual C++ .NET에 빌드된 웹 브라우저 뷰를 사용할 수 있습니다. 웹 브라우저 뷰에서 컨트롤을 Continue Reading
IWebBrowser2와 IHTMLDocument2의 상호변환 DarkKaiser, 2007년 6월 30일2023년 9월 5일 1. IWebBrowser2 에서 IHTMLDocument2 인터페이스 구하기 IWebBrowser2 *m_pWebFromUnknown; IWebBrowser2 *m_pWebFromDoc; STDMETHODIMP CTestObj::SetSite( IUnknown *pUnkSite ) { IOleClientSite *pClientSite; HRESULT hr; hr = pUnkSite-QueryInterface( IID_IOleClientSite, (LPVOID *)&pClientSite ); if ( FAILED( hr ) ) return S_OK; IOleContainer *pContainer; hr = pClientSite-GetContainer( &pContainer ); pClientSite-Release(); if ( FAILED( hr Continue Reading