开启辅助访问 切换到宽版

精易论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

用微信号发送消息登录论坛

新人指南 邀请好友注册 - 我关注人的新帖 教你赚取精币 - 每日签到


求职/招聘- 论坛接单- 开发者大厅

论坛版规 总版规 - 建议/投诉 - 应聘版主 - 精华帖总集 积分说明 - 禁言标准 - 有奖举报

查看: 3174|回复: 5
收起左侧

[完成] 隐藏显示任务栏图标

 关闭 [复制链接]
结帖率:98% (59/60)
发表于 2019-1-13 12:33:57 | 显示全部楼层 |阅读模式   辽宁省朝阳市
20精币
各位大佬好!!!

求一位好心人帮忙写个任务栏图标隐藏/显示的小程序要源码(WIN7 64)

功能就是 弄个 列表框  然后显示运行程序在任务栏上的图标  鼠标右键可以选择隐藏/显示  即可

PS:不要指定进程的 隐藏什么程序图标不一定 反正就是 列表框 显示运行程序的所有图标就对了

最佳答案

查看完整内容

建立一个程序集 .版本 2 .程序集 隐藏任务栏 .子程序 Hide_Taskbar, 逻辑型, , 隐藏任务栏按钮.成功返回真,失败返回假 .参数 Winhandle, 整数型, , 窗口句柄 .局部变量 Var_Hwnd, 整数型 .如果真 (IsWindow (Winhandle) = 0) 返回 (假) .如果真结束 Var_Hwnd = -1 CloseHandle (CreateThread (0, 0, &CreateHideWin, Var_Hwnd, 0, 0)) .判断循环首 (Var_Hwnd = -1) 处理事件 () .判断循环尾 () ' 本源码来自易语言 ...
结帖率:100% (1/1)
发表于 2019-1-13 12:33:58 | 显示全部楼层   江苏省扬州市
建立一个程序集
.版本 2

.程序集 隐藏任务栏

.子程序 Hide_Taskbar, 逻辑型, , 隐藏任务栏按钮.成功返回真,失败返回假
.参数 Winhandle, 整数型, , 窗口句柄
.局部变量 Var_Hwnd, 整数型

.如果真 (IsWindow (Winhandle) = 0)
    返回 (假)
.如果真结束
Var_Hwnd = -1
CloseHandle (CreateThread (0, 0, &CreateHideWin, Var_Hwnd, 0, 0))
.判断循环首 (Var_Hwnd = -1)
    处理事件 ()
.判断循环尾 ()
' 本源码来自易语言资源网(www.5A5X.com)
.如果真 (Var_Hwnd = 0)
    返回 (假)
