전체 글 389

c의 qsort와 stl의 sort에서 비교 함수(또는 함수객체) 사용시 결과값 세팅 주의

오름차순 정렬하면 앞에는 작은 것, 뒤에는 큰 게 온다. 갈수록 오른다고 생각하면 된다. ex) 0, 1, 7, 31, 55, 77, 999 김연아, 네이버, 다음, 라이코스, 마라도나, 메시, 박지성, 사오정, 애플, 잡스, 차범근, 카카, 태연, 펠레, 호날두, 홍명보 1. c qsort에서 비교함수 사용시 오름차순 정렬 int Compare(const void *a, const void *b) { return _tcsicmp(((PERSON *)a)->szName, ((PERSON *)b)->szName); } qsort(pPerson, count, sizeof(PERSON), Compare); 참고로 포인터의 연산자 순위가 형변환보다 높다. 위에서 형변환 먼저 처리하려면 필히 괄호를 써줘야 된다...

C, C++ 문법 2012.10.22

커스텀 프로그레스바 만들어 보기

윈도우에서 기본적으로 제공하는 공용컨트롤의 프로그레스바는 색깔이 너무 단조롭고 프로그레스바에 문자열도 못 쓴다. 최소한의 골격만 작성했고, 영역 색깔이나 글자 색, 크기 등 더 세세한 설정을 하려면 멤버변수를 추가하고 프로시저의 WM_PAINT 코드를 수정하면 될 것이다. 특정 윈도우의 자식으로 들어가는 경우와 독립적인 별개의 윈도우로 존재하는 경우(부모 윈도우를 NULL로 설정시) 2가지 모두 가능하다. 생성자로 바로 생성할 수도 있고, 디폴트 생성자를 실행 후 나중에 Create함수로 생성할 수도 있다. 참고로 골조만 짜고 그때그때 실사용하는 소스에서 알맞게 수정하는 것도 좋은 방법인 것 같다. 너무 옵션을 많이 주면 쓸데없이 코드가 길어지고, 중요한 것도 아닌데 일반화하기 애매한 경우 스트레스~~~..

API 2012.10.19

프로세스 경로 구할 때 OpenProcess flag 팁

어떤 프로세스들은 이를테면 svchost.exe 같은 시스템 프로세스들은 OpenProcess에서 PROCESS_ALL_ACCESS를 옵션으로 주면 프로세스 풀패스를 제대로 구하지 못한다. 다음과 같이 PROCESS_QUERY_INFORMATION | PROCESS_VM_READ 플래그를 줘야 제대로 구해졌다. 여기서 PROCESS_VM_READ를 빠트려도 안구해진다. PROCESS_VM_READ는 프로세스 접근해서 메모리를 읽고자 할 때 주는 플래그인데, 뭔가 좀 이상하긴 하지만,,,;;; 아래는 예제이다. #include #include #pragma comment(lib, "shlwapi.lib") #include #pragma comment(lib, "psapi.lib") #include #inc..

API 2012.10.19

비정상적인 explorer 다운 상황 후 발생하는 메시지 및 트레이 아이콘 되살리기

시스템에 상주하는 explorer.exe가 비정상적인 에러로 다운되버릴 경우, explorer.exe는 자체적으로 재실행되지만,,, 트레이에 상주중인 아이콘은 전부 날라가버린다. 해당 사건이 발생한 경우 대비 트레이 아이콘을 복구하는 코드를 넣어줘야 된다. explorer.exe가 재시작되는 경우 각각의 윈도우들에 특별한 메시지가 전달되는데, 일반적인 WM_COMMAND, WM_CLOSE처럼 절대적인 상수값이 정해진 메시지들과 다르게 RegisterWindowMessage API를 통해 구할 수 있다. 특별한 문자열을 인수로 줘서 OS에 등록하고, 사용하는 쪽에서도 이 API를 사용하여 등록된 메시지 정수값을 구하는 방식이다. 고유한 문자열을 인수로 주기 때문에 프로세스간 상호 통신에 쓰이기도 한다. 이..

API 2012.10.16

