搜索
热搜: 活动 交友 discuz
查看: 1821|回复: 4
收起左侧

[技术求助] winform下Webbrowser问题

[复制链接]
  • TA的每日心情
    郁闷
    2013-10-11 10:26
  • 签到天数: 2 天

    [LV.1]初来乍到

    发表于 2013-10-29 15:58:16 | 显示全部楼层 |阅读模式
    有个需求:用户使用winform(不是Webbrowser)窗体登录,登录后,有个窗体显示用户的订单信息,打印,取消订单等等功能。并且这些功能可以使用,只想用Webbrowser显示这块的内容,其他内容不显示。 难点是如何设置正好显示这块的内容已经获取cookies问题。。。请高手指点下。。。
  • TA的每日心情
    奋斗
    2019-1-5 01:55
  • 签到天数: 138 天

    [LV.7]常住居民III

    发表于 2013-11-4 13:22:23 | 显示全部楼层
    这个。。。。不容易实现。加载后用脚本隐藏倒是个可以考虑的方式。
  • TA的每日心情
    开心
    2014-1-20 17:56
  • 签到天数: 2 天

    [LV.1]初来乍到

    发表于 2014-1-10 16:00:45 | 显示全部楼层
    就是很不容以实现的。呵呵,用发包方式试试看吧

    该用户从未签到

    发表于 2014-1-20 18:00:09 | 显示全部楼层
    如果我理解不错的话,就是登录进程是winform,但是需要把cookie传送到winform里嵌入的一个WebBrower里去
    这个可以有,参考代码:
            [DllImport("wininet.dll", CharSet = CharSet.Auto, SetLastError = true)]
            public static extern bool InternetSetCookie(string lpszUrlName, string lbszCookieName, string lpszCookieData);

            public static void SetCookie(string url, string data)
            {
                int index = 0;
                while ((index = data.IndexOf(",", index)) > 0)
                {
                    index++;
                    if (data[index] != ' ') { data = data.Insert(index, ","); index++; }
                }
                string[] cs = data.Split(new string[] { ",," }, StringSplitOptions.RemoveEmptyEntries);
                foreach (string c in cs)
                {
                    int i = c.IndexOf("=");
                    InternetSetCookie(url, c.Substring(0, i), c.Substring(i + 1));
                }
            }

    这个WinAPI InternetSetCookie设置的cookie是进程内共享的,因此可以从winform传送到winform内嵌入的WebBrowser.

    该用户从未签到

    发表于 2014-2-17 16:02:58 | 显示全部楼层
    is winforms supports in website like in asp.net?
    您需要登录后才可以回帖 登录 | 入住

    本版积分规则

    申请友链| Archiver| 手机版| 鱼·后花园

    GMT+8, 2024-11-23 16:02 , Processed in 0.023838 second(s), 18 queries , Redis On.

    Powered by Discuz! X3.4

    © 2005-2024 鱼·后花园

    快速回复 返回顶部 返回列表