반응형

Programming 67

Visual Studio 2012 Thread Library 사용

thread Class 사용 방법 Visual Studio 2012 에서는 이번 C++ 11 표준에서 thread 부분까지 적용이 되어 다음과 같이 Class 의 멤버 함수를 Thread 로 돌릴 수 있다. #include #include #include #include using namespace std; class Test { public: Test() { m_nNum = 0; } virtual ~Test() { printf("~Test\n"); }; public: void ThreadFunc() { while(1) { printf("Num1 : %d\n", m_nNum); Sleep(1000); m_nNum++; if(m_nNum == 10)break; } } void operator() () { ..

Programming/C/C++ 2012.08.21

Node.js C++ Module Thread Callback

Node.js C++ Module Thread Callback Node.js 를 공부 하던 중 내가 사용중이던 Library 를 붙여볼 일이 생겼다. 라이브러리는 내부적으로 Callback Function Pointer 를 등록을 시키면 다른 쓰레드에서 Callback Function Pointer 를 호출하는 구조이다. 위와 같이 등록한곳과 다른 Thread 에서 Callback Function 을 호출하게 되면 MFC 같은 메시지 펌프 구조로 된 프레임에서는 ASSERT 오류가 발생한다. 마찬가지로 Node.js 도 역시 Segmentation Fault 가 떨어진다. Callback 을 등록하고 시험적으로 만든 모듈은 정상 작동하는데 라이브러리만 붙이면 알수 없는 위치에서 Segmentation F..

Programming/Node.js 2012.04.05

RocketDock 항상 위로 세팅 해주는 Utility

Windows 7 64bit 를 사용중인데 이 놈의 RocketDock이 항상 맨 위에 세팅을 해줘도 창 뒤로 숨는 경우가 있다. 자동 숨기기 기능을 쓰기 때문에 어떤 위치에서든 다른 창보다 가장 맨 위로 떠야 하는데 내 컴퓨터만 이상한걸까.... 잘 작동하다가 어느 순간 창 뒤로 숨어버리곤 한다. 짜증이 나서 Rocket Dock 을 앞으로 데리고 오는 Util 을 만들었다. Rocket Dock 은 부모 윈도우1개와 자식 윈도우 1개로 이루어져 있어서 부모 윈도우의 HWND 를 얻어와 TOP_MOST 로 설정해준 다음 자식 윈도우는 HWND_BOTTOM 으로 다시 한번 세팅해준다. 자식 윈도우를 BOTTOM 처리 하지 않게 되면 RocketDock 의 아이콘보다 뒷 배경 바가 위로 올라오는 현상이 나..

Programming/Tips 2012.03.14

Windows 7 RocketDock 정상적으로 사용하기

최근에 Windows 7 64bit 로 바꾸면서 기존에 사용하던 RocketDock 을 설치하여 사용하게 되었다. 처음에는 아무런 이상이 없이 잘 사용되는 줄 알았다. 그런데 매크로를 사용중인 엑셀 문서를 RocketDock 에 연결 시킨 후 RocketDock 을 이용해 엑셀 파일을 열어 Macro 를 작동 시키니 이상한 에러 메시지들을 띄우는 문제가 발생을 하는 것이다. 분명 엑셀 자체내의 VB 문법을 사용하는건데 없는 함수래나 뭐래나.....-_- 한술 더 떠서 RocketDock 을 거쳐서 실행된 Visual Studio 는 정상적으로 컴파일이 안되는 현상도 나타났다. 파일 쓰기가 안된데나 권한이 없다고 그랬나.. 혹시나 싶어 권한 문제인가 싶어 RocketDock 을 관리자 권한으로 실행시켜도 ..

Programming/Tips 2012.03.07

ActiveX INF 파일 구조

INF File Architecture INF file 은 하나 이상의 item 이 포함된 named section으로 이루어 졌으며 이 section의 이름은 대괄호안에 묶이며 각각의 section들은 특정 목적을 지닌다(파일을 카피하거나 레지스트리에 엔트리를 넣는다거나) INF File Syntax Internet Component 의 경우 제대로 이해 되기 위해서는 다음의 syntax rule을 따라야 한다. 모든 URL 은 특수 문자를 다루기 위해서 encode 되어야 한다.(URL encode 아시죠,예를 들어 공백은 %20) http://example.microsoft.com/sample%20control.ocx Main Sections of an INF File Internet 에서 다운로드..

Programming/Tips 2012.02.17

VC++ 6.0 MFC ActiveX 권한 상승 사용하기

여러곳을 돌아 다녀보아도 Visual C++ 6.0 으로 ActiveX 권한 상승문제는 정확하게 써놓은곳이 잘 없다. 거의 다 ATL 위주의 설명이 많아 블로그에 포스팅한다. 권한 상승 하는 방법은 크게 두가지로 분류가 된다. 자신의 객체를 권한 상승 시켜서 필요한 메서드만 관리자 권한으로 수행하게 하는 일시적인 권한 상승방법이 있고 Internet Explorer 자체를 관리자 권한으로 상승 시키는 방법이 있다. 여기서 포스팅하는 방법은 Internet Explorer 자체를 관리자 권한으로 상승시키는 방법이다. 1. 권한상승에 관한 코드 준비 필자는 stdafx.h 파일에 아래 코드를 선언하였다. // 권한상승 typedef struct _TOKEN_ELEVATION { DWORD TokenIsEle..

Programming/Tips 2012.02.15

Windows 7 64bit 시스템에서 Visual C++ 6.0 사용하기

1. dsw 파일 Visual C++ 여러 창으로 열기 dsw 파일은 XP 에서 DDE를 해제 하여 각각 창이 열리 도록 설정이 가능했지만 Windows 7 에서는 확장자 별 옵션 설정이 사라졌다. 고로 레지스트리를 직접 수정, 또는 변경하여야 한다. 아래는 다른 블로그에서 퍼온 내용 Information dsw 파일 아이콘 모양 변경 레지스트리 위치 HKEY_LOCAL_MACHINE\SOFTWARE\Classes\dswfile\DefaultIcon 변경값 "C:\\PROGRA~2\\MICROS~1.0\\Common\\MSDev98\\Bin\\msdev.exe,0" 끝에 숫자 값을 0으로 변경한다. 이 값은 "C:\Program Files (x86)\Microsoft Visual Studio 6.0\Co..

[VB] - Visual Basic 에서 c/c++ 용 time_t 값 convert, 활용하기

c/c++ 에서 사용하는 time_t 값을 VB의 Date 형식으로 변환 하려고 검색을 해보니 영 이상한 검색 결과만 있어서 블로그에 포스팅 한다. 1. 목적 : c/c++ 에서 사용하는 time_t 값을 VB 에서 사용하도록 변환 nTimeT = 1324434849 nTimeT = nTimeT + 32400 ' 9시간(9*60*60) 더하기, 표준시 보다 9시간을 더해야 대한민국 표준시가 된다 '9시간 더하는 부분까지 지역화 시켜서 자동화 시키면 좋겠지만 VB를 잘 모른다. sessionDate = DateAdd("s", nTimeT, "1970/1/1") time_t 는 1970년 1월 1일 기준으로 지금까지 지나온 초를 반환 하는 값이다. 위와 같이 계산을 하면 sessionDate 라는 변수에 D..

Programming/Tips 2011.12.21
반응형