ThrottleStop 프로그램 소개 및 애드온(부팅시 실행 및 Turn On 버튼 누르기)

http://www.techinferno.com/downloads/?did=41 5.00 버전임. 아이비브릿지를 지원한다고 함. 혹시 저작권 문제될까봐 그냥 다운로드 링크를 건다. 페이지 내리면서 왼쪽 부분의 다운로드라고 쓰인 주황색 버튼를 클릭하면 된다. 아이들시나 간소한 작업시 인텔전력절감 기술(EIST) 이런 것들이 작동하면 cpu 배수가 하락하거나 cpu 클럭이 자동으로 낮아진다. 이렇게 전력소모량을 줄이므로써 노트북 배터리를 오래가게 하거나, 조그맣게 활동하니 아무래도 발열을 줄여준다. 그런데 이런 인공지능은 백프로 신뢰할 수 없고 때에 따라 짜증나는 경우도 생긴다. 활발해야될 시점에 cpu가 저성능으로 다운되는 경우도 있다. 특히 게임하는 사람들이 난데없는 프레임 하락의 결과가 생겨 이 기능에..

잡다 2012.10.14

유무선 공유기 설정 및 꼭 하면 좋은 기본적인 보안 세팅

유무선 공유기를 구매하였다. 모델명은 iptime n604s이다. 다나와에서 최고히트 상품답게 속도 풀로 나온다. 만족함. 아래는 공유기에 대한 설정을 하고자 할 때 들어가는 페이지의 디폴트 주소이다. http://192.168.0.1혹은http://192.168.0.200 // 스위칭 허브로 모드 변경시 접속하면 아래 그림 1과 같이 표시된다. 참고로 해당 공유기에 연결된 컴퓨터에서만 접속 가능하다. 그리고 다른 회사, 다른 모델 제품이면 당연히 접속주소, 페이지 모습이 다를 수 있다. 다음으로 공유기 사용시 꼭 하면 좋은 보안설정이다. ssid를 고유의 이름으로 바꿔주고, ssid는 알리지 않음으로 설정한다.(아래 그림 2 참조) 이럴 경우 클라이언트에서 무선 네트워크 검색시 리스트에 나타나지 않으므..

잡다 2012.10.11

배치파일 명령어들

이거 인쇄 해서 가지고 다니시면 도움 될겁니다... ------------------------------------------------------------------------ 도스명령어 ------------------------------------------------------------------------ ★ 명령의 기본 구조는 [명령어+내용+추가옵션]이다. (예) copy *.* c: /y ◈ 모든 명령의 도움말은 [명령어 /?]로 볼 수 있다. (예) dir /? (※ '\' 와 '₩' 는 같음) (1) 내부 명령어 * 내부 명령어란 컴퓨터가 부팅된후 사용자가 내린 명령어를 COMMAND.COM에 의하여 해석이 이루어 실행되는 명령어를 의미한다 * COMMAND.COM은 컴퓨터를 부팅..

카테고리 없음 2012.07.07

비주얼 스튜디오 리소스 편집기에서 에디트 박스 높이가 줄어들지 않을 때 팁

에디트 박스의 경우 비주얼 스튜디오 6.0에서는 버그인지 몰라도 크기가 12이하로 안 줄어든다. 버튼 등은 잘 되는데 유독 에디트 박스만 그런다. 이럴 경우는 rc 파일을 찾아가서 메모장이나 에디트 플러스 등 텍스트 에디터로 열어서 해당 높이 부분을 찾아서 수정해 주면 된다. // rc 파일 열었을 때 모습 //~~~~~~~~~~~~~ 각종 인클루드 및 디파인 // 컨트롤들의 위치와 크기, 속성, 아이디 PUSHBUTTON "Open",IDC_BTN_OPEN_LOG_FILE,483,0,22,10,BS_CENTER | BS_VCENTER,WS_EX_STATICEDGE PUSHBUTTON "Del",IDC_BTN_DELETE_LOG_FILE,505,0,22,10,BS_CENTER | BS_VCENTER,WS..

API 2012.03.22