我不知怎么样才能将所选择的窗口在 任何栏 上的图标也干掉????

HYP2003 2003-11-12 07:11:59
??????????????????????????????????????
请教各位高手一个问题:

最近我写了个SDK程序:是为了防止公司领导发现你在上班的时间看电子书籍的小工具(我们公司很恶心,上班没事的时候也不能看电子书籍的,当然也不能上网了),这个工具有点类同于VC自带的那个Spy++的小程序,可以将你选择的窗口的标题栏剪掉(这是最主要的功能),但是我不知怎么样才能将所选择窗口在任何栏上的图标也干掉。这样可以彻底骗过领导的眼睛。
我查了一下msdn:
ShowWindow(hwnd,SW_HIDE);这知代码可能做到这一点,但它将窗口也完全隐藏了,这不行,我还想看点东西呢?
另外我试着用下面的代码:
SendMessage(hwnd,TCM_DELETEITEM,(WPARAM)index,0);同样也可以实现这样的功能并且窗口也能正常显示,但该窗口有激活时会重画,它又会在任务栏上显示出来?很是无奈??

如果大家有兴趣我可以把代码也贴上来,
...全文
55 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
HYP2003 2003-11-12
  • 打赏
  • 举报
回复
BOOL MyTaskBarDeleteIcon(HWND hwnd, UINT uID)
{
BOOL res;
NOTIFYICONDATA tnid;

tnid.cbSize = sizeof(NOTIFYICONDATA);
tnid.hWnd = hwnd;
tnid.uID = uID;

res = Shell_NotifyIcon(NIM_DELETE, &tnid);
return res;
}
老兄,这个不行吧,这个是在status area栏控制icon的,我现在需要的是在taskbar上删除图标,就是那个程序在启动后在任务栏上的那个图标。
huanyun 2003-11-12
  • 打赏
  • 举报
回复
CoCreateInstance CLSID_TaskbarList IID_ITaskbarList.
huanyun 2003-11-12
  • 打赏
  • 举报
回复
BOOL MyTaskBarDeleteIcon(HWND hwnd, UINT uID)
{
BOOL res;
NOTIFYICONDATA tnid;

tnid.cbSize = sizeof(NOTIFYICONDATA);
tnid.hWnd = hwnd;
tnid.uID = uID;

res = Shell_NotifyIcon(NIM_DELETE, &tnid);
return res;
}
试试这个先
HYP2003 2003-11-12
  • 打赏
  • 举报
回复
ITaskbarList::DeleteTab()

这个东东怎么用呀?我对COM不懂的,另外有什么好的COM书籍用吗?还有shell编程的电子书籍?
在此多谢了?

你是哪里的呀?做VC几年了?
huanyun 2003-11-12
  • 打赏
  • 举报
回复
没有 感觉毕竟我没有写代码测试
你不妨两种都试试
HYP2003 2003-11-12
  • 打赏
  • 举报
回复
你为什么说SetWindowLong()是在内部调用DeleteTab(),有什么依据吗?这是个API,又不能track?
huanyun 2003-11-12
  • 打赏
  • 举报
回复
呵呵 SetWindowLong(m_hWnd,GWL_EXSTYLE,WS_EX_TOOLWINDOW);
是在程序内部调用
ITaskbarList::DeleteTab


HRESULT DeleteTab(
HWND hwnd
);
就是自由多了
HYP2003 2003-11-12
  • 打赏
  • 举报
回复
ModifyStyleEx(WS_EX_APPWINDOW,WS_EX_TOOLWINDOW);
SetWindowLong(m_hWnd,GWL_EXSTYLE,WS_EX_TOOLWINDOW);
这个是不行的,我试过了,你说的前面的那个办法应该是可以的。你说呢?
huanyun 2003-11-12
  • 打赏
  • 举报
回复
点击管理 就可以给分了
huanyun 2003-11-12
  • 打赏
  • 举报
回复
ModifyStyleEx(WS_EX_APPWINDOW,WS_EX_TOOLWINDOW);
SetWindowLong(m_hWnd,GWL_EXSTYLE,WS_EX_TOOLWINDOW);
HYP2003 2003-11-12
  • 打赏
  • 举报
回复
谢谢高手,思路有了。怎么给你加分??
huanyun 2003-11-12
  • 打赏
  • 举报
回复
ITaskbarList是任务栏的管理接口
HYP2003 2003-11-12
  • 打赏
  • 举报
回复
怎么没有高手回答呀?还是问题太简单?还是人气不足呀?
huanyun 2003-11-12
  • 打赏
  • 举报
回复
ITaskbarList::DeleteTab


HRESULT DeleteTab(
HWND hwnd
);

16,551

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • Creator Browser
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

试试用AI创作助手写篇文章吧