浏览器右键菜单启动自己写的程序中的种种问题

鸣宇淳
博客专家认证
2009-08-31 01:56:56
我正在做一个东西,它是在浏览器右键菜单中添加一项,名为“采集订单”,我想点击这个采集订单,就可以启动自己的一个程序。
目前,我已经把采集订单加到了右键菜单中,点击也能启动一个用做例子的的程序。点右键菜单调用的是vbscript,自己程序用的是C# 。有两个难题问题需要解决:

1.我怎么在点击右键菜单时,把当前网页的URL传给自己的程序;

2.我怎么在自己程序处接收到传过来的URL;

注:我是用VbScript调用的自己的程序,目前代码如下:

<script language="VBScript">
Sub AddLink()
On Error Resume Next

set shell = CreateObject("Wscript.Shell")

shell.Run "f:Demo.exe"

end sub

Sub OnContextMenu()

Call AddLink()

end sub

call OnContextMenu()
</script>
...全文
125 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
鸣宇淳 2009-09-01
  • 打赏
  • 举报
回复
哦,解决了,原来在Winform里给主函数main()加上个参数string[] args就行了

public static void Main(string[] args)
{
if (args.Length == 1)
{
MessageBox.Show(args[0].ToString());
}
else
{
MessageBox.Show("没有参数传过来");
}

App app = new App();
app.Run();
}
鸣宇淳 2009-09-01
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 xxbd123 的回复:]
main方法里不是可以接受参数吗


static void Main(args [] )
{
args[0]就是了
}

alert(external.menuArguments.location);

这个你试试能不能获取到你鼠标右键单击以后的超链接
[/Quote]
你这个是控制台应用程序,很好用。但我的程序是Windows应用程序,请问大家,应该怎么弄呢?
xxbd123 2009-08-31
  • 打赏
  • 举报
回复
main方法里不是可以接受参数吗


static void Main(args [] )
{
args[0]就是了
}

alert(external.menuArguments.location);

这个你试试能不能获取到你鼠标右键单击以后的超链接
ChrisAK 2009-08-31
  • 打赏
  • 举报
回复
<script language="VBScript">
'Great thanks to Vladimir Romanov(Author of ReGet Pro)

On Error Resume Next
set JetCarCatch=CreateObject("FG2CatchUrl.Netscape")
if err<>0 then
MsgBox("FlashGet not properly installed!"+ vbCrLf+"Please Install FlashGet again")
else
set links = external.menuArguments.document.links
set img = external.menuArguments.document.getElementsByTagName("img")
set obj = external.menuArguments.document.getElementsByTagName("param")
Dim num
num=links.length+img.length+obj.length

ReDim params(num*2)
params(0)=external.menuArguments.document.Url
for i = 0 to links.length-1
params(i*2+1)=links(i).href
params(i*2+2)=links(i).innerText
next
for j = 0 to img.length-1
params(j*2+1+links.length*2)=img(j).src
params(j*2+2+links.length*2)=img(j).alt
next
for k = 0 to obj.length-1
params(k*2+1+links.length*2+img.length*2)=obj(k).value
params(k*2+2+links.length*2+img.length*2)="swf"
next

JetCarCatch.AddUrlList params
end if
</script>
flashget的例子...LZ自己琢磨下吧.
另外,所谓高手不会一天没事收在这儿给你答题的.
鸣宇淳 2009-08-31
  • 打赏
  • 举报
回复
人家都说csdn高手如云,半天了,也没个露面的

110,539

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

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