set focus to java-inputdialog inside webbrowser over vb.net - java

I have a small application with a webbrowser in it. in this webbrowser a webpage is loaded with a JAVA applet. this java applet has input prompts like the one shown in the image
i would need to be able to type a text inside this input dialog over a vb.net button. but i am unable to set the focus onto this input programmatically.
any help appreciated!

There a few way to do that by using hooks. First one is to create local hook with SetWindowsHookEx
SetWindowsHookEx(WH_CALLWNDPROCRET, NativeMethods.HookProc,
IntPtr.Zero, (uint)AppDomain.GetCurrentThreadId());
and listen to WM_INITDIALOG windows messages, then find input textbox and insert required text.
Sample code in Suppressing Hosted WebBrowser Control Dialogs
Second way is to use SetWinEventHook function and hook EVENT_SYSTEM_DIALOGSTART events and rest of processing is the same. You can find sample code in https://github.com/jsulak/Switcheroo/blob/master/ManagedWinapi/AccessibleObjectListener.cs

Related

A program that ask you which web browser you want to use

I want to make a simple program that ask you which browser you want to use.
When you'll click on a link (email or pdf for example), a program will appear instead of the browser and will ask you which browser you want to use.
First : in which code it's the best to write this?
Secondly : How to open the program and not the browser?
I need a bit of help to write this, because i don't know how begin
This is tricky. There is no uniform event for "User clicks on url" that spans all applications.
The most straightforward solution would be to create your application and register it as the default browser.
Personally I would be annoyed by having to select a browser each time I click a link so I would probably make a helper application that when it starts remembers the current default browser and then registers the browser selector as the default. And when the helper closes it would restore the default browser.
My Java is quite rusty but I think this should be possible in either language. Maybe a little trickier in Java due to the lack of a dedicated executable for your application.
For C#:
This will open the url in the default browser:
string url = "http://google.com/";
System.Diagnostics.Process.Start(url);
This will open the url in the specified browser:
System.Diagnostics.Process.Start(#"C:\Program Files\Mozilla Firefox\firefox.exe", url);
There will be an error if the browser does not exist.

Creating a visual user interface to receive text input using java?

I have worked with Java in the past but have never created a visual user interface, only programs that read from the command line. I would like to create an interface that displays a box with text stating the required input on the left and on the right a blank text field that can be read from by the program. This is for a web app I am working on at my internship, I have very little guidance and would really appreciate any help as I am completely lost at this point. The program currently only reads line by line which is obviously unacceptable for a web app.
Thank you so much for any assistance you can offer.
You can use the browser as your user interface. Create an HTML file to create your form for the user to enter data (which they view in a browser like Google Chrome) and submit back to your app. JSP files are the java equivalent of HTML files with optional java code inside. Download the Eclipse IDE and the Tomcat server and run one of the tutorials for creating a web app. Here's a link to start: https://eclipse.org/webtools/community/tutorials/BuildJ2EEWebApp/BuildJ2EEWebApp.html

SWT Browser -- get selected text

I am using a Browser view in my application and i need to get the text selected by user. I tried creating mouse event but nothing is working. I am using following link to create the browser:
http://180.179.103.253/q3/twapp/process.php?mdl=onetimeurl&id=1061&deviceid=9d2aefc2-a386-4afc-b307-44f41ec8311d&test=1
I also checked in documentation, there is no method like getSelectionText() in SWT browser.
you could achieve this by executing java script function in the browser from your View.Write a java script to get the selection the text and execute it in the browser.
Look at the Browser API:
browser.execute(script);
browser.evaluate(script);
Look at BrowserFunction interface for java-javascript call back mechanism

is it possible to access data in a specific window of browser?(Browser is embedded in desktop java application)

I am creating an application in which there will be multiple windows within the browser- many forms will be opened for submission in a single window and each form's target window will be one of the many windows available...
I want to be able to access the response of each form submission, i.e. I want to access content in each window from code in the desktop java application.
Please clarify the following for me-
(1) Is the above scenario achievable in a desktop java application?
(2) Which java browser component should I use, that enables me to access content of a window in the embedded browser?
You can try to use SWT Browser component and then add a listener to intercept links. You can find an example here. This of course will only work if your forms data would be passed using GET params appended to the url.

How to programatically send input to a java app running in a browser window?

Consider the most excellent wordle tag cloud generator:
http://www.wordle.net/create
Entering text into the "textform" textarea and clicking the go button starts up the wordle java applet on that page. No traffic goes back to the server.
How can I cause this to happen programmatically? No hack too cheap!!
background for this question:
"tag cloud" generators?
If you mean starting it programmatically from a browser page, you can use the same type of JavaScript that that page uses, which calls the function Wordle.t() to start the applet.
If you want to call it from a Java program, you can download the Wordle.class or jar file yourself, and call the functions directly.
I'm the creator of Wordle.
In case anyone finds this page in the future, I thought it would be useful to explain that Wordle invokes its applet by constructing an applet tag with a huge <param> containing a sanitized version of whatever text you pasted in. It is the cheapest hack imaginable.

Categories