
c#为何我的程序在自己电脑上可以运行正常 别人那里不行?[ 150
我用c#winform做了一个自动登录论坛的程序,这个程序最大的特点就是自动屏蔽网站弹出的alert窗口我用的是下面的一段代码:IHTMLWindow2ihtmlWin=...
我用c# winform做了一个自动登录论坛的程序,这个程序最大的特点就是自动屏蔽网站弹出的alert窗口
我用的是下面的一段代码:
IHTMLWindow2 ihtmlWin = this.webBrowser1.Document.Window.DomWindow as IHTMLWindow2;
StringBuilder strAlertBuilder = new StringBuilder();
strAlertBuilder.Append("var _alert=window.alert;");
strAlertBuilder.Append("window.alert=function(s){\n");
strAlertBuilder.Append("window.external.alertMessage(s);};window.opener = null;");
//ihtmlWin.execScript(strAlertBuilder.ToString(), "Javascript");
ihtmlWin.parent.window.execScript(strAlertBuilder.ToString(), "Javascript");
//string str = "window.alert = null;\r\nwindow.confirm = null;\r\nwindow.open = null;\r\nwindow.showModalDialog = null;";
//ihtmlWin.execScript(str, "Javascript");
这些是网上找到的
然后我这里运行正常 可以屏蔽掉
但是拷贝给别人电脑 却不能屏蔽弹出窗口 跟本没任何效果(也有个别的成功的但很少) 为什么呢 大家谁遇到过这样的情况的?
是什么原因造成的?谢谢
我给测试的那些电脑都装了 .NETfarmework 2.0 不然也不能运行程序了(本人程序就是在2.0下开发的)
现在是可以运行程序 但是没有预期效果
有些人电脑跟我样 可以有效果 但是大部分人的没有屏蔽效果 展开
我用的是下面的一段代码:
IHTMLWindow2 ihtmlWin = this.webBrowser1.Document.Window.DomWindow as IHTMLWindow2;
StringBuilder strAlertBuilder = new StringBuilder();
strAlertBuilder.Append("var _alert=window.alert;");
strAlertBuilder.Append("window.alert=function(s){\n");
strAlertBuilder.Append("window.external.alertMessage(s);};window.opener = null;");
//ihtmlWin.execScript(strAlertBuilder.ToString(), "Javascript");
ihtmlWin.parent.window.execScript(strAlertBuilder.ToString(), "Javascript");
//string str = "window.alert = null;\r\nwindow.confirm = null;\r\nwindow.open = null;\r\nwindow.showModalDialog = null;";
//ihtmlWin.execScript(str, "Javascript");
这些是网上找到的
然后我这里运行正常 可以屏蔽掉
但是拷贝给别人电脑 却不能屏蔽弹出窗口 跟本没任何效果(也有个别的成功的但很少) 为什么呢 大家谁遇到过这样的情况的?
是什么原因造成的?谢谢
我给测试的那些电脑都装了 .NETfarmework 2.0 不然也不能运行程序了(本人程序就是在2.0下开发的)
现在是可以运行程序 但是没有预期效果
有些人电脑跟我样 可以有效果 但是大部分人的没有屏蔽效果 展开
8个回答
展开全部
个人觉得与Internet高级选项有关,比如是否禁止脚本调试等,你把你们的浏览器都 工具->Internet选项->高级->还原高级设置,保证设置相同再试一下
另外你的代码是不是兼容IE6 IE7,也可能是你们的浏览器版本不同
另外你的代码是不是兼容IE6 IE7,也可能是你们的浏览器版本不同
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你贴的这部分代码,意思是在网页中回调了程序中的方法。也就是把javascript:alert给拦截了,去执行c#中的alertMessage。
我觉得这个跟.Net Framework什么的都没关系,问题出在IE上。WinForm内嵌的Web浏览窗口其内核和配置都是与IE一样的。你再出错的机器上,看看IE的安全选项的设置。在IE看来,此操作为高危操作。
我觉得这个跟.Net Framework什么的都没关系,问题出在IE上。WinForm内嵌的Web浏览窗口其内核和配置都是与IE一样的。你再出错的机器上,看看IE的安全选项的设置。在IE看来,此操作为高危操作。
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
可以百分之百的确定,这与每一个机器的IE设置有关
我在C#中写的winform程序,只要用了它们的与web请求有关的控件,就会现,默认情况下,它会调用当前机器的设置,无论是代理还是安全设置.因此,这与IE设置有关.
我在C#中写的winform程序,只要用了它们的与web请求有关的控件,就会现,默认情况下,它会调用当前机器的设置,无论是代理还是安全设置.因此,这与IE设置有关.
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
可能是由于电脑防火墙或者杀毒软件的关系造成的,建议你试试更改这些设置。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
会不是是别人电脑上的.net framework不够高?
一般人的电脑上是不会装.net framework 3.5的,装个2.0就不错了
一般人的电脑上是不会装.net framework 3.5的,装个2.0就不错了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询