WebBrowser UserAgent変更する機能


今井  2009-12-11 15:42:58  No: 142983  IP: 192.*.*.*

WebBrowser UserAgent変更する機能をつけたいのですが

任意のuseragentを設定することはできますでしょうか?

宜しくお願いします。

編集 削除
オショウ  2009-12-11 15:53:49  No: 142984  IP: 192.*.*.*

検索したら、こんなのありました。

http://fine.ap.teacup.com/hepo/28.html

こういうことがしたいのでしょうか?

以上。参考まで

編集 削除
今井  2009-12-11 18:24:45  No: 142985  IP: 192.*.*.*

オショウ様アドバイスありがとうございます。
C#で早速つくってみたのですが、ん〜
診断君でみても、変化なしですねぇ。

もうすこし、ご指導いただけませんか?

編集 削除
魔界の仮面弁士  2009-12-11 19:57:34  No: 142986  IP: 192.*.*.*

VB2008/IE8/WinXP にて動作確認


Private Declare Sub UrlMkSetSessionOption Lib "urlmon" _
    (ByVal dwOption As Integer, ByVal pBuffer As String, _
     ByVal dwBufferLength As Integer, _
     ByVal dwReserved As Integer)

Private Sub Form1_Load(ByVal sender As Object, ByVal e As EventArgs) Handles MyBase.Load
    Const URLMON_OPTION_USERAGENT As Integer = &H10000001
    Dim userAgent As String = Now.ToString("yyyy/MM/dd HH:mm:ss.ffff")
    UrlMkSetSessionOption(URLMON_OPTION_USERAGENT, userAgent, userAgent.Length, 0)
End Sub

編集 削除
今井  2009-12-12 16:20:19  No: 142987  IP: 192.*.*.*

作ってみましたが、診断君で確認してもかわりません、ソース記入します。

フォーム内にブラウザを設置  のみです。

宜しくお願いします。



Public Class Form1

    Private Declare Sub UrlMkSetSessionOption Lib "urlmon" _
(ByVal dwOption As Integer, ByVal pBuffer As String, _
 ByVal dwBufferLength As Integer, _
 ByVal dwReserved As Integer)


    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        'メインフォーム
        Const URLMON_OPTION_USERAGENT As Integer = &H10000001
        Dim userAgent As String = Now.ToString("yyyy/MM/dd HH:mm:ss.ffff")
        UrlMkSetSessionOption(URLMON_OPTION_USERAGENT, userAgent, userAgent.Length, 0)
        MsgBox(userAgent)

    End Sub

    Private Sub WebBrowser1_DocumentCompleted(ByVal sender As System.Object, ByVal e As System.Windows.Forms.WebBrowserDocumentCompletedEventArgs) Handles WebBrowser1.DocumentCompleted
        'ブラウザ

    End Sub



End Class

編集 削除
魔界の仮面弁士  2009-12-13 18:17:32  No: 142988  IP: 192.*.*.*

>> VB2008/IE8/WinXP にて動作確認
> 作ってみましたが、診断君で確認してもかわりません、
う〜む。環境の違いでしょうかね…?
あるいは、内部の ActiveXInstance の生成タイミングの問題?

> ソース記入します。
UrlMkSetSessionOption を Function に変更して、戻り値を調べてみてください。
  Const S_OK As Integer = 0
  Cosnt E_INVALIDARG As Integer = &H80070057
のうち、S_OK が返されますか?

また、Load 時ではなく、Navigating イベントで設定してみるというのはどうでしょうか。

編集 削除
今井  2009-12-14 17:59:56  No: 142989  IP: 192.*.*.*

環境がVISTA  VB2008です。

スイマセンうまくいかないので、ソースをぺたっとはってもらえますか?
もしくは、ファイルをどっかに上げてもらうとかできますか?

ほんとうにすいません。

編集 削除