반응형
비트논리연산자
정수형 자료( 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