如何实现IE右键启动我的程序(象NetAnts),主要是Automation部份如何做? (200分)

  • 主题发起人 主题发起人 shang_yan
  • 开始时间 开始时间
S

shang_yan

Unregistered / Unconfirmed
GUEST, unregistred user!
我要做一个象netAnts一样的软件,可以通过IE右键菜单启动.
别只是告诉我要写注册表,要写一个VBScrip文档,或是写一个dll,这些我都知道了.
关键是,那个dll该怎么写?
我做了一些实验,并且是直接将我的Exe文件做成了一个Automation object,能在Ie中启动,
却瞬间就关闭了,不知该问题如何解决. 我知道是com对象的引用计数问题,要运行一次_AddRef,
可代码该怎么写呢?能给一些简单的代码或示例吗
十万火急,在线等待
 
应在注册表中改呀!
 
delphi里操作com问题比较多
某些时候都不知道要不要手动调用_addref和_release
 
to Alix88: 我知道要操作注册表,但我不知道如何写那个dll;
 
高手快出现吧!!!
 
这么高深呀,我可不会
 
http://www.delphibbs.com/delphibbs/dispq.asp?lid=0940110
 
to zw84611:
这个贴子我已看过,里面讲的我已明白,而且都差不多做到了.
我的问题不是怎么加那个右键,或是怎么才能启动我的可执行文件.....
而是我的可执行文件通过IE右键菜单启动成功后,又迅速关闭了.我不知道如何解决这个问题.
而且我已掌握了如何将IE中的url,或是其它内容传入我的程序,我主要是不知道具体解决
"OLE自动化服器自动退出问题"!!!!!!!!
不过还是要谢谢你的热心帮助.
 
照上面的做,不应该有问题。可能是你程序的其它地方有问题。
 
不是我程序中的问题。
程序自动退出是正常的。因为当IE右键菜单指向的VBScrip代码执行完后,相当于客户端已退出。客户端既然退出,作为
ole服务器也会自动退出的。我看了一些资料,说如果要com服务器不随客户端退出,就要人为的
运行一次addref,以人为地增加自动化对象的引用计数。
我不知道如何具体实现。
还有一点我不明白,为什么象netants,flashget等软件一定要自动化对象做在dll中,经我的实验
其实完全可以直接将自动化对象做在EXE文件中,奇怪

 
欢迎讨论
 
不会呀,我怎么没有碰到这个问题
 
zw84611, 请留下你的email或QQ,我把代码发给你
 
我已将我的代码放到了:http://www.playicq.com/dispdocnew.php?t=27&id=3249
有兴趣的朋友可以下载研究。
 
我没下,但我看到有一条评论是:
“不是退出,而是退到后面去了。被IE的窗口给遮盖了 ”

如果确实如此,你用 ShowModal 代替 Show 就可以了。
 
showmodal好像也不行。你试试flashget,在IE中用右键打开flashget之后,他的那个下载窗口
就会被IE本身给盖住。这个问题我也无法解决。
 
接受答案了.
 
后退
顶部