当前位置: 首页 > news >正文

Go加spy++隐藏窗口

最近发现有些软件的窗口就像狗皮膏药一样,关也关不掉,一点就要登录,属实是有点不爽了。
在这里插入图片描述
窗口的进程不能杀死,但是窗口我不想要。思路很简单,用 spy++ 找到要隐藏的窗口的句柄,然后调用 Windows 的 ShowWindow 函数将它隐藏掉即可。
懒得写 C++ 了,直接用Go调用 Windows 的 dll 解决吧。代码比较简单,如下:

package main

import (
	"fmt"
	"syscall"
)

var (
	user32         = syscall.NewLazyDLL("user32.dll")
	procShowWindow = user32.NewProc("ShowWindow")
)

func ShowWindow(hwnd uintptr, nCmdShow int32) (bool, error) {
	ret, _, err := procShowWindow.Call(hwnd, uintptr(nCmdShow))
	if ret == 0 {
		return false, err
	}
	return true, nil
}

func main() {
	_, err := ShowWindow(uintptr(0x015005FE), 0)
	if err != nil {
		fmt.Println(err)
		return
	}
	fmt.Println("success!")
}

注意在运行之前,先找到窗口的句柄,替换掉程序中 ShowWindow 的第一个参数。然后 go run main.go 就可以将目标窗口隐藏了,不影响窗口后面的进程。

啊,世界终于清净了。

除了使用 spy++ 去获取句柄,还可以直接在 Go 中调用 Windows 的相关 API 获取窗口句柄,比如获取活动窗口句柄,获取当前鼠标下的窗口句柄等。

更进一步,窗口句柄可能会变,这里的方法其实是一次性的。但是窗口的类名一般不会变,我们可以记录下要隐藏窗口的类名,然后定期检查,只要窗口出现就给它隐藏掉。

反正我现在已经清净了,管他呢,后面的事后面再说。

相关文章:

  • 梦三国2游戏下载
  • io学习------>进程
  • LeetCode 解题思路 11(Hot 100)
  • windows部署spleeter 版本2.4.0:分离音频的人声和背景音乐
  • Reverse DevTools | 逆向调试工具 使用手册
  • 机器学习深度学习基本概念:logistic regression和softmax
  • VScode 中文符号出现黄色方框的解决方法
  • 通用外设驱动模型(四步法)及配置GPIO步骤
  • 云原生系列之本地k8s环境搭建
  • 【pyqt】(十二)文本框
  • 神经网络中梯度计算求和公式求导问题
  • 2025年渗透测试面试题总结-字某某动-安全研究实习生(一面)(题目+回答)
  • BFS(七)662. 二叉树最大宽度 数组下标模拟存储二叉树
  • “深入浅出”系列之杂谈篇:(8)SQL Server 真的比不上 MySQL 吗?
  • 大模型中的剪枝、蒸馏是什么意思?
  • 【mlops】Cube Studio云原生机器学习平台架构解析
  • unity 让两个物体相遇时候刚体互不影响
  • Python计算程序用时方法大全(基础,高精度,装饰器,无侵入式,格式化时间输出)
  • K8s 1.27.1 实战系列(五)Namespace
  • GEFFEN/GF-SPMS8分布式电源强电控制器
  • 再现“黄肠题凑”与汉代生活,北京大堡台遗址博物馆新馆开馆
  • 王建军被免去证监会副主席职务
  • 错过航班大闹机场女子发声:非母子关系,将起诉视频发布者
  • 6月底将返回中国,旅日大熊猫获颁“感谢状”
  • 王毅同巴基斯坦副总理兼外长达尔会谈
  • 专访《风雪夜归人》导演闫锐:在舞台上表现什么是真正的活着