본문 바로가기
반응형

개발469

[개발/VC++] 익스플로러에서 새창이 생성될때 그 창의 포인터를 얻는 방법 익스플로러에서 새창이 생성될때 그 창의 포인터를 얻는 방법 익스플로러에서 새창이 생성되면 Newwindow2이벤트가 일어납니다. 새로 생성된 익스플로러창의 포인터를 얻는 방법이 있나요? 제가 만든 브라우저가 포함된 다이얼로그 폼으로 Set하면 됩니다. 그러나 일반적으로 생성되는 새창의 포인터를 얻고 싶습니다. 즉, IWebBrowser2의 포인터를 얻고 싶습니다. 그 이유는 현재창에 이벤트를 sink시키고 새로운 창이 생기면 그 창도 이벤트를 sink시키려고 하는데 새로운 창의 IWebBrowser2포인터를 얻어 올 수가 없어요.. 그래서, 브라우저 인스턴스를 만들고 그 브라우저의 IWebBrowser2포인터의 Get_Application()함수를 이용하여 ppDisp에 넘겼는데 새로운창도 뜨고, 인스턴.. 2011. 3. 11.
[개발/VC++] IE 보호 모드에서 비보호 모드 프로세스 실행 IE 보호 모드에서 비보호 모드 프로세스 실행 UAC 환경(Windows Vista, Windows 7)의 IE7, IE8 보호모드에서 동작하는 ActiveX에서 실행 파일을 실행할 경우(브로커 프로세스) 비보호 모드로 열린다는 보안 경고창이 나온다. 이 문제를 해결하려면 아래와 같이 자동 권한 상승 정책을 레지스트리에 등록해주어야 한다. {347DAD60-9849-4921-89B6-16FA1B7936CC}는 임의의 GUID값이다. [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Internet Explorer\Low Rights\ElevationPolicy\{347DAD60-9849-4921-89B6-16FA1B7936CC}] "AppName"="실행 파일명" "AppPath"=".. 2011. 3. 11.
[개발/VC++] HINSTANCE & HWND의 차이 HINSTANCE & HWND의 차이 HINSTANCE 핸들은 보통 실행되고 있는 Win32 프로그램이 메모리 상에 올라가 있는 시작 주소 값을 갖고 잇습니다. 보통은 0x00400000 이런식의 값을 가지고 있는데 저 값의 메모리 주소에 실행 모듈이 올라가 잇다는 것을 의미 하겠죠. 보통 리소스들을 로드 하는 함수들에서 이 핸들 값을 많이 참조하게 되는데 이 이유는 메모리 상에 올라가 있는 실행 모듈 들중 (exe, dll 등등.. ) hInstance 가 가르키는 주소에 올라가 있는 실행 모듈에서 그 리소스를 읽어 오라고 지정 해주는 것입니다. 이 외에 GetProcAddress() 같이 다른 DLL 에서 함수 주소를 얻어야 하는 경우에도 HMODULE ( Win32 에선 HINSTANCE 와 동일한.. 2011. 3. 11.
[개발/VC++] 운영제체 XP 이상 확인 운영체제가 XP가 아닌 그 이상인지 확인한다. 비스타, 윈도우즈7, 그 이후 버전 등 // 운영체제가 xp 이상인가. BOOL COSInstallApp::OSVersionXPOver() { DWORD dwVersion, dwMajorVersion, dwMinorVersion, dwBuild; dwVersion = GetVersion(); // Get the Windows version. dwMajorVersion = (DWORD)(LOBYTE(LOWORD(dwVersion))); dwMinorVersion = (DWORD)(HIBYTE(LOWORD(dwVersion))); // Get the build number. if (dwVersion < 0x80000000) dwBuild = (DWORD)(HIW.. 2011. 3. 8.
[개발/VC++] MFC 관리자권한 외부 프로세스 실행을 위한 소스 외부 프로세스 실행을 위한 소스 아래 함수는 Windows 7 에서 관리자 권한으로 실행이 가능하게 하는 코드이다. MFC 개발하시분 분들에게는 많이 유용할 것이다. 쌈꼬쪼려 소백촌닭 ======================================================= 사례1 // 프로세스 실행 BOOL SBRICH::ExecuteProcess(CString FilePath, CString Parameter) { //TCHAR path[1024] = {0,}; //::GetModuleFileName(NULL, path, 1024); BOOL bRes = FALSE; if(OSVersionXPOver()) { // 관리자 모드로 실행 SHELLEXECUTEINFO exeInfo = {0,};.. 2011. 3. 8.
[개발] 인터넷 익스플로러 열어본 페이지 목록 확인할 수 있는 곳 인터넷 익스플로러 열어본 페이지 목록 확인할 수 있는 곳 정확히 말하면 URL 입력해서 접속해 본 사이트 레지스트리 HKEY_CURRENT_USER -> Software -> Microsoft -> Internet Explorer -> TypedURLs -> 2011. 2. 22.
반응형