일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
Tags
- 프로그래밍
- Windows
- 이지스퍼블리싱
- 백준
- Tips강좌
- Direct2D
- c
- Desktop
- 배열
- 연산자
- Win32
- 포인터
- Visual Studio
- Javascript
- 김성엽
- 문법
- CS
- tipssoft
- 지식나눔강좌
- Tips프로그래밍강좌
- c#
- Kotlin
- 함수
- 리뷰
- 알고리즘
- 티스토리
- VS ERROR
- c++
- Programming
- doit코틀린프로그래밍
Archives
- Yesterday
- Today
- Total
F.R.I.D.A.Y.
PC 카카오톡 AD 제거 본문
반응형
이미 시중에 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
반응형
'DEV > C C++' 카테고리의 다른 글
printf 이진수 출력(사용자 지정 서식지정자 구현) (0) | 2021.09.14 |
---|---|
다중 모니터 위치 파악하기 (0) | 2021.07.16 |
회전 사각형을 외접하는 사각형 (0) | 2021.05.26 |
템플릿 클래스를 상속하는 템플릿 클래스 (0) | 2021.05.21 |
클래스 메서드를 가리키는 멤버 함수 포인터 (0) | 2021.05.18 |
Comments