【JAVA】java言語に関して質問です。

1:InternetSetOption(http://msdn.microsoft.com/library/default.asp?url=/library/en-us/wceinternet5/html/wce50lrfinternetsetoption.asp)を使った、javaでの記述。
構造体が理解できません。java内での設定方法の記述を、より具体的に指摘願います。

2:javaでSWTを使い、IEのブラウザコンポーネントを利用しようと思っていますが、IEにリファラ等の設定項目があるか否か。
あるのであればその変数や使い方などを、より具体的に指摘願います。

3:あるページをjavaのブラウザで表示します。そこにリンクがあり、それをクリックすることができます。もちろんイベントでマウスが乗ったことや、クリックされたことを感知できますが、それをマウスを使わないで自動でクリックすることは可能でしょうか。例えばランキングでよくあるエンターページのEnterを、開いた瞬間にクリックされて次に行けるようにする様な振る舞いです。


以上3点をお願いいたします。
一つのみの回答でもピンポイント回答は別途のポイントも考えてます。
検索して一ページ目に出てくるようなリンクのみなどの回答は求めていません。
ポイントゲッターは家に帰ってください。

回答の条件
  • URL必須
  • 1人3回まで
  • 登録:2006/10/29 18:19:22
  • 終了:2006/11/05 18:20:03

回答(1件)

id:ma-kanoh No.1

ma-kanoh回答回数155ベストアンサー獲得回数42006/10/29 21:46:49

ポイント60pt

1.InternetSetOption

http://java.sun.com/j2se/1.5.0/ja/docs/ja/guide/jni/spec/jniTOC....

JNIを使うという意味ですか。構造体はばらばらに取得します。

でも、おそらく意味合いが違うかと思いますけど、、、InternetSetOptionで設定出来るIEが今現状とは限りませんから。

つーか、HINTERNETはどうやって取るつもりなのでしょうか。

HINTERNETは、要するにブラウザのポインタのはずなのですが。

JavaのJNI仕様そのものはポインタの制御も可能です。

がそもそも存在しないデータをJNIにて生成することは不可能です。

2.Browser制御

org.eclipse.swt.browser.Browser

http://cjasmin.fc2web.com/basic/browser.html

http://dev.eclipse.org/newslists/news.eclipse.platform.swt/msg21...

とかなりますか。ようするにHTTPヘッダを制御できるか

という話でしょうから。

>You could try to use Browser#execute() to execute some >JavaScript on the

>current page that could do that for you, I guess. May be >triggered by a

>LocationListener that would be fired when navigating to a >new URL

だそうです。

3.JavaScript制御

http://help.eclipse.org/help31/nftopic/org.eclipse.platform.doc....(java.lang.String)

JavaScriptをLocationListenerかなんかの時に設定すれば

できる、、のかもしれません。

id:tousyu

前回に続き、回答ありがとうございます。

が、今回は丁寧ですが難解ですね…。

初心者はトンチンカンなことを聞くことが多々ありますが、私が質問出しているものもそうなのかもしれませんね。

リファラ情報の振る舞いや扱いも正確には理解できていませんし、3の回答も解ったような…気がする程度です。

私はただjavaでプロキシを通してアクセスできるブラウザを作りたいだけなのですが…。

やはりローカルサーバを自分自身に立てるしかないんですかね。

2006/10/29 22:14:20
  • id:ma-kanoh
    >私はただjavaでプロキシを通してアクセスできるブラウザを作りたいだけなのですが…。

    org.eclipse.swt.browser.Browser

    で作ればなーんにも考えずにプロキシが通るブラウザは作れますけど、、、

    Eclipse + SWT + VE

    でやれば5分で作れます。

    http://www.atmarkit.co.jp/fjava/rensai3/yonemochi02/yonemochi02.html
    とかを参考にしつつ。ぺちぺちVBのようにはりつけて終わりですから。

    以下のソースで超簡単、プロキシ接続機能つきブラウザの出来上がりです。


    package swtieviewer;

    import org.eclipse.swt.widgets.Composite;
    import org.eclipse.swt.browser.Browser;
    import org.eclipse.swt.SWT;
    import org.eclipse.swt.graphics.Font;
    import org.eclipse.swt.widgets.Display;
    import org.eclipse.swt.widgets.Label;
    import org.eclipse.swt.widgets.Text;
    import org.eclipse.swt.widgets.Button;

    public class swtiecomponent extends Composite {

    private Browser browser = null;
    private Label label = null;
    private Label label1 = null;
    private Text urltext = null;
    private Button button = null;

    public swtiecomponent(Composite parent, int style) {
    super(parent, style);
    initialize();
    }

    private void initialize() {
    this.setFont(new Font(Display.getDefault(), "MS UI Gothic", 10, SWT.NORMAL));
    this.setLayout(null);
    setSize(new org.eclipse.swt.graphics.Point(427,325));
    label = new Label(this, SWT.NONE);
    label.setBounds(new org.eclipse.swt.graphics.Rectangle(0,0,0,12));
    createBrowser();
    label1 = new Label(this, SWT.NONE);
    label1.setBounds(new org.eclipse.swt.graphics.Rectangle(13,11,31,22));
    label1.setFont(new Font(Display.getDefault(), "MS UI Gothic", 12, SWT.NORMAL));
    label1.setText("URL");
    urltext = new Text(this, SWT.BORDER);
    urltext.setBounds(new org.eclipse.swt.graphics.Rectangle(48,10,316,21));
    button = new Button(this, SWT.NONE);
    button.setBounds(new org.eclipse.swt.graphics.Rectangle(374,9,35,23));
    button.setText("OK");
    button.addSelectionListener(new org.eclipse.swt.events.SelectionAdapter() {
    public void widgetSelected(org.eclipse.swt.events.SelectionEvent e) {
    System.out.println("widgetSelected()"); // TODO Auto-generated Event stub widgetSelected()
    //TODO OKボタンのリスナ
    browser.setUrl(urltext.getText());
    browser.refresh();
    }
    });
    }

    /**
    * This method initializes browser
    *
    */
    private void createBrowser() {
    browser = new Browser(this, SWT.NONE);
    browser.setBounds(new org.eclipse.swt.graphics.Rectangle(13,41,398,270));
    }

    } // @jve:decl-index=0:visual-constraint="10,10"

    こんぐらいのソースで(これで全部)
    「基礎的」ブラウザの完了です。そんなに難しくないと思いますけど。。。

    #画像も張りたい。。。。
  • id:tousyu
    むぅ。
    Browserだけを使った簡易ブラウザは試したんですよね。
    確かに簡単に接続はできますし、表示もできるようです。

    調べていく途中で感じたのですが、私がやりたいことを実装するには、
    プロキシの知識のほか、Cookieやリファラの知識も必要のようです…。

    当方学生の身分で、自分への課題~ということでソフト制作を開始したのですが、
    わたくしレベルでは敷地が高いようですね。


    また質問出すと思いますので、その際にma-kanohさんの知識の
    範疇でしたら、お答えいただけますと幸いです!
    それから、質問終了後にもコメントという形で情報提供をいただけたことをありがたく思います。

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません