网站建设的功能描述,wordpress插件 地图,企业网站备案时间,长沙制作网站公司吗最近发现有些软件的窗口就像狗皮膏药一样#xff0c;关也关不掉#xff0c;一点就要登录#xff0c;属实是有点不爽了。 窗口的进程不能杀死#xff0c;但是窗口我不想要。思路很简单#xff0c;用 spy 找到要隐藏的窗口的句柄#xff0c;然后调用 Windows 的 ShowWindo…最近发现有些软件的窗口就像狗皮膏药一样关也关不掉一点就要登录属实是有点不爽了。 窗口的进程不能杀死但是窗口我不想要。思路很简单用 spy 找到要隐藏的窗口的句柄然后调用 Windows 的 ShowWindow 函数将它隐藏掉即可。 懒得写 C 了直接用Go调用 Windows 的 dll 解决吧。代码比较简单如下
package mainimport (fmtsyscall
)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 获取窗口句柄比如获取活动窗口句柄获取当前鼠标下的窗口句柄等。
更进一步窗口句柄可能会变这里的方法其实是一次性的。但是窗口的类名一般不会变我们可以记录下要隐藏窗口的类名然后定期检查只要窗口出现就给它隐藏掉。
反正我现在已经清净了管他呢后面的事后面再说。