关于系统默认IE浏览器的一些问题

AddDark 2011-02-24 03:19:21
WINDOWS自带的IE浏览器的运行机制是怎样的

问题一,手动运行系统自带桌面上的IE图标启动IE和点击超链接启动IE,这两种启动方式有什么区别

问题二,如果想判断IE是用户手动双击桌面图标启动的还是点击带http超链接而启动的,应该从那方面做手去处理。
...全文
168 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
AddDark 2011-03-01
  • 打赏
  • 举报
回复
[Quote=引用 10 楼 sysdzw 的回复:]
引用 9 楼 adddark 的回复:
经测试,IE的启动方式是不带参数启动的
是的,从桌面直接启动默认是不带的。BTW结贴吧。
[/Quote]
不光是从桌面启动不带产生,从其他地方启动也不带参数的
无·法 2011-02-27
  • 打赏
  • 举报
回复
[Quote=引用 9 楼 adddark 的回复:]
经测试,IE的启动方式是不带参数启动的
[/Quote]是的,从桌面直接启动默认是不带的。BTW结贴吧。
AddDark 2011-02-26
  • 打赏
  • 举报
回复
经测试,IE的启动方式是不带参数启动的
无·法 2011-02-24
  • 打赏
  • 举报
回复
vb得到进程的启动参数参考文章:
http://blog.csdn.net/sysdzw/archive/2009/11/24/4864995.aspx

很久以前写的了,不知有没有过有效期。
无·法 2011-02-24
  • 打赏
  • 举报
回复
上传了。
http://download.csdn.net/source/3039852

是从卡卡上网安全助手里面取出来的。只有几十k,而且还是绿色的。
AddDark 2011-02-24
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 sysdzw 的回复:]
引用 2 楼 adddark 的回复:

引用 1 楼 sysdzw 的回复:
引用楼主 adddark 的回复:
WINDOWS自带的IE浏览器的运行机制是怎样的

问题一,手动运行系统自带桌面上的IE图标启动IE和点击超链接启动IE,这两种启动方式有什么区别

问题二,如果想判断IE是用户手动双击桌面图标启动的还是点击带http超链接而启动的,应该从那方面做手去处理。
手动运……
[/Quote]

是的,我要在VB程序里判断,我之前考虑过通过判断IEXPLORE.EXE进程来判断,但是如果开了网页再手动点桌面上的IE图标,这样就不对了,因为进程里有IE的进程

你刚才说的能看到IE参数的工具有那些,能否告诉我一下,或者VB能得到IE的启动参数吗?
无·法 2011-02-24
  • 打赏
  • 举报
回复
'另外:
Dim ie As Object
Set ie = CreateObject("internetexplorer.application")
ie.Visible = True
ie.navigate "http://www.baidu.com"

像这种方法启动的话进程后面还是没有参数的。所有只有判断得到它的父进程。所以没有什么100%的方法可以判别出来的。话说楼主你的真正目的是什么呢?
无·法 2011-02-24
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 adddark 的回复:]

引用 1 楼 sysdzw 的回复:
引用楼主 adddark 的回复:
WINDOWS自带的IE浏览器的运行机制是怎样的

问题一,手动运行系统自带桌面上的IE图标启动IE和点击超链接启动IE,这两种启动方式有什么区别

问题二,如果想判断IE是用户手动双击桌面图标启动的还是点击带http超链接而启动的,应该从那方面做手去处理。
手动运行桌面上的ie图标就是直接启动ie进程,父进……
[/Quote]你是想在哪里判断?你的vb程序里?只有截获了,不断监视是否有新进程启动,然后查看它的启动参数。话说点桌面上图标打开的默认是首页,ie启动时先判断有没有参数,如果没有参数则读取自身的配置,例如设置了首页则打开首页。这时你通过一些工具去查看它的进程会发现后面还是没有参数的。 一般的如果在应用程序里打开都会调用iexplore.exe 跟个参数。这时用工具去查看会发现进程后面有一串参数。

vb中打开网页的几种方法:
Private Declare Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" (ByVal hwnd As Long, ByVal lpOperation As String, ByVal lpFile As String, ByVal lpParameters As String, ByVal lpDirectory As String, ByVal nShowCmd As Long) As Long

Private Sub Command1_Click()
' Shell "rundll32.exe url.dll,FileProtocolHandler http://www.baidu.com" '方法1
' Shell "cmd.exe /c start http://www.baidu.com", 0 '方法2
' Shell "explorer.exe http://www.baidu.com", 1 '方法3
ShellExecute hwnd, "open", "http://www.baidu.com", "", "", 1 '方法4
ShellExecute 0, "open", "IEXPLORE.EXE", "http://www.baidu.com", "", 1 '方法5
End Sub


'另外:
Dim ie As Object
Set ie = CreateObject("internetexplorer.application")
ie.Visible = True
ie.navigate "http://www.baidu.com"
king06 2011-02-24
  • 打赏
  • 举报
回复
从桌面上启动,没有传进参数,至于它启动后显示什么,那要看你所使用的浏览器的功能.
从超链接或外部程序启动,一般由外部程序的设计方法决定,比如可以用ShellExecute这个API来直接打开某网页,有些开发工具自己还有打开网页的方法.
AddDark 2011-02-24
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 sysdzw 的回复:]
引用楼主 adddark 的回复:
WINDOWS自带的IE浏览器的运行机制是怎样的

问题一,手动运行系统自带桌面上的IE图标启动IE和点击超链接启动IE,这两种启动方式有什么区别

问题二,如果想判断IE是用户手动双击桌面图标启动的还是点击带http超链接而启动的,应该从那方面做手去处理。
手动运行桌面上的ie图标就是直接启动ie进程,父进程应该就是桌面。点击超链接(从哪里?外部应……
[/Quote]
超链接的有在访问IE时的超链接,也有在读类似WORD文档里的超链接,也有例如QQ群里发的那些网站的超链接。
就是想判断这个IE是手动启动的,还是从超链接的,如果是shell ie路径 url,在IE启动之前通过什么方法能截取掉这些东西
无·法 2011-02-24
  • 打赏
  • 举报
回复
[Quote=引用楼主 adddark 的回复:]
WINDOWS自带的IE浏览器的运行机制是怎样的

问题一,手动运行系统自带桌面上的IE图标启动IE和点击超链接启动IE,这两种启动方式有什么区别

问题二,如果想判断IE是用户手动双击桌面图标启动的还是点击带http超链接而启动的,应该从那方面做手去处理。
[/Quote]手动运行桌面上的ie图标就是直接启动ie进程,父进程应该就是桌面。点击超链接(从哪里?外部应用程序里还是就是浏览器的网页里?),如果是外部应用程序的话应该就是类似于“shell ie路径 + url参数”启动的,如果是网页中的话也差不多。

1,486

社区成员

发帖
与我相关
我的任务
社区描述
VB API
社区管理员
  • API
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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