자주 쓰던 건데, 고맙게도 정리해서 올려놓았네요. ^^ 출처: http://microdev.pe.kr/14 작업표시줄에 현재 윈도우의 캡션(?)을 안나오게 하는 방법.... 윈도우가 초기화 될때 아래의 코드를 쓰면 장땡!! ex) CDialog::OnInitDialog() DWORD dwStyle = GetWindowLong( HWND, GWL_EXSTYLE ); dwStyle &= ~WS_EX_APPWINDOW; dwStyle |= WS_EX_TOOLWINDOW; SetWindowLong( HWND, GWL_EXSTYLE, dwStyle );
스크롤 위치 알아내기 (출처: http://microdev.pe.kr/86 ) 일반적으로 웹페이지의 스크롤 위치를 알아내려면 아래와 같이 IHTMLElement인터페이스를 사용하면 된다. [-] Collapse IHTMLElement2::get_scrollLeft() IHTMLElement2::get_scrollTop() 만약, get_scrollLeft() 또는 get_scrollTop() 으로 얻은 값이 0 이면 루트의 IHTMLElement 인터페이스를 사용하면 정확한 스크롤 위치를 얻을 수 있다. [-] Collapse long x = 0, y = 0; IHTMLElement2->get_scrollLeft( &x ); IHTMLElement2->get_scrollTop( &y ); // 0 이면,..
비스타 이전에는 굳이 설정안해도 verbose 모드이면 디버그 메시지가 잘 나왔었던 것 같다. 그런데, 비스타부터는 디버그 메시지 필터링 레지스트리를 설정해야 한다. 이유인즉 비스타부터서는 DbgPrint 를 DbgPrintEx 로 매핑시켰기 때문이란다(http://www.osronline.com/article.cfm?article=295). DbgPrintEx는 레지스트리 설정값에 따라 출력할 수도 안할 수도 있다. 간단하게 모든 디버그 메시지를 보고 싶다면, WinDbg 프롬프트에서 ed Kd_DEFAULT_MASK 0xf 이제부터 잘 보인다. 물론 재부팅 후에는 다시 설정해 줘야 한다. 귀찮으니까, 디버깅을 할 PC에서 레지스트리를 설정해 버리자. 레지스트리 HKLM\SYSTEM\Current Co..
유닛 테스트 - 드라이버 DriverEntry 에서 바로 테스트하자. 로드 실패하면 되니까. BOOLEAN testUnitTest() { #if defined(DBG) ... #endif return TRUE; } NTSTATUS DriverEntry( IN PDRIVER_OBJECT DriverObject, IN PUNICODE_STRING RegistryPath ) { ... if ( !testUnitTest() ) { return STATUS_ACCESS_DENIED; } ... }