 비트논리연산자
 비트논리연산자 정수형 자료( int, short, long)에 대해 비트단위로 논리 연산을 수행한다.
정수형 자료( int, short, long)에 대해 비트단위로 논리 연산을 수행한다.  연산되는 값을 먼저 2진수로 바꾸어서 연산한다.
연산되는 값을 먼저 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);  //센티넬  선택
}
소스에 대한 전체적인 수정이 필요하다. 전역변수로의 설정하는 등의