BCB_FANS(四大名捕之追杀令) 请接招!

jbz 2002-12-20 12:16:34
http://expert.csdn.net/Expert/topic/929/929648.xml?temp=.8954737
上次在关于“托盘图标去掉”的问题上您给出了妙招,在下佩服不已。

我在2000下用您给的代码测试不错。现在我想在98下使用,但98不支持VirtualAllocEx这个函数,所以无法通过。查了MSDN,98下仅支持VirtualAlloc,但不知道如何使用,请赐教。

另外,我在这里:http://www.lynn3686.freeserve.co.uk/desktoprestore.html看到这个老外也解决了这个问题,但上面没有原码,他是这样说的:

2. The Windows NT\2000\XP version uses the virtual memory in the explorer process technique,
3. The Windows 95\98\ME version uses shared memory,

我实际上是要在98下获得其他软件的托盘图标,然后发送双击事件。

先谢谢了,请您百忙中抽空测试一下。
...全文
35 20 打赏 收藏 转发到动态 举报
写回复
用AI写文章
20 条回复
切换为时间正序
请发表友善的回复…
发表回复
jbz 2002-12-30
  • 打赏
  • 举报
回复
程序在运行,缩小到托盘后主窗口不存在了。

用spy能查到一些隐藏的窗口,同时能够用代码找到这个进程所有窗口。

但是,用上面的代码却无法激活其主窗口。

哪位有机会帮忙看看。

MSN Messenger下载:http://messenger.msn.com
免费申请 MSN 帐号:http://register.passport.net

测试时不需要申请帐号。
jbz 2002-12-30
  • 打赏
  • 举报
回复
解决后赠送200分
warton 2002-12-27
  • 打赏
  • 举报
回复
~尽而亡
真经典!
Behard 2002-12-27
  • 打赏
  • 举报
回复
mark
bcb_fans 2002-12-27
  • 打赏
  • 举报
回复
如果只是想激活那个程序,方法倒是有的。

下面代码用来把最小化到托盘的Foxmail放到最前面:

HWND hWnd;

hWnd = FindWindow("TFoxMail_Main",NULL);

if(hWnd != NULL)
{
HWND hOwnerWnd;

hOwnerWnd = GetWindow(hWnd,GW_OWNER);
SendMessage(hOwnerWnd,WM_SYSCOMMAND,SC_RESTORE,0);

// 下面强制把窗口放到最前面,如果不需要这种功能,去掉即可。
SetWindowPos(hWnd,HWND_TOPMOST, 0,0,0,0, SWP_NOMOVE | SWP_NOSIZE | SWP_SHOWWINDOW);
SetWindowPos(hWnd,HWND_NOTOPMOST, 0,0,0,0, SWP_NOMOVE | SWP_NOSIZE | SWP_SHOWWINDOW);
}
jbz 2002-12-27
  • 打赏
  • 举报
回复
该结帐了,看来这个问题太难,请帮忙看看这个:

NMDayTime控件在哪里?
http://expert.csdn.net/Expert/topic/1299/1299777.xml?temp=.6222498
bcb_fans 2002-12-27
  • 打赏
  • 举报
回复
我这里没有MSN Messenger,无法进行测试。

不过只要程序还在运行,就应该有窗口,怎么会没有呢?
jbz 2002-12-27
  • 打赏
  • 举报
回复
BCB_FANS(四大名捕之追杀令):感谢帮忙。

对于您上述所说的方法我已掌握,但是 MSN Messenger 最小化后用FindWindow就不好使,好像其主窗口已销毁......
zhanghk 2002-12-27
  • 打赏
  • 举报
回复
我就不知道为什么会~尽而亡?
jbz 2002-12-21
  • 打赏
  • 举报
回复
期待中...
chonboy 2002-12-20
  • 打赏
  • 举报
回复
^_^
bcb_fans 2002-12-20
  • 打赏
  • 举报
回复
1、那个老外的程序是控制桌面的图标,而不是托盘的图标。

2、在98下面真正的麻烦在于托盘栏并不是ToolbarWindow32空件,那些图标是直接放在TrayNotifyWnd上面的,所以哪些消息失去作用了。
bcb_fans 2002-12-20
  • 打赏
  • 举报
回复
Faint.......
jbz 2002-12-20
  • 打赏
  • 举报
回复
能否换个角度解决问题呢?

比如:能否发送什么消息给另外程序进程把它激活?以 MSN Messenger 为例,大家帮我试试。

我用SPY查看,应该是WM_ACTIVATEAPP消息,可是我没有成功!
kingcom_xu 2002-12-20
  • 打赏
  • 举报
回复
BCB版比VC版有劲!
耙子 2002-12-20
  • 打赏
  • 举报
回复
BCB_FANS是精尽而亡
aawolf 2002-12-20
  • 打赏
  • 举报
回复
错,是香消玉陨
aawolf 2002-12-20
  • 打赏
  • 举报
回复
原来江湖中传说的BCB_FANS是这么死的……
bcb_fans 2002-12-20
  • 打赏
  • 举报
回复
消息当然可以接受,但是是哪些消息跟控制托盘图标有关就不清楚了。TB_XXX消息已经不管用了。
jbz 2002-12-20
  • 打赏
  • 举报
回复
对TrayNotifyWnd就没有办法了?不能接受任何消息?

13,825

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder相关内容讨论区
社区管理员
  • 基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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