반응형
비트논리연산자
정수형 자료( 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);  //센티넬  선택

}

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

반응형

Guda Project의 API 플밍 2번째 GudaMoreTran 입니다.

왜 GudaMoreTran 인가?

Guda Project + 메신저명의 일부 + transparency(투명)



개인적으로 사용하고 있는 메신저에 투명화 기능이 존재 하지 않기에...

API도 공부할겸 한번 만들어 보았다. 아직 수정 보완해야 할 부분이 많지만.

원하는 기능은 정상적으로 작동하기에 일단 프로젝트 완료.. 후에 업데이트 해야겠다.

일단 현재 떠있는 채팅창의 목록이 화면에 보이는 리스트 박스에 뜨게 되어있다.

어플 로딩시 갱신되지만 실시간으로 갱신되지 않기 때문에 투명화 하고 싶은 창을 선택전에

새로고침 버튼을 눌러서 갱신해야 한다. 그리고 투명화 하고자 하는 채팅창을 선택하고

아래 투명도를 조절하여 선택 적용을 하면 선택창만 투명화가 적용된다.

모든 채팅창을 동일한 투명도로 적용하고자 한다면 투명도를 조절하고 전체적용버튼을 클릭.^^

이후에는 업데이트시 기타 잘잘한 기능을 추가 하고자 한다.^^

주 목적은 개인적으로 필요한 기능을 구현하고 API 프로그래밍의 공부를 위해서 시작한것이다.

다른 분들에게는 필요 없는 어플이기에 여기에 공개는 하지 않겠다.^^
반응형

GetDesktopWindow
: 데스크탑 윈도우(루트 윈도우)의 핸들을 반환해준다.

HWND GetDesktopWindow(VOID);
ex) 데스크탑 윈도우에 출력하는 소스


EnumWindows
: 차일드 윈도우를 제외한 모든 윈도우를 검색한다. 그러나 시스템이 생성한 최상위 윈도우중에서
  WS_CHILD 스타일을 가지고 있으면 예외적으로 검색에 포함된다.

BOOL EnumWindows(     
    WNDENUMPROC lpEnumFunc,    //찾은 윈도우를 처리해줄 프로시저
    LPARAM lParam              //특정 사용자 정의 데이터를 콜백함수로 넘겨준다. 없을경우 NULL
);

EnumWindowsProc
EnumWindows에서 윈도우를 찾으면 EnumWindowsProc으로 값을 넘겨준다. 여기서 처리
EnumWindowsProc(
    HWND hWnd,                 //검색된 윈도우의 핸들
    LPARAM lParam              //EnumWindows에서 넘겨준 lParam값
);
ex) 윈도우 검색정보를 출력


EnumChildWindows
:특정 부모윈도우의 차일드만 검색
BOOL EnumChildWindows(      

    HWND hWndParent,
    WNDENUMPROC lpEnumFunc,
    LPARAM lParam
);

EnumThreadWindows
:스레드에 속한 윈도우 목록을 조사하는 함수들
BOOL EnumThreadWindows( 
    DWORD dwThreadId,
    WNDENUMPROC lpfn,
    LPARAM lParam
);

+ Recent posts