ipxf 发表于 2009-1-30 16:19:04

谁能帮我写个用默认浏览器打开的搜索引擎的代码

像这样的代码
#include <IE.au3>
Switch $CmdLine
        Case "a"
                _IECreate("http://www.baidu.com/baidu?word=" & ClipGet())
        Case "b"
                _IECreate("http://www.google.cn/search?hl=zh-CN&q=" & ClipGet())
        Case "c"
                _IECreate("http://www.youdao.com/search?q=" & ClipGet() & "&ue=gbk&keyfrom=163index ")
EndSwitch
只能用于IE内核的浏览器 而且不指明路径的话打开网页还会有延迟
如果用Opera的话 只能搜索英文 搜索中文的话就是乱码 请高手帮写个直接用默认浏览器访问而不是要指明路径的代码

sxd 发表于 2009-1-30 16:59:53

换成ShellExecute

ipxf 发表于 2009-1-30 17:02:58

我是新手 不太懂哦 换哪里

ipxf 发表于 2009-1-30 17:06:38

谢谢指教 我懂了

ipxf 发表于 2009-1-30 17:37:33

这个怎么弄呢 我改了 但是显示错误
#include <IE.au3>
Global $s
If $CmdLineRaw = "" Then
        Exit
Else
        Switch $cmdline
                Case "a"
                        _ie("http://translate.google.cn/translate_t?hl=zh-CN#en|zh-CN|")
                Case "b"
                        _ie("http://translate.google.cn/translate_t#zh-CN|en|")
                Case "c"
                        _ie("http://translate.google.cn/translate_t?hl=zh-CN#auto|zh-CN|")
        EndSwitch
EndIf
Func _ie($url)
        $s = StringRegExp($CmdLineRaw, "^ (.*)", 3)
        If @Error <> 1 Then
                _IECreate($url & $s, 0, 1, 0)
        Else
                Exit
        EndIf
EndFunc
Func _iex($url, $url2 = "")
        $s = StringRegExp($CmdLineRaw, "^ (.*)", 3)
        If @error <> 1 Then
                _IECreate($url & $s & $url2, 0, 1, 0)
        Else
                Exit
        EndIf
EndFunc

sxd 发表于 2009-1-30 18:11:29

$s 是@error 1匹配不到
编译后 $CmdLineRaw 只显示参数

[ 本帖最后由 sxd 于 2009-1-30 18:14 编辑 ]

ipxf 发表于 2009-1-30 18:15:53

要怎么改啊

sxd 发表于 2009-1-30 18:23:09

你是想做
a.exe a 中文翻译英文

这样的意思?

ipxf 发表于 2009-1-30 18:30:51

yes 就是这个意思

ipxf 发表于 2009-1-30 18:31:42

但是要用默认浏览器 不需要指定路径 Opera也能用的

sxd 发表于 2009-1-30 18:36:38

If $CmdLineRaw = "" Then
        Exit
Else
        Switch $cmdline
                Case "a"
                        ShellExecute("http://translate.google.cn/translate_t?hl=zh-CN#en|zh-CN|" & $cmdline)
                Case "b"
                        ShellExecute("http://translate.google.cn/translate_t#zh-CN|en|" & $cmdline)
                Case "c"
                        ShellExecute("http://translate.google.cn/translate_t?hl=zh-CN#auto|zh-CN|" & $cmdline)
        EndSwitch
EndIf

ipxf 发表于 2009-1-30 19:13:52

我试试 再问下你这个是怎么弄上去的 我打出来的代码怎么没有这个颜色

ipxf 发表于 2009-1-30 19:19:00

试了一下 搜索的内容不能有空格

sxd 发表于 2009-1-30 19:33:20

Dim $I, $str
If $CmdLineRaw = "" Then
        Exit
Else
        $CmdNub = StringSplit($CmdLineRaw, " ")
        Switch $cmdline
                Case "a"
                        For $I = 2 To $CmdNub
                                $str &= $cmdline[$I] & " "
                        Next
                        ShellExecute("http://translate.google.cn/translate_t?hl=zh-CN#en|zh-CN|" & $str)
                Case "b"
                        For $I = 2 To $CmdNub
                                $str &= $cmdline[$I] & " "
                        Next
                        ShellExecute("http://translate.google.cn/translate_t#zh-CN|en|" & $str)
                Case "c"
                        For $I = 2 To $CmdNub
                                $str &= $cmdline[$I] & " "
                        Next
                        ShellExecute("http://translate.google.cn/translate_t?hl=zh-CN#auto|zh-CN|" & $str)
        EndSwitch
EndIf

[ 本帖最后由 sxd 于 2009-1-30 19:45 编辑 ]

ipxf 发表于 2009-1-30 20:10:44

非常感谢 还有一个小问题就是用IE做默认浏览器的话就会弹出一个框框 用其他浏览器都没问题了 不过也不碍事
页: [1]
查看完整版本: 谁能帮我写个用默认浏览器打开的搜索引擎的代码