본문 바로가기

네트워크 트래픽 사용량 측정하기 들어가기 MIB_IFTABLE *pTable=NULL; DWORD dwAdapters=0; DWORD dwTotalIn=0,dwTotalOut=0; DWORD dwOldTotalIn=0,dwOldTotalOut=0; double trafficIn = 0.0, trafficOut = 0.0; bool isTrafficFirst = true; ULONG uRetCode = 0; while(true) { dwAdapters = 0; dwTotalIn=0,dwTotalOut=0; uRetCode=GetIfTable(pTable,&dwAdapters,FALSE); if (uRetCode == 122) { pTable=new MIB_IFTABLE[dwAdapters]; GetIfTable(pTable,&dwAdap.. 더보기
[에러]LNK1241 Linker Tools Error MSDN에서 LNK1241 링크 에러는 cvtres와 관련해서 설명하고 있다. 그러나 실제 이런 cvtres 툴을 사용하면서 까지 리소스를 관리하지는 않는다. 그정도 까지 쓰는 경우는 드물다. [원인] 결론적으로 말하면, 보통 스태틱 라이브러이(정적 라이브러리)에서 리소스(.rc)를 사용하려 할때 발생한다. 보통 실수로 마우스 조작하다가 리소스 추가할 경우가 생긴다. 원래는 함수나 클래스를 추가하려고 했을 때이다. 리소스 추가를 취소하지만, 기본 리소스 정보를 이미 추가했기 때문에 문제가 발생한다. 즉, .res 파일이 자동으로 생기면서 lib파일에 포함된다. [해결] 보통 .res 정보는 exe나 dll 파일에만 추가되며 lib파일에는 사용할 수 없다. 왜냐고 물어본다면, 나도 정확히 모르겠다. 물론 .. 더보기
[버그,error] UuidToStringW use RPC_WSTR 출처 : http://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=324664&SiteID=1 VS.NET 2003에서는 UuitToStringW사용에는 문제가 없다. 사용법) WCHAR *str; UuidToStringW(m_uuid, str); 위는 2003에서는 에러가 없지만 2005에서는 에러가 발생한다. 즉 WCHAR이 RPC_WSTR로 변환을 할 수 없다는 것이다. 이 이유는 현재 Platform SDK 에서는 typedef __nullterminated unsigned short __RPC_FAR *RPC_WSTR; 로 되어 있다. 이 것이 다음과 같이 읽어야되는데 typedef __nullterminated wchar_t __RPC_FAR *RPC_W.. 더보기
[명령어] dumpbin dumpbin.exe COFF/PE Dumper MS Studio 를 설치하면 같이 설치된다. 보통 DLL내의 정보들을 확인하는데 사용된다. 예를 들어 gdi32.dll내의 api 정보를 보려면, # dumpbin /exports gdi32.dll나머지는 직접 명령어들을 보면서 확인해보라. ----------------- Microsoft Windows XP \[Version 5.1.2600\] (C) Copyright 1985-2001 Microsoft Corp. C:\\Documents and Settings\\박재성>dumpbin Microsoft (R) COFF/PE Dumper Version 7.10.3077 Copyright (C) Microsoft Corporation. All rights .. 더보기
[Visual .NET] 클래스 이벤트, 메시지 헨들러 정의 방법 Visual Studio .NET에서 가장 당황하는 부분이 클래스 마법사가 사라진 부분이다. 그렇기에 이벤트나 메시지 헨들러를 추가하는 문제가 생긴다. 추가하는 방법 1. 먼저 클래스 뷰에서 해당 클래스를 선택한다. 2. 아래 속성 창에서 추가를 원하는 형태의 헨들러 버튼을 누른다. (위 그림참조) 3. 각 목록에서 적당한 헨들러를 선택하면 오른쪽에 삼각형 버튼을 눌러 추가한다. 이 외에도 클래스 추가 방법 1. 솔루션 탐색기나 클래스 뷰에서 프로젝트 명에서 마우스 오른쪽 버튼을 누르면 서브 컨텍스트 메뉴가 뜬다. 2. "추가>클래스추가" 하면된다. 다른 방법으로는 1. 프로젝트나 클래스 명을 선택하고 메뉴에서 "프로젝트"를 선택하면 해당 프로젝트에 대한 클래스, 함수, 변수 등을 추가할 수 있다. 나머.. 더보기
[VC++]Writing Exception-Safe Code with Visual C++ 출처 : http://www.devx.com/premier/mgznarch/vcdj/1997/nov97/vccode1.asp 아래는 제가 읽고 대충 느낀 점을 요약한 내용입니다. ================================================================================ #include void main() { int a = 0 ; int b = 5 / a ; } 만약 이처럼 코딩했다면 아래와 같은 다이얼로그 박스가 뜨겠죠? (이러한 창을 "Unexpected Application Error" Message Box 라고 합니다..) 이걸 없애려는 것입니다. 자체적으로 런타임 에러를 처리하겠다는 것이지요. 이러한 기능은 OS 에서 지원해주는 Structu.. 더보기
[MFC]화면깜박거림 제거 출처 : 데브피아 근대 내용 설명이 부족함 ------------------------------------------------- 화면 깜박거림을 제거합시다. 그럼 깜박거림을 없게하려면. 가장 쉬운게 부모 윈도우, 즉 폼뷰가 변경될 때 콘트롤들이 다시 그려지지 않게 하면 됩니다. WS_CLIPCHILDREN 이 속성을 이용하면 되죠. 대신 이속성을 폼이 키기가 변경될 때 적용하면 더욱 효과적이죠. void CFlicker_freeView::OnSize(UINT nType, int cx, int cy) { ModifyStyle(0, WS_CLIPCHILDREN); // turn on WS_CLIPCHILDREN CFormView::OnSize(nType, cx, cy); // default UpdateW.. 더보기
[MFC]폼뷰 외곽 경계선 없애기 윤영진 이것땜시 고생 좀 했습다.....우연히 여기 저기 쑤시다가 알게 됐습니다.... 거 참 재밋더군요 ....코드 두줄이면됩니다 이렇게 하면 다이얼로그 같은 뷰가 나옴니다 ..물론 폼뷰에서 한거고요 기냥 뷰는 테스트 않해봐서 멀겠네요....그럼 이만 원하는 뷰에 cs.style &=~(WS_BORDER); 요거 삽입 나머지 두개의 스타일은 해도 되고 않해도 되고요 .... BOOL CVMenuView::PreCreateWindow(CREATESTRUCT& cs) { cs.style &=~(WS_BORDER); // cs.style &= ~(WS_THICKFRAME); // cs.style &= ~(WS_DLGFRAME ); return CFormView::PreCreateWindow(cs); }그리고.. 더보기

반응형