F.R.I.D.A.Y.

PC 카카오톡 AD 제거 본문

DEV/C C++

PC 카카오톡 AD 제거

F.R.I.D.A.Y. 2021. 6. 25. 04:07
반응형

 이미 시중에 CS로 만들어진 ADBlock 프로그램이 존재하지만


 기억나지 않을 정도로 익숙해져버린 카카오톡 PC AD. 존재하는것은 상관 없지만, 창의 일정 부분을 저렇게 차지하다보니 공간 낭비가 아닐 수 없다.

 

 이미 시중에 C#으로 만들어진 ADBlock 프로그램이 존재하지만, 원리나 한번 알아보자고 만든 코드.

#include <iostream>
#include <iomanip>
#include <Windows.h>

using namespace std;

int main() {
    HWND kakao;
    kakao = FindWindowW(L"EVA_Window_Dblclk", L"카카오톡");
    char titleKao[100]{};
    GetWindowTextA(kakao, titleKao, 99);

    cout << "caption: " << titleKao << endl;

    if (kakao) {
        HWND list = FindWindowExW(kakao, nullptr, L"EVA_Window", nullptr);
        RECT listRc{};
        cout << "list: " << list << endl;

        if (list) {
            GetWindowRect(list, &listRc);
            SendMessage(list, WM_CLOSE, 0, 0);
        }

        HWND mainer = FindWindowExW(kakao, nullptr, L"EVA_ChildWindow", nullptr);
        RECT mainerRc;
        if (mainer) {
            GetWindowRect(mainer, &mainerRc);
            mainerRc.bottom= listRc.bottom;
            GetClientRect(kakao, &mainerRc);
            SetWindowPos(mainer, 0, mainerRc.left, mainerRc.top, mainerRc.right - mainerRc.left,
                mainerRc.bottom - mainerRc.top, SWP_NOMOVE);
            InvalidateRect(mainer, nullptr, false);
        }
    }

    return 0;
}

 콘솔기반이다.

728x90
반응형
Comments