반응형


기본 화면은 변한것이 없다. 단지 매 사용시마다 프로그램을 실행시키는 것이 불편하였다.
그리하여.. 트레이에 추가 하는 부분을 추가. 그리고 트레이에서 화면으로 전환시 목록 리프레쉬.

여기서 발생한 문제점
1.최소화 버튼 클릭시 화면은 숨기고 트레이에 넣었는데 상태표시줄에는 남아있었다.
2.트레이 아이콘 팝업메뉴를 넣었는데 팝업메뉴를 뛰운후 다른 위치를 클릭해도 사라지지 않는다.






1 최소화시 트레이에 넣은후 화면을 숨기기 위해 ShowWindow(hwnd, SW_HIDE)를 사용했는데...
  이렇게 할 경우 화면은 사라지지만 작업표시줄에는 사라지지 않는다 하여... 알아보니..
// 최소화를 먼저 해준후 숨겨야 작업표시줄에도 사라진다. ㅡㅡ;;

2.트레이 아이콘에 이벤트 발생시 팝업을 뛰었는데 그게 한번 뜨면 그 메뉴를 선택하지 않는 이상 안사라진다.
  이럴경우 메뉴를 화면에 보여주는 TrackPopupMenu()를 호출하기 전에 SetForegroundWindow(hwnd)를 호출

반응형

올해 7월에 일본어 능력시험 N2 를 신청했다. 거금 4만원을 들여서 ...
매년 준비를 해서 시험을 봐야겠다는 생각만 하고 준비도 안하고 시험도 안보고..
이래선 안되겠다 시험을 신청했고 출제유형이 변경됬다길래 책도 한권 샀다.
그리고 무슨 충동이 일었는지 온라인 강의도 그냥 지르고 말았다 ㅡㅡ;
http://online.japansisa.com/  <== 온라인 강의 패키지 108000원 짜리...
교재: 新일본어 능력시험 이런 문제가 출제된다 - N2급(독학용)

어제 퇴근길에 책을 지르고 집에 가서 동강을 지르니 대충 12마넌이 조금 넘는다.

일단 동강을 듣기 시작하는데 ㅠㅠ.. 자꾸만 눈물이... 흑흑..
기초가 없었던 것이다 ㅠㅠ 특히 단어를 모르는거.. 한자.. 아악!! 내돈 12마넌...
거금을 들인거니 예습을 하고 동강을 들어야 겠다 .. 아... 걱정이 태산이다..
단어가 약하거나 문법이 약하거나 하면 바로 동강을 신청하기 전에 알아보고 신청하시길..
내겐 너무 어려운 동강!! 속도 넘 빨라 .. 그냥 문제 풀이만 쭉쭉해나가는구나.. 아악!!
반응형
비트논리연산자
정수형 자료( int, short, long)에 대해 비트단위로 논리 연산을 수행한다.
연산되는 값을 먼저 2진수로 바꾸어서 연산한다.
연산자 의미
~ 해당 비트를 반전시킨다.(1 -> 0, 0->1)
& 두 비트 모두 참이면 결과가 참
^ 두 비트가 서로 값이 다르면 참
| 두 비트가 모두 거짓이어야 거짓

< 소스출처 >http://kldp.net/projects/winningchaos/

SentinelDlg.cpp
BOOL CSentinelDlg::OnInitDialog() 진영선택부분에서 다이얼로그 초기화 부분
((CButton *)GetDlgItem(IDC_RADIO1))->SetCheck(BST_CHECKED);  //센티넬  선택
((CButton *)GetDlgItem(IDC_RADIO2))->SetCheck(BST_CHECKED);  //스콜지  선택

void CSentinelDlg::OnOK() 활성화시에 전역변수에 설정값 셋팅 부분
pBtn = (CButton *)GetDlgItem(IDC_RADIO1);
  if (pBtn->GetCheck()) m_uOpt |= 0x1000; // 센티널
  else m_uOpt |= 0x2000; // 스콜지
  m_uOpt |= (((CComboBox *)GetDlgItem(IDC_COMBO1))->GetCurSel()); // 본진 클릭 옵션 (본진단축키값이다.)


Scourge.cpp
static LRESULT CALLBACK MsgHook(UINT nCode, WPARAM wParam, LPARAM lParam)  //메시지 후킹부분
if(pkbhs->vkCode == '특정키이면') {
//센티넬이나 스콜지로 변경되게끔 한다.
m_uOpt |= 0x1000; // 센티널
((CButton *)GetDlgItem(IDC_RADIO1))->SetCheck(BST_CHECKED);  //센티넬  선택

m_uOpt |= 0x2000; // 스콜지
((CButton *)GetDlgItem(IDC_RADIO2))->SetCheck(BST_CHECKED);  //센티넬  선택

}

소스에 대한 전체적인 수정이 필요하다. 전역변수로의 설정하는 등의

+ Recent posts