.如果真结束
SetWindowLong (Winhandle, #GWLP_HWNDPARENT, Var_Hwnd)
返回 (真)

.子程序 Display_Taskbar, 逻辑型, , 显示任务栏,成功返回真,失败返回假
.参数 Winhandle, 整数型, , 窗口句柄
.局部变量 Var_Hwnd, 整数型
.局部变量 Var_BShow, 逻辑型
.局部变量 Var_BIcon, 逻辑型

.如果真 (IsWindow (Winhandle) = 0)
    返回 (假)
.如果真结束
Var_BIcon = IsIconic (Winhandle)
Var_BShow = IsWindowVisible (Winhandle)
Var_Hwnd = GetWindowLong (Winhandle, -8)
SetWindowLong (Winhandle, -8, 0)
PostThreadMessage (GetWindowThreadProcessId (Var_Hwnd, 0), 18, 0, 0)
SendMessage (Var_Hwnd, 16, 0, 0)
SendMessage (Winhandle, 11, 0, 0)
ShowWindow (Winhandle, 7)
.如果真 (Var_BIcon = 假)
    ShowWindow (Winhandle, 4)
.如果真结束
SendMessage (Winhandle, 11, 1, 0)
.如果真 (Var_BShow = 假)
    ShowWindow (Winhandle, 0)
.如果真结束
返回 (真)  ' 本源码来自易语言资源网(www.5A5X.com)

.子程序 CreateHideWin
.参数 hwnd, 整数型, 参考
.局部变量 Var_Msg, 整数型, , "7"
.局部变量 Var_WndClass, WNDCLASS

Var_WndClass.style = 3
Var_WndClass.lpfnwndproc = GetProcAddress (GetModuleHandle (“user32.dll”), “DefWindowProcA”)
Var_WndClass.hInstance = GetModuleHandle (Var_WndClass.lpszClassName)
Var_WndClass.hbrBackground = GetStockObject (0)
Var_WndClass.lpszClassName = “HideTaskbar”
RegisterClass (Var_WndClass)
hwnd = CreateWindowEx (384, Var_WndClass.lpszClassName, “”, 79691776, 0, 0, 0, 0, 0, 0, Var_WndClass.hInstance, 0)
.如果真 (hwnd ≠ 0)
    .判断循环首 (GetMessage (Var_Msg, 0, 0, 0) ≠ 0)
        TranslateMessage (Var_Msg)
        DispatchMessage (Var_Msg)
    .判断循环尾 ()
.如果真结束


.子程序 Sub_EnumTopWin, 整数型, , 枚举顶级窗口,返回枚举出来的窗口句柄数组成员数
.参数 WinArray, 整数型, 参考 数组, 该数组变量用来接收所有枚举出来相关的窗口句柄
.参数 ParentWin, 整数型, , 0=屏幕则枚举出来所有顶层的窗口,若指定一个父窗口,将枚举出其子控件窗口句柄
.参数 Windclass, 文本型, 可空, 只返回与该类名相同的窗口句柄
.参数 WindText, 文本型, 可空, 只返回包含有该标题文本的窗口句柄
.局部变量 Local_hWnd, 整数型
.局部变量 Local_ClassName, 文本型
.局部变量 Local_WindowText, 文本型
.局部变量 Local_NullString, 文本型

清除数组 (WinArray)
Local_NullString = 字符 (0)
Local_hWnd = FindWindowEx (ParentWin, 0, Local_NullString, Local_NullString)
.判断循环首 (Local_hWnd ≠ 0)
    连续赋值 (取空白文本 (255), Local_ClassName, Local_WindowText)
    GetClassName (Local_hWnd, Local_ClassName, 255)
    GetWindowText (Local_hWnd, Local_WindowText, 255)
    .如果真 (Windclass = “” 或 Local_ClassName = Windclass)
        .如果真 (WindText = “” 或 寻找文本 (Local_WindowText, WindText, , 真) ≠ -1)
            加入成员 (WinArray, Local_hWnd)
        .如果真结束
        ' 本源码来自易语言资源网(www.5A5X.com)
    .如果真结束
    Local_hWnd = FindWindowEx (0, Local_hWnd, Local_NullString, Local_NullString)
.判断循环尾 ()
返回 (取数组成员数 (WinArray))

.子程序 Sub_TakeSysVersion, 文本型, , 取系统版本   
.局部变量 Local_OSsinfo, OSVERSIONINFO
.局部变量 Local_dwod, 整数型
.局部变量 Local_RetVer, 文本型

Local_OSsinfo.dwOSVersionInfoSize = 148
Local_OSsinfo.szCSDVersion = 取空白文本 (128)
Local_dwod = GetVersionEx (Local_OSsinfo)
.如果真 (Local_OSsinfo.dwMajorVersion = 6 且 Local_OSsinfo.dwMinorVersion = 0)
    .如果 (Local_OSsinfo.wProductType = #VER_NT_WORKSTATION)
        Local_RetVer = “Microsoft Windows Vista”
    .否则
        Local_RetVer = “Microsoft Windows Server 2008”
    .如果结束

.如果真结束
.如果真 (Local_OSsinfo.dwMajorVersion = 6 且 Local_OSsinfo.dwMinorVersion = 1)
    Local_RetVer = “Microsoft Windows 7”
.如果真结束
.如果真 (Local_OSsinfo.dwMajorVersion = 5 且 Local_OSsinfo.dwMinorVersion = 1)
    .如果 (Local_OSsinfo.wSuiteMask = #VER_SUITE_PERSONAL)
        Local_RetVer = “Microsoft Windows XP Home Edition”
    .否则
        Local_RetVer = “Microsoft Windows XP Professional”
    .如果结束

.如果真结束
.如果真 (Local_OSsinfo.dwMajorVersion = 5 且 Local_OSsinfo.dwMinorVersion = 2)
    Local_RetVer = “Microsoft Windows Server 2003”
.如果真结束
.如果真 (Local_OSsinfo.dwMajorVersion = 5 且 Local_OSsinfo.dwMinorVersion = 0)
    Local_RetVer = “Microsoft Windows 2000”
.如果真结束
返回 (Local_RetVer)

.子程序 Sub_Barheight, 整数型, , 取任务栏高度
.局部变量 Local_RECT, RECT
.局部变量 Local_Height, 整数型

SystemParametersinfo (#SPI_GETWORKAREA, 0, Local_RECT, 0)
Local_Height = 取屏幕高度 () - Local_RECT.Bottom
返回 (Local_Height)

程序调用
.版本 2


‘隐藏  
  Set_Winhandle = _启动窗口.取窗口句柄 ()
    Var_TkbStat = Hide_Taskbar (Set_Winhandle)
‘显示
    Set_Winhandle = _启动窗口.取窗口句柄 ()
    Var_TkbStat = Display_Taskbar (Set_Winhandle)
回复

使用道具 举报

结帖率:87% (20/23)

签到天数: 11 天

发表于 2019-1-13 12:40:46 | 显示全部楼层   广东省东莞市
  直接 代码  隐藏任务栏 ()  显示 任务栏 ()   隐藏桌面 ()   显示桌面()
回复

使用道具 举报

结帖率:98% (59/60)

签到天数: 16 天

 楼主| 发表于 2019-1-13 12:53:50 | 显示全部楼层   辽宁省朝阳市
汉族 发表于 2019-1-13 12:40
直接 代码  隐藏任务栏 ()  显示 任务栏 ()   隐藏桌面 ()   显示桌面()

不需要这样的 就需要我说的那样的  大佬可以帮忙写个吗
回复

使用道具 举报

结帖率:83% (39/47)

签到天数: 16 天

发表于 2019-1-13 13:28:54 | 显示全部楼层   福建省宁德市
联系QQ:1027663760 我做**飞车的时候弄过
回复

使用道具 举报

结帖率:57% (16/28)
发表于 2019-1-13 13:57:48 | 显示全部楼层   河南省许昌市
拒绝伸手党
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则 致发广告者

发布主题 收藏帖子 返回列表

sitemap| 易语言源码| 易语言教程| 易语言论坛| 易语言模块| 手机版| 广告投放| 精易论坛
拒绝任何人以任何形式在本论坛发表与中华人民共和国法律相抵触的言论,本站内容均为会员发表,并不代表精易立场!
论坛帖子内容仅用于技术交流学习和研究的目的,严禁用于非法目的,否则造成一切后果自负!如帖子内容侵害到你的权益,请联系我们!
防范网络诈骗,远离网络犯罪 违法和不良信息举报电话0663-3422125,QQ: 793400750,邮箱:wp@125.la
Powered by Discuz! X3.4 揭阳市揭东区精易科技有限公司 ( 粤ICP备12094385号-1) 粤公网安备 44522102000125 增值电信业务经营许可证 粤B2-20192173

快速回复 返回顶部 返回列表