반응형 MFC90 [개발/MFC] 프로세스가 살아있는지 검사, 프로세스 죽이기 프로세스가 살아있는지 검사, 프로세스 죽이기 프로세스가 살아있는지 검사 // uses 에 TlHelp32 추가 functionIsRunningProcess(constProcName: String) : Boolean; var Process32: TProcessEntry32; SHandle: THandle; Next: Boolean; begin Result:=False; Process32.dwSize:=SizeOf(TProcessEntry32); SHandle :=CreateToolHelp32Snapshot(TH32CS_SNAPPROCESS,0); // 프로세스 리스트를 돌면서 매개변수로 받은 이름과 같은 프로세스가 있을 경우 True를 반환하고 루프종료 ifProcess32First(SHandle, Pro.. 2011. 8. 1. [개발/MFC] 동적으로 COM Server 등록하기 (DLL, OCX) [개발/MFC] 동적으로 COM Server 등록하기 (DLL, OCX) DLL 등을 등록하려면 regsvr32 DLL이름 으로 등록한다. (등록해제는 regsvr32 /u DLL이름) 동적으로 등록하는 방법이 있었다. RegisterComServer(DLL이름); ex) 프로젝트 파일(.dpr)에서 한다. programRegistComServer; uses Forms, ComObj, Main in'Main.pas'{Form1} {$R *.res} constDLL_FILE='xx.dll'; begin Application.Initialize; ifFileExists(DLL_FILE) then begin RegisterComServer(DLL_FILE); // DLL 등록 end else begin App.. 2011. 8. 1. [개발/MFC] regsvr32.exe 를 사용하지 않고 ActiveX DLL을 레지스트리에 등록하기 [개발/MFC] regsvr32.exe 를 사용하지 않고 ActiveX DLL을 레지스트리에 등록하기 activeX DLL 을 regsvr32를 사용하지 않고 등록하는 방법이 델파이로 된게 있어서 가져왔다. 직접 만들어서 해볼려고 하니 시간이 부족하다... Unit Unit1; Interface Uses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls; Type TForm1 = Class(TForm) btRegistryDll: TButton; btUnRegistryDll: TButton; Procedure btRegistryDllClick(Sender: TObject); Procedure btUnRegis.. 2011. 8. 1. [개발/MFC] 현재 실행중인 익스플로러 인터페이스 받기 현재 실행중인 익스플로러 인터페이스 받기 참고하세요 HOWTO: Connecting to a Running Instance of Internet Explorer #import // Internet Explorer 4.0x #import // Internet Explorer 5 #import SHDocVw::IShellWindowsPtr m_spSHWinds; if ( S_OK == m_spSHWinds.CreateInstance(__uuidof(SHDocVw::ShellWindows))) { // 현재 실행중인 익스플로러의 숫자 long nCount = m_spSHWinds->GetCount(); IDispatchPtr spDisp; for (long i = 0; i Item(va); SHDocVw::I.. 2011. 8. 1. [개발/MFC] Variant To CString , CString to Variant 소백촌닭 이제 문자열 변환 헤매이지 말고 여기에서 다 찾자. 이 문자열 변수 변환은 아주 유용하게 사용될 것이당. [개발/MFC] BSTR to CString 문자열 변환 http://sbrich.tistory.com/1047 [개발/MFC} CString to char http://sbrich.tistory.com/842 [VC++] 문자열변환 CString LPSTR WCHAR* LPCWSTR http://sbrich.tistory.com/383 Variant To CString , CString to Variant CString str="abc"; COleVariant strVar(str); VARIANT var=strVar.Detach(); CString VariantToString(VARIANT.. 2011. 8. 1. [개발/MFC] BSTR to CString 문자열 변환 [개발/MFC] BSTR to CString 문자열 변환 BSTR bstrName; bstrName = "강남동" CString sName; sName = OLE2A(bstrName); CString To BSTR CString sName = "강남동"; BSTR bstrName; bstrName = sName.AllocSysString(); 시작하기 전에 USES_CONVERSION; 해주는거 잊지 말기 2011. 7. 29. [개발/MFC] 프로그램의 절대경로 찾기 [개발/MFC] 프로그램의 절대경로 찾기 API 중에 절대경로를 찾아 주는게 있다. GetModuleFileName() 함수인데 windows.h 를 include해서 사용하면 된다. DWORD GetModuleFileName(HMODULE hModule, LPTSTR lpFileName, DOWRD nSize); hModule 현재 실행되고 있는 모듈 핸들 또는 NULL값(자신의 실행경로) lpFileName 프로세스 실행 경로 반환 nSize : lpFileName의 버퍼크기 대체로 자기자신의 실행경로를 찾는데 많이 사용하게 되더라. 2011. 7. 29. [개발/MFC] 키보드 후킹 [개발/MFC] 키보드 후킹 Hooking 중에서 키보드 후킹에 대해서 구현 방법을 알아보자. ///////////////////////////////////////////////////////////////// // // Hooking 전역 키보드 후킹 // ///////////////////////////////////////////////////////////////// // MFC 다이얼로그 전역키보드 메세지를 가로챈다. HWND g_hWnd = NULL; HHOOK g_hHook = NULL; LRESULT CALLBACK KeyHookProc(int nCode, WPARAM wParam, LPARAM lParam); BOOL SBLiveDlg::SetHookProc() { if (g_hHook.. 2011. 7. 28. [개발/MFC] 사용자가 다녀간 웹 페이지의 히스토리 얻기 [개발/MFC] 사용자가 다녀간 웹 페이지의 히스토리 얻기 사용자가 다녀간 웹 페이지의 히스토리 얻기 ITravelLogStg 인터페이스를 이용해 해당 웹브라우저 컨트롤의 히스트리를 얻을 수 있습니다. HRESULT hr = S_OK; IServiceProvider* pISP = NULL; ITravelLogStg* pTLStg = NULL; ITravelLogEntry* pTLEntry = NULL; IEnumTravelLogEntry* pTLEnum = NULL; if (FAILED(pWB->QueryInterface(IID_IServiceProvider, (void**) &pISP)) || pISP == NULL) goto Cleanup; if (FAILED(pISP->QueryService(SID.. 2011. 7. 27. 이전 1 ··· 4 5 6 7 8 9 10 다음 반응형