Select Input:File programmatically in Webbrowser control VB.net 2010 - vb.net

I have a website where I am filling form data through VB.Net 2010 through WebBrowser control.
I am able to set value for input:text, input:password, checkbox, select and able to submit form.
But I am not able to select input:file programmatically. I am also able to open
"Choose a File" Dialog.
How can I send file name to select and press OK button from VB.Net Code?

I am pretty sure this is a browser security feature to prevent malicious web-sites from auto-uploading random files from the user's website to themselves. Consider how dangerous it would be if any website could pull arbitrary files off the user's computer without any explicit action from the user.
Your best bet is probably going to be dumping the Web Browser control since it will limit you to its security model. Instead consider directly getting the web page and posting a response within your application.
The following .NET namespaces should come in handy for that:
System.Net.HTTPWebRequest
System.Net.TTPWebResponse

Related

How to use vba to switch between open tabs in Lotus Notes?

I'm currently trying to generate multiple forms in lotus notes via VBA in a specific database and send them for processing. Due to several notes scripts running when creating/processing the various forms, the only theoretical way that I can imagine this to work would be to have the user open a form, so that the VBA script can tell it to do copies through a button in the form (via the Windows API), then cycle through the open forms, fill them out and submit them one by one.
So far so good, but I'd need to be able to cycle through all the open forms in Notes in order to find the form I want to fill out and set is as active window. I can't seem to find any API that allows a user to go through all the open tabs in a notes window. Would anyone be able to help me on this one, please?
Many thanks in advance.
What you want to do is not possible. There is no way to "cycle" windows via code in Lotus Notes / IBM Notes.
Better turn around your processing: Instead of opening a form for editing just fill it in the backend. Then you don't need Windows API- calls and the Clipboard at all.
of course you can open the filled form afterwards to let the user fill in additional information, but this is not necessary at all as you can also save the document in backend.

VB.Net button open multiple user and auto login in different window of IE

I have a website stored 100 users ....now i want to create a VB form with 100 buttons ....while i click button1, it will open IE then log in users1 automatic and when i click button2 , it will open IE then log in as user2 automatic. user3 until user100 the same ....click from button on vb form.
Note : i am already done to set open IE and log in as different users in each windows but now i am finding how to set auto log in with different users in the same website when i click each button in form.
i have something more about form....i will use ( 100 button click = 100 users = 100 IE window ....)
it depend on user click on button that he need to log in......because we don't know that what button/users/time will he want to click .....
I really need your help urgently...
Thank in advanced.
here is some code of Button_Click
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
Using p As New Process
p.StartInfo.FileName = "C:\Program Files\Internet Explorer\iexplore.exe"
p.StartInfo.Arguments = "http://test.com"
p.Start()
End Using
This is the only way I can come up with on how to solve this.
My guess is that your login is using POST variables, it's pretty much standard.
To make this work you would have to allow the username and password to be supplied with GET. That is, sending them in the url like this:
http://test.com/login.php/asp?username=username&password=password
Since you haven't specified whether you use PHP or ASP.NET I will add info on how to get the value for both:
ASP.NET
Request.Querystring("username")
PHP
$_GET["username"];
EDIT based on comment
You are correct it is not possible to isolate separate webbrowser controls.
I would suggest you look into either WaTin to control separate IE instances, or Awsomium .NET, which i believe allows separate sessions in 1.7, though i haven't tested it.
Also be aware that since IE8 session cookies are shared across instanced by default, so you would need to run them with the -nomerge flag. WaTin supports this.
Based on the fact that you have not mentioned this in your question, i am presuming you are using IE7. If that is the case, and this application is not intended to be used on other machines, it should be possible to create a separate application with an embeded webbrowser control, then launch multiple insatances of that application from the main one, so you can add your own communication mechanism, but WaTin is probably a far better idea
OLD ANSWER:
It is very hard to work out what you want to do, but im guessing you want to create a winforms app, that lets you to choose a user account, and then open a browser and login to a website with that account.
Based on that assumption, my suggestion would be to have one button, and some way of selecting the account, say a comboBox, and a webbrowser control:
http://img198.imageshack.us/img198/888/66649645.jpg
Rather than 1 button per user account and trying to manipulate an external browser.
If this is indeed what you want to do, comment and i will edit my answer as required, and provide starting code if you need, but i cant do that without really undertanding what you need to do.

Form won't open in Sharepoint Designer 2010

I'm using Sharepoint Designer (2010) to develop a series of connected lists.
I have a number of child-lists and I use the "DispForm.aspx" of my main list to add these 'children'.
Recently the DispForm.aspx has stopped opening in Sharepoint Designer. Clicking it from the list's main page goes into the Form view, but the page never loads and I get no error messages.
Since I can't see the Code window I can't make any changes, even though the page works fine in the browser and I can perform (limited) edits directly on the website through Sharepoint.
Has anyone got any tips on what I could try, or any way of accesing the code in DispForm.aspx if I can't open it in Sharepoint Designer?
Not a fix as such, but I got around this by mapping a drive to the sharepoint site and using notepad++ to edit the file directly.
If you browse the lists folder and the list you are interested in you will see the display, new, edit forms in there
S

Pop up Alerts in moss 2010 Intranet site

I need to create alerts to group/all employees in my site.To my site home page basing on the data pushed into "custome list" by administrator in moss 2010 intranet site.So can any one suggest steps to acheive this.Hoping quick replys...
Create a simple workflow using SharePoint designer and send out alerts/notification emails to the users in the group when something happens in your list (like a costume worth more than 100 bucks is entered etc..). You can trigger this notifications workflow in many scenarios.
See this link.
Check out this video on how to create workflows using designer.
Having said that, if you need a pop-up or a message box to appear when a user visits the site (and ofcourse when something changed on your list) then you have to write code in the load event of the page/any web part on the page to display popup. SharePoint 2010 has Javascript API which makes it easy for you to display pop-up or you can do this totally in the code.

Making Textbox type into a textbox?

I'm a noob to VB.NET and I was wondering how to make something you type into a textbox on the application type that text into a website textbox and submit whats in the textbox by pressing a button? I am using visual studio 2008.
That is a little tricky to do, but it is possible. However, without more details on the specific browser or what you are trying to copy over, you aren't going to get a lot of answers on here.
Better Suggestion: Have you considered instead of trying to control the browser via "voodoo", that you might just have your VB.NET application submit the form/request directly to the web server and cut out the middle-man (the browser)?
I'm assuming you're trying to POST data to a web form from some other application. Check this out; it's in C# but you can translate it to VB.NET. It uses a WebBrowser control and the SetAttribute method to set input values on the web form.
// C#
WebBrowser browser;
...
browser.Document.GetElementById("username").SetAttribute("value", "MyUsername");
...
form.InvokeMember("submit");