• 0

Passing a window some text?


Question

Is there anyway to do this, I was thinking with VB (I have been out of the programming scene for about 2 years now) but I was most comfortable with VB.

We run Domino Server at work on a few systems, What I want to be able to do is write a program or script that will shutdown the service, Copy some files (Backup) and restart the service. That sounds easy right . . . However when the service starts it opens the console and prompts for a password which at the moment we have to manually type in (Which is a nightmare to schedule). Is there a way I can write the program to it grabs the window effectively and passes it the password, i.e it emulates a person typing in the password????

Link to comment
Share on other sites

2 answers to this question

Recommended Posts

  • 0
Is there anyway to do this, I was thinking with VB (I have been out of the programming scene for about 2 years now) but I was most comfortable with VB.

We run Domino Server at work on a few systems, What I want to be able to do is write a program or script that will shutdown the service, Copy some files (Backup) and restart the service. That sounds easy right . . . However when the service starts it opens the console and prompts for a password which at the moment we have to manually type in (Which is a nightmare to schedule). Is there a way I can write the program to it grabs the window effectively and passes it the password, i.e it emulates a person typing in the password????

Hello, you want to allow your application to send "Window Messages". As I recall, you must write your code so it can interact with "user32.dll" which exports the send messages function. There are a lot of examples online, such as this Window Messages in VB.NET. That should be enough to get you started.

Link to comment
Share on other sites

  • 0

Are you using VB.NET or VB6? In VB.NET you can use the SendKeys.Send method. Here is some documentation on how to use it. You'd have to first use the FindWindow API to grab the window handle from the window in question (the one with the password) and then use the SetForegroundWindow API to set focus on that window (make it active/in front) so when the SendKeys.Send method is invoked, all the data will be sent to that window.

All of these APIs are well documented so that should be enough to get you started.

Alternatively, you could use something like AutoHotKey to do the same thing if you find figuring all that out to be too difficult.

Other useful info: You can also use the SetWindowText API for specific apps to change the text of text boxes, labels, and other GUI-oriented objects if you've got the window handle (aka hWnd). You can use Spy++ to see how different windows have different handles/class names (use FindWindow to get the handle by the window's title). You can also get handles by enumerating processes and getting a list of child windows and such too. It's a lot of fun learning to be honest -- messed with all these APIs when I was 16-17 when I still used VB6 a lot.

You can use Message.Create in VB.NET and C# to send messages to windows (given you know the handle) to terminate them, set window styles, change visibility, force form events to occur, etc.. as well.

Edited by Se7enVII
Link to comment
Share on other sites

This topic is now closed to further replies.
  • Recently Browsing   0 members

    • No registered users viewing this page.