永发信息网

C#SHDocVw为何不能获取当前网址

答案:2  悬赏:80  手机版
解决时间 2021-03-16 16:35
  • 提问者网友:且恨且铭记
  • 2021-03-16 12:47
C#SHDocVw为何不能获取当前网址
最佳答案
  • 五星知识达人网友:傲气稳了全场
  • 2021-03-16 14:02
foreach (InternetExplorer ie in shellwindows)
{
string filename = System.IO.Path.GetFileNameWithoutExtension(ie.FullName).ToLower();
if (filename.Equals("explore"))//应该为explorer ,跟踪下就知道原因了
{
MessageBox.Show(ie.LocationURL);
}
}追问问题是shellwindows每次都是没有任何东西!程序没有一次进过foreach, count每次都是0追答写错了,应当是iexplore,你要跟踪看下啊

你不要放在Load那里,放在Buton_Click事件里面看看,我是在按钮点击下就可以获取到当前IE的URL地址;追问一样的。我用的是winform追答我也是啊, 那就是你的代码的问题了,你什么操作系统?我XP下VS2008环境中执行成功!
private void button1_Click(object sender, EventArgs e)
{
SHDocVw.ShellWindows shellwindows = new SHDocVw.ShellWindowsClass();
int count = shellwindows.Count;
foreach (SHDocVw.InternetExplorer ie in shellwindows)
{
string filename = System.IO.Path.GetFileNameWithoutExtension(ie.FullName).ToLower();
if (filename.Equals("iexplore"))
{
MessageBox.Show(ie.LocationURL);
}
}
}追问win7, vs2010。我的代码只实现这个功能,没有其他东西。追答可能与操作系统有关系 ,WIN7权限或者什么的 ,你要不就把你程序设置在.net3.5环境下,重新编译下,然后拿到XP电脑下测试下,先排除系统的原因
全部回答
  • 1楼网友:轻雾山林
  • 2021-03-16 14:21
IE的进程名称是iexplorer不是explorer,explorer是Windows的显示进程。追问问题是shellwindows每次都是没有任何东西!程序没有一次进过foreach, count每次都是0追答你确认窗体加载的是候开着ie么?追问是的。
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