-
2018-12-20 11:40:13
第一步,如何获取句柄?
答案:通过FindWindow函数获取,参数有两个,分别为窗口名和窗口所属类的类名,输入一个即可,另一个可以为NULL。返回值是HWND类型。需要的头文件是#include <Windows.h>,库为user32.dll。
第二步,如何通过句柄显示或者隐藏窗口?
答案,有2种方法。
1:
// 显示窗口 ShowWindow(hWnd, SW_SHOW); // 隐藏窗口 ShowWindow(hWnd, SW_HIDE);
2:
// 显示窗口 SendMessage(hwnd, WM_SHOWWINDOW, 0, 0); // 隐藏窗口 SendMessage(hwnd, WM_CLOSE, 0, 0);
补充:
如何判断窗口是否可见?
// check if the window is closed. if closed return 0, else (including on minimum state) return 1 BOOL isClosed = IsWindowVisible(hWindow);
更多相关内容 -
窗口隐藏工具 windows系统
2018-04-10 15:51:49窗口隐藏工具 windows系统 支持选定窗体 快捷键隐藏 快捷键显示窗体 -
windows窗口隐藏大师,隐藏不想让别人看到的程序,支持快捷键
2018-07-26 15:22:37隐藏桌面窗口,支持自定义快捷键一键隐藏和呼出,支持一键隐藏包含特殊字符的窗口。 -
windows窗口隐藏专家
2013-12-13 08:47:35可以有效的隐藏各类窗口及任务进程、托盘图标 -
Window-Hider:在Windows OS上隐藏和显示程序窗口的实用程序
2021-03-17 12:43:54在Windows OS上隐藏和显示程序窗口的实用程序 截屏 下载 最新版本可以在找到 特征 隐藏和显示窗口的能力 热键支持 取消隐藏程序退出时的所有窗口 防止隐藏同一窗口 计划功能 配置文件 可自定义的热键 命令行参数 -
隐藏指定窗口
2018-11-16 10:28:46Windows系统下隐藏指定窗口,不怕被老师查看玩游戏,上班不怕领导了。 -
windows系统定时自动关机,最小化隐藏窗口
2021-07-17 16:22:37windows系统自带任务自动关机操作不够好,一旦决定关机,无法取消。该实例可实现win10定时自动关机,最小化隐藏窗口,类似QQ窗口隐藏 -
Windows窗口隐藏专家
2011-03-23 09:36:21Windows窗口隐藏专家Windows窗口隐藏专家 -
【windows10】CMD命令行隐藏窗口运行
2022-05-08 12:56:38这里写目录标题1、背景2、CMD命令行隐藏窗口运行3、其它方法 1、背景 CMD命令是一种命令提示符,CMD是command的缩写,即命令提示符(CMD)。 CMD是微软 Windows系统的命令行程序,是进入命令提示符窗口的一个纽带。 ...【windows10】CMD命令行隐藏窗口运行
1、背景
CMD命令是一种命令提示符,CMD是command的缩写,即命令提示符(CMD)。
CMD是微软 Windows系统的命令行程序,是进入命令提示符窗口的一个纽带。
通过CMD命令进入命令提示符窗口,则将会显示 Windows的版本和版权信息。通过使用CMD命令可以很方便地进入其他子应用程序。CMD命令:开始->运行->键入cmd(在命令行里可以看到系统版本、文件系统版本)
或者win(windows键)+R,输入cmd
我们运行cmd程序会发现,这个终端窗口会一直开着,很容易被误操作关闭掉。
本博客介绍:CMD命令行隐藏窗口运行。2、CMD命令行隐藏窗口运行
方法是编辑.bat 脚本并运行。
.bat是windows下的批处理文件。编写bat脚本的内容如下:
@echo off if "%1"=="h" goto begin start mshta vbscript:createobject("wscript.shell").run("""%~nx0"" h",0)(window.close)&&exit :begin 自定义运行的可执行程序的代码放在此处
比如编辑xxx.bat脚本,内容如下:
@echo off if "%1"=="h" goto begin start mshta vbscript:createobject("wscript.shell").run("""%~nx0"" h",0)(window.close)&&exit :begin frpc -c frpc.ini
注意:
鼠标左键双击,运行xxx.bat。
此时cmd会快速的闪一下,然后终端窗口不会出现了!满足使用要求!关于批处理命令的说明:
@echo off 表示从本行开始关闭回显。一般批处理第一行都是这个。
%1 表示第一个参数。
if “%1”==“h” 表示第一个参数是h。
goto 表示跳转命令。
goto label 表示跳转到指定的标签那一行。
:label 表示行首为:表示该行是标签行,标签行不执行操作。
start 表示批处理中调用外部程序的命令,否则等外部程序完成后才继续执行剩下的指令。注意:
cmd后台能隐藏运行后,想要关闭,可以Ctrl + Alt+ Delete 进入任务管理器去关闭对应的进程。3、其它方法
其中参考相关博客编辑vbs脚本,如下:
// windows新建txt,修改后缀vbs。双击即可运行 // ,0 表示隐藏窗口 set ws=WScript.CreateObject("WScript.Shell") ws.Run "cmd.exe /c ping www.csdn.com",0
但是我运行会失败!请博友们自行尝试!
-
Windows系统下完全隐藏桌面窗口
2019-02-19 14:12:40玩梦幻单刷侠士水陆的时候,需要切换窗口,把多余的窗口隐藏掉. 由于python的GUI开发不熟,界面是自己都觉得真丑! 不过能用就行…没耐心调窗口,主要还是因为不熟! 界面: 有时间再优化下lable的显示字符. 由于有些程序...过年在家,有时候想玩下游戏,又不想别人看到.
玩梦幻单刷侠士水陆的时候,需要切换窗口,把多余的窗口隐藏掉.由于python的GUI开发不熟,界面是自己都觉得真丑!
不过能用就行…没耐心调窗口,主要还是因为不熟!界面:
有时间再优化下lable的显示字符.
由于有些程序需要权限运行,
用bat脚本启动,获取权限后再运行:@ echo off %1 %2 ver|find "5.">nul&&goto :Admin mshta vbscript:createobject("shell.application").shellexecute("%~s0","goto :Admin","","runas",1)(window.close)&goto :eof :Admin start "" "C:\Users\xx\Desktop\测试\隐藏窗口.py"
思路:
用win32api获取当前窗口的句柄pid.隐藏界面:
win32gui.ShowWindow(win32gui.FindWindow(None, s), win32con.SW_HIDE)
显示界面:
def show_it(s): win32gui.ShowWindow(win32gui.FindWindow(None, s), win32con.SW_SHOW)
app.state(‘icon’)使自身最小化.
然后隐藏自身到托盘.实现托盘化代码来自
https://blog.csdn.net/maqunfi/article/details/82943209
感谢 ?以下为代码,上面为托盘部分代码,最后为隐藏部分代码,
基本是win32 的封装,开发文档比较难懂,不怎么会用,缺少示例…
还是因为我太菜了,哈哈哈from tkinter import * import win32api import win32con import win32gui_struct import win32gui import os class SysTrayIcon(object): QUIT = 'QUIT' SPECIAL_ACTIONS = [QUIT] FIRST_ID = 1314 def __init__(s, icon, hover_text, menu_options, on_quit=None, default_menu_index=None, window_class_name=None, ): s.icon = icon s.hover_text = hover_text s.on_quit = on_quit menu_options = menu_options + (('退出', None, s.QUIT),) s._next_action_id = s.FIRST_ID s.menu_actions_by_id = set() s.menu_options = s._add_ids_to_menu_options(list(menu_options)) s.menu_actions_by_id = dict(s.menu_actions_by_id) del s._next_action_id s.default_menu_index = (default_menu_index or 0) s.window_class_name = window_class_name or "SysTrayIconPy" message_map = {win32gui.RegisterWindowMessage("TaskbarCreated"): s.refresh_icon, win32con.WM_DESTROY: s.destroy, win32con.WM_COMMAND: s.command, win32con.WM_USER + 20: s.notify, } # 注册窗口类。 window_class = win32gui.WNDCLASS() window_class.hInstance = win32gui.GetModuleHandle(None) window_class.lpszClassName = s.window_class_name window_class.style = win32con.CS_VREDRAW | win32con.CS_HREDRAW; window_class.hCursor = win32gui.LoadCursor(0, win32con.IDC_ARROW) window_class.hbrBackground = win32con.COLOR_WINDOW window_class.lpfnWndProc = message_map # 也可以指定wndproc. s.classAtom = win32gui.RegisterClass(window_class) def show_icon(s): # 创建窗口。 hinst = win32gui.GetModuleHandle(None) style = win32con.WS_OVERLAPPED | win32con.WS_SYSMENU s.hwnd = win32gui.CreateWindow(s.classAtom, s.window_class_name, style, 0, 0, win32con.CW_USEDEFAULT, win32con.CW_USEDEFAULT, 0, 0, hinst, None) win32gui.UpdateWindow(s.hwnd) s.notify_id = None s.refresh_icon() win32gui.PumpMessages() def show_menu(s): menu = win32gui.CreatePopupMenu() s.create_menu(menu, s.menu_options) # win32gui.SetMenuDefaultItem(menu, 1000, 0) pos = win32gui.GetCursorPos() # See http://msdn.microsoft.com/library/default.asp?url=/library/en-us/winui/menus_0hdi.asp win32gui.SetForegroundWindow(s.hwnd) win32gui.TrackPopupMenu(menu, win32con.TPM_LEFTALIGN, pos[0], pos[1], 0, s.hwnd, None) win32gui.PostMessage(s.hwnd, win32con.WM_NULL, 0, 0) def destroy(s, hwnd, msg, wparam, lparam): if s.on_quit: s.on_quit(s) # 运行传递的on_quit nid = (s.hwnd, 0) win32gui.Shell_NotifyIcon(win32gui.NIM_DELETE, nid) win32gui.PostQuitMessage(0) # 退出托盘图标 def notify(s, hwnd, msg, wparam, lparam): if lparam == win32con.WM_LBUTTONDBLCLK: # 双击左键 pass # s.execute_menu_option(s.default_menu_index + s.FIRST_ID) elif lparam == win32con.WM_RBUTTONUP: # 单击右键 s.show_menu() elif lparam == win32con.WM_LBUTTONUP: # 单击左键 nid = (s.hwnd, 0) win32gui.Shell_NotifyIcon(win32gui.NIM_DELETE, nid) win32gui.PostQuitMessage(0) # 退出托盘图标 if Main: Main.root.deiconify() return True def _add_ids_to_menu_options(s, menu_options): result = [] for menu_option in menu_options: option_text, option_icon, option_action = menu_option if callable(option_action) or option_action in s.SPECIAL_ACTIONS: s.menu_actions_by_id.add((s._next_action_id, option_action)) result.append(menu_option + (s._next_action_id,)) else: result.append((option_text, option_icon, s._add_ids_to_menu_options(option_action), s._next_action_id)) s._next_action_id += 1 return result def refresh_icon(s, **data): hinst = win32gui.GetModuleHandle(None) if os.path.isfile(s.icon): # 尝试找到自定义图标 icon_flags = win32con.LR_LOADFROMFILE | win32con.LR_DEFAULTSIZE hicon = win32gui.LoadImage(hinst, s.icon, win32con.IMAGE_ICON, 0, 0, icon_flags) else: # 找不到图标文件 - 使用默认值 hicon = win32gui.LoadIcon(0, win32con.IDI_APPLICATION) if s.notify_id: message = win32gui.NIM_MODIFY else: message = win32gui.NIM_ADD s.notify_id = (s.hwnd, 0, win32gui.NIF_ICON | win32gui.NIF_MESSAGE | win32gui.NIF_TIP, win32con.WM_USER + 20, hicon, s.hover_text) win32gui.Shell_NotifyIcon(message, s.notify_id) def create_menu(s, menu, menu_options): for option_text, option_icon, option_action, option_id in menu_options[::-1]: if option_icon: option_icon = s.prep_menu_icon(option_icon) if option_id in s.menu_actions_by_id: item, extras = win32gui_struct.PackMENUITEMINFO(text=option_text, hbmpItem=option_icon, wID=option_id) win32gui.InsertMenuItem(menu, 0, 1, item) else: submenu = win32gui.CreatePopupMenu() s.create_menu(submenu, option_action) item, extras = win32gui_struct.PackMENUITEMINFO(text=option_text, hbmpItem=option_icon, hSubMenu=submenu) win32gui.InsertMenuItem(menu, 0, 1, item) def prep_menu_icon(s, icon): ico_x = win32api.GetSystemMetrics(win32con.SM_CXSMICON) ico_y = win32api.GetSystemMetrics(win32con.SM_CYSMICON) hicon = win32gui.LoadImage(0, icon, win32con.IMAGE_ICON, ico_x, ico_y, win32con.LR_LOADFROMFILE) hdcBitmap = win32gui.CreateCompatibleDC(0) hdcScreen = win32gui.GetDC(0) hbm = win32gui.CreateCompatibleBitmap(hdcScreen, ico_x, ico_y) hbmOld = win32gui.SelectObject(hdcBitmap, hbm) brush = win32gui.GetSysColorBrush(win32con.COLOR_MENU) win32gui.FillRect(hdcBitmap, (0, 0, 16, 16), brush) win32gui.DrawIconEx(hdcBitmap, 0, 0, hicon, ico_x, ico_y, 0, 0, win32con.DI_NORMAL) win32gui.SelectObject(hdcBitmap, hbmOld) win32gui.DeleteDC(hdcBitmap) return hbm def command(s, hwnd, msg, wparam, lparam): id = win32gui.LOWORD(wparam) s.execute_menu_option(id) def execute_menu_option(s, id): menu_action = s.menu_actions_by_id[id] if menu_action == s.QUIT: win32gui.DestroyWindow(s.hwnd) else: menu_action(s) class _Main: def main(s): ######################### tkinter界面设定 ##################################### import win32gui import win32con app = Tk() app.geometry("300x600") app.title("隐藏窗口") scrollbar = Scrollbar(app) scrollbar.pack(side=RIGHT, fill=Y) label = Label(text="请选择需隐藏的", justify=LEFT, font=("楷书", 20, 'bold'), anchor='w', bg="#A2CD5A").pack(fill = BOTH) listb = Listbox(yscrollcommand=scrollbar.set, bg="#A2CD5A", font=("宋体", 15)) listb.pack(fill=BOTH, expand=True) scrollbar.config(command=listb.yview) Button(text="隐藏", font=15, width=10, height=2, command=lambda: tray_it(str(listb.get(listb.curselection())).split("/")[0])).pack() Button(text="显示", font=15, width=10, height=2, command=lambda: show_it(str(listb.get(listb.curselection())).split("/")[0])).pack() Button(text="关闭", font=15, width=10, height=2, command=lambda: kill(int(listb.get(listb.curselection()).split("/")[-1]))).pack() Button(text="托盘自己", font=15, width=10, height=2, command= lambda:hide_self()).pack() #点击隐藏自身,即点击最小化按钮. hwnd_title = dict() def get_hwnd(hwnd, arg): if win32gui.IsWindow(hwnd) and win32gui.IsWindowEnabled(hwnd) and win32gui.IsWindowVisible(hwnd): hwnd_title.update({hwnd: win32gui.GetWindowText(hwnd)}) win32gui.EnumWindows(get_hwnd, 0) for h, t in hwnd_title.items(): if t is not "": listb.insert(END, t + "/" + str(h)) def hide_self(): app.state('icon') def kill(pid): win32gui.PostMessage(pid, win32con.WM_CLOSE, 0, 0) try: listb.delete(listb.curselection()) except: pass else: pass def tray_it(s): win32gui.ShowWindow(win32gui.FindWindow(None, s), win32con.SW_HIDE) def show_it(s): win32gui.ShowWindow(win32gui.FindWindow(None, s), win32con.SW_SHOW) #app.mainloop() ########################### 开始托盘程序嵌入 ##################################### s.root = app icons = os.getcwd() + r'\robot.ico' # print(icons) hover_text = "点击恢复" # 悬浮于图标上方时的提示 menu_options = () s.sysTrayIcon = SysTrayIcon(icons, hover_text, menu_options, on_quit=s.exit, default_menu_index=1) s.root.bind("<Unmap>", lambda event: s.Unmap() if s.root.state() == 'iconic' else False) s.root.protocol('WM_DELETE_WINDOW', s.exit) s.root.resizable(0, 0) s.root.mainloop() def switch_icon(s, _sysTrayIcon, icons='D:\\2.ico'): _sysTrayIcon.icon = icons _sysTrayIcon.refresh_icon() # 点击右键菜单项目会传递SysTrayIcon自身给引用的函数,所以这里的_sysTrayIcon = s.sysTrayIcon def Unmap(s): s.root.withdraw() s.sysTrayIcon.show_icon() def exit(s, _sysTrayIcon=None): s.root.destroy() # print('exit...') if __name__ == '__main__': Main = _Main() Main.main()
-
Windows窗口隐藏大师Setup
2014-09-11 08:50:19Windows窗口隐藏大师Setup -
WGCLOUD在windows部署运行怎么实现隐藏窗口
2022-01-28 12:21:281、将WGCLOUD的server端注册为windows系统服务,就可以实现隐藏窗口和开机启动 使用NSSM将server注册为windows系统服务说明 - WGCLOUDhttps://www.wgstart.com/help/docs49.html 2、将WGCLOUD的agent端注册为...1、将WGCLOUD的server端注册为windows系统服务,就可以实现隐藏窗口和开机启动
使用NSSM将server注册为windows系统服务说明 - WGCLOUD
https://www.wgstart.com/help/docs49.html
2、将WGCLOUD的agent端注册为windows系统服务,就可以实现隐藏窗口和开机启动
-
黑山隐藏大师(程序窗口隐藏大师)V3.0中文官方安装版
2019-08-06 01:52:38黑山隐藏大师 功能特点: 1、能够进行Windows窗口的隐藏操作,您可以把任何一个窗口隐藏掉,在需要显示的时候再把隐藏掉的窗口恢复回来。 2、隐藏托盘区,比如您正在上QQ,又不想让别人看到,就可以把托盘上的小... -
网页窗口隐藏工具|黑山隐藏大师 v2.7.zip
2019-07-15 20:39:101、能够进行Windows窗口的隐藏操作,您可以把任何一个窗口隐藏掉,在需要显示的时候再把隐藏掉的窗口恢复回来。 2、隐藏托盘区,比如您正在上QQ,又不想让别人看到,就可以把托盘上的小图标隐藏掉,在需要显示的... -
windows窗口隐藏工具
2010-11-16 17:01:33隐藏窗口 windows窗口隐藏工具隐藏窗口 windows窗口隐藏工具隐藏窗口 windows窗口隐藏工具隐藏窗口 windows窗口隐藏工具隐藏窗口 windows窗口隐藏工具隐藏窗口 windows窗口隐藏工具隐藏窗口 windows窗口隐藏工具隐藏... -
windows窗口管理小工具
2013-07-26 10:13:26是用VB开发的一个小工具,源代码网上有,本来想在csdn找一个来着,结果却需要5个积分,自己也有,找来一个跟大家共享,显示隐藏窗口,一般用不到,如果在共享机器上隐藏自己的窗口就用得到了 -
隐藏windows脚本bat的窗口
2018-01-19 16:41:29使用vbs实现(推荐) CreateObject("WScript.Shell").Run "D:\syncthing\syncthing.exe",0或者批量运行:Set ws = CreateObject("Wscript.Shell") ws.run "cmd /c start winrar.exe",vbhide ws.run "cmd /c start ... -
windows快捷键隐藏桌面所有窗口——“老板键”
2021-04-26 17:24:34按下后,会立马隐藏电脑桌面上的所有窗口。再按依次Win+D,又可以全部恢复。 2、win+L 用于切换到锁屏界面。如果电脑设置了密码,可以保护电脑内容,离开电脑时,可使用这个快捷键。 3、https://www.fakeupdate.net/... -
命令行窗口-隐藏黑窗口
2022-03-31 10:38:55运行命令行,隐藏黑窗口 -
windows运行bat文件时隐藏命令行(黑框框)
2020-09-04 15:45:50windows运行bat文件时隐藏命令行(黑框框)!还在因为运行bat文件有黑框存在而烦恼?不知道如何隐藏cmd黑框?网上抄了种种无效? -
Windows 启动外部程序并隐藏其窗口
2020-01-14 18:15:25在Windows中,要启动外部程序...下面我们用CreateProcess来创建一个进程,并隐藏新进程的窗口。 #include "stdafx.h" #include <windows.h> #include <process.h> #include <assert.h> int _... -
Windows窗口隐藏程序
2009-01-04 08:46:41很好用的windows窗口隐藏程序,可控制窗口的显示和隐藏。绿色软件,方便实用。 -
windows 隐藏窗口显示软体(Delphi7开发)
2011-08-30 09:37:55Delphi7开发的隐藏窗口显示软件,含有源文件的。桌面上有一个正方形的灰色的小窗口,显示后,老是挡住其它的窗口。 -
Windows 任务计划 隐藏执行窗口的几种方法
2015-05-26 13:12:50说明:【任务计划】,有时候被大家称作为【计划任务】,大家习惯上都叫Windows计划任务,实际上人家真的名字叫【任务计划】:请看,有图有真相 之前做项目的时候,遇到过这个不算问题的问题,不隐藏执行界面“小黑... -
windows窗口隐藏器
2010-01-20 11:33:52通过后门程序隐藏windows窗口 使用方法简单,绿色无毒 -
c/c++调用WINDOWS API把程序隐藏,置顶窗口的几种方法
2019-12-16 00:04:27方法一:在你的cpp文件中添加 #pragma comment( ...//这种方法无法灵活的显示或者隐藏窗口 方法二:适用于对本身隐藏窗口 #include<Windows.h> HWND hwnd=GetForegroundWindow();//获取你当前启动窗口的... -
windows C++执行bat脚本时,隐藏cmd(dos)窗口
2018-08-27 17:04:28用C++代码执行bat脚本或者cmd命令时,如何避免cmd窗口一闪而过或者cmd窗口打开停留? 可使用函数WinExec完成功能,格式如下: WinExec("cmd /c 文件名.bat", SW_HIDE); 或者 WinExec("cmd /c cmd命令", SW_HIDE)... -
Unity发布PC平台exe的窗口花样(WindowsAPI、捕获关闭事件、隐藏窗口标题栏、隐藏最小化最大化关闭按钮等等...
2021-03-03 14:45:46说实话,这样做不是很厚道,不过,技术上是可以实现的。 二、创建脚本 创建一个WindowsStyle脚本,挂到场景的某个物体上,比如我挂到Main Camera上。 三、代码 using System; using System.Runtime.InteropServic -
Python对Windows程序窗口的操作
2021-10-25 15:36:23hwnd = win32gui.FindWindow(lpClassName=None, lpWindowName=None) # 查找窗口,不找子窗口,返回值为0表示未找到窗口 hwnd = win32gui.FindWindowEx(hwndParent=0, hwndChildAfter=0, lpszClass=None, lpszWindow=... -
Windows 启动自动运行程序,隐藏运行窗口运行
2020-05-30 17:11:031、生成 run.vbs文件 DIM objShell set objShell = wscript.createObject("wscript.shell") iReturn = objShell.Run("python C:\Users\Administrator\python\web...C:\ProgramData\Microsoft\Windows\Start M...