이것저것/My_Work 127

INTEL CPU 전력관리

인텔의 전력관리의 대표적인 기술로 C1E 와 EIST 가 있다. C1E ( Enhanced Halt State) - CPU가 휴식 명령을 받고 있는 상태(C1)를 향상 시킨 것 - 시스템이 IDLE 상태시 전력소모를 줄이는 것이 주요 목표 - IDLE 상태가 유지되면 CPU는 HALT 명령을 받게 되고, 이에따라 클럭과 전압을 낮추게 됨 - 이 상태에서 어떠한 동작이 가해지면 바로 원래의 클럭과 전압 상태로 돌아감 - EIST(Enhanced Intel Speedstep Technology) - 노트북에 사용된던 기술을 데스크탑에 접목 - CPU 점유율에 의해 동작 하는 기술 - EIST는 OS와 연동되어 사용(현재 실행되는 프로그램의 필요 성능에 따라 CPU 점유율을 조절) - CPU 점유율 조절을 통..

프로세스 생성

( CreateProcess, GetExitCodeProcess, WaitForSingleObject ...) #include #include #include int _tmain(void) { STARTUPINFO si={0,}; PROCESS_INFORMATION pi; TCHAR app[] = _T("notepad.exe"); si.cb = sizeof(si); //프로세서 생성(실행) if(CreateProcess(NULL, // 실행 파일 이름(현재 디렉터리 기준, 경로 지정 가능) app, // 실행 파일 이름(프로세서 인자를 전달해야할 경우 사용, 표즌 검색경로로 검색) NULL, // 프로세스의 보안 속성을 지정 NULL, // 쓰레드의 보안 속성을 지정 TRUE, // 상속 관련 0, //..

EFI (Extensible Firmware Interface)

비교적 과거에는 간단한 설계로 구성됐던 바이오스이지만 현재는 빠르게 변모하는 PC 신기술에 맞춰 바이오스의 변화도 불가피한 상태다. 엎친 데 덮친 격으로 바이오스를 대체하기 위해 새로운 펌웨어 기반의 EFI까지 등장했으니 말이다. 새롭게 등장한 EFI. 과연 20년간 PC계를 지배해온 바이오스의 독주를 멈출 수 있을지 PC라인에서 알아봤다. 1. 메인보드의 두뇌 바이오스 바이오스(BIOS)란 ‘Basic Input/Output System’의 첫머리만 딴 것으로 메인보드에 탑재돼 메인보드 본체와 이에 장착된 주변기기 등의 하드웨어를 제어하는 역할을 한다. 정확히 말하면 하드웨어도 아니고, 소프트웨어도 아닌 펌웨어로 볼 수 있다. 또 메인보드 BIOS를 설명할 때면 절대 빠질 수 없는 것이 바로 ‘시모스(..

Internet Explorer8 설치 후 Visual studio2005에서 문제 발생

Internet Explorer7을 잠시 사용하다가 너무 무겁고 알수 없는 에러가 자꾸만 발생하여 Explorer6으로 다운그레이드하고, 주로 Google의 크롬을 사용했었다. 그러다가, Internet Explorer8 국내 사이트에도 어느정도 잘 돌아간다하여(은행 뱅킹 등 - 국민은행, 대구은행은 확인 하였음) Internet Explorer8로 업그레이드를 했다. 음...웹페이지의 출력은 꽤나 빨라진 듯 하다. 나머지 추가된 기능들이야 뭐....그닥 사용하지 않는 편인지라;;;; 자세한건 좀 더 사용해보고 느껴봐야 할 듯하다. 그러던 중~!!!!!!!!!!!!!!!!!두둥....!!! Visual studio2005 환경에서 프로제트를 생성하고 MFC Class Wizard를 실행 하는 순간, Sc..

[MFC] - CreateProcess()

// 함수 원형 // BOOL CreateProcess( LPCTSTR lpApplicationName, LPTSTR lpCommandLine, LPSECURITY_ATTRIBUTES lpProcessAttributes, LPSECURITY_ATTRIBUTES lpThreadAttributes, BOOL bInheritHandles, DWORD dwCreationFlags, LPVOID lpEnvironment, LPCTSTR lpCurrentDirectory, LPSTARTUPINFO lpStartupInfo, LPPROCESS_INFORMATION lpProcessInformation ); 각 Parameters 의 의미는 MSDN을 참고!! 부모 프로세스에서 CreateProcess()를 이용하여 ..

[MFC] - PlaySound()를 이용한 Wave 파일 재생

* 원형 * BOOL PlaySound( LPCSTR pszSound, HMODULE hmod, DWORD fdwSound ); #pragma comment(lib, "winmm") #include /* 경로를 설정하여, wave 파일을 재생하고자 할때 */ PlaySound("c:\test.wav" , NULL, SND_ASYNC); /* wave 파일을 리소스에 등록 후, 재생하고자 할 때 */ PlaySound((LPCSTR)MAKEINTRESOURCE(IDR_WAVE1), NULL, SND_ASYNC | SND_RESOURCE); 세부내용은 아래 링크 참조. 참고 : http://cafe.naver.com/cafec.cafe?iframe_url=/ArticleRead.nhn%3Farticleid=..

[MFC] - 다이얼로그 기반 프로그램에서 실행과 동시에 다이얼로그 감추기

[출처] - http://frog3147.tistory.com/entry/다이얼로그-기반-프로그램에서-실행과-동시에-다이얼로그-감추기 다이얼로그를 domodal로 띄울 때 실행과 동시에 다이얼로그를 트레이로 내리거나 감추어야 할 경우 일반적으로 사용하는 방법으로 윈도우를 보이지 않게 하려면 ShowWindow(FALSE); 와 같이 하면 되지만 다이얼로그 기반의 프로그램에서는 DoModal 함수가 내부적으로 WM_SHOWWINDOW 메시지를 사용하여 윈도우를 띄워버리기 때문에 OnInitalDialog나 OnCreate 처리기에서 인위적으로 ShowWindow(SW_HIDE); 라고 코딩을 해놓아도 해당 작업이 무시되어 버린다. 이러한 문제가 발생하는 이유는 DoModal 함수가 내부적으로 메시지 루프를..

DLL 학습 중

※ 라이브러리 : 함수, 데이터, 타입 등 여러가지 프로그래밍 요소들의 집합으로, 자주 사용되는 표준적인 함수를 미리 만들어서 모아 놓은 것 ⊙ 정적 링크 : 컴파일 시에 함수가 실행 파일에 연결. 실행 파일의 크기가 큼, 단독 실행 파일 ⊙ 동적 링크 : 실행시에 함수가 실행 파일에 연결. 실행 파일의 크기가 작음, 단독 실행 불가능(DLL 필요) ※ DLL 동적 링크 (Dynamic Link Library ) : 동적 링크란 컴파일시에 함수의 코드가 실행 파일에 복사되는 것이 아니라 실행 중에 라이브러리에 있는 함수를 호출 하는 방법 ※ 동적링크 장점 1. 한 코드를 여러 프로그램이 동시에 사용하기 때문에 메모리가 절약 2. DLL을 사용하는 프로그램은 크기가 작다 3. DLL을 교체하여 프로그램의 ..

[MFC] - 키보드 후킹

※ 훅킹(Hooking) : 이미 작성 되어 있는 코드의 ㅣ특정 지점을 가로 채서 동작 방식에 변화를 주는 일체의 기술 - 인터럽트 가로채기 기법, 메지시 가로채기 등등 ※ 메시지를 가로챌 범위에 따라 지역 훅, 시스템 전역 훅으로 구분 - 지역 훅(Thread Specific) : 특정 스레드에서 발생하는 메시지들만 전달 받음 - 시스템 전역 훅(System Wide) : 시스템의 모든 스레드에서 발생하는 메시지를 받고자 할때는 전역 훅을 설치 ※ 훅 프로시저 : 훅 체인에 등록되어 메시지를 감시하는 함수 원형 Ex) LRESULT CALLBACK KeyboardProc(int code, WPARM wParam, LPARAM lParam); 인수의값은 전달 받는 메시지타입에 따라 달라 질 수 있다. ※..