|
Hi,
you should not send anything to "all windows" or "all applications". A lot of applications and windows are meant for human interaction only, and may suddenly display a dialog, where some of not all keys get interpreted the same as clicking the OK button. You cannot possibly want that.
you should send a keystroke or a sequence of keystrokes to a single window, after making sure you got the right window; and even that is not always fool proof, as it may change soon after you've checked.
There are a couple of ways to do it:
- System.Windows.Forms.SendKeys.SendWait() sends keys to the active app and window;
- SendMessage() could be used to send regular Windows messages such as WM_KEYDOWN and WM_KEYUP.
The former is managed but unsafe as, even when you get the ForeGroundWindow's title text and check it, the active window may change suddenly; the latter is a bit harder to use but should always be OK. I use both, and choose depending on circumstances.
Luc Pattyn [Forum Guidelines] [Why QA sucks] [My Articles]
I only read formatted code with indentation, so please use PRE tags for code snippets.
I'm not participating in frackin' Q&A, so if you want my opinion, ask away in a real forum (or on my profile page).
|
|
|
|
|
Find a way to have App2 tell App1 that it wants these events.
|
|
|
|
|
Take a look at these articles here and here.
Life is a stage and we are all actors!
modified on Thursday, June 3, 2010 5:22 PM
|
|
|
|
|
APP2 was not to be changed.
Luc Pattyn [Forum Guidelines] [Why QA sucks] [My Articles]
I only read formatted code with indentation, so please use PRE tags for code snippets.
I'm not participating in frackin' Q&A, so if you want my opinion, ask away in a real forum (or on my profile page).
|
|
|
|
|
I didn't understand the question completely, I've thought that it's about top level windows, which is wrong.Unfortunately SendKeys works only with active application so maybe enumerating all top level windows and their child controls is required so I would strike my previous post.
Life is a stage and we are all actors!
|
|
|
|
|
Enumerate all processes
See if the process has a UI(to distinguish from other background processes)
The code will be like
For Each x As Process In Process.GetProcesses
If x.MainWindowTitle <> "" And x.MainWindowTitle <> Me.Text Then
AppActivate(x.Id) 'If you know the application's title, AppActivate("Title") will also work
SendKeys.SendWait("KEYS YOU WANT TO SEND")
End If
Next
AppActivate(Me.Text)
|
|
|
|
|
|
Each Assembly entry also has a list of referenced assemblies that can be retrieved via GetReferencedAssemblies. It's not quite as simple as just walking through these items to ensure you've satisfied all the assembly constraints because one of the assemblies might be loading things through an IoC container.
"WPF has many lovers. It's a veritable porn star!" - Josh Smith As Braveheart once said, "You can take our freedom but you'll never take our Hobnobs!" - Martin Hughes.
My blog | My articles | MoXAML PowerToys | Onyx
|
|
|
|
|
|
I don't know; I have some ideas though:
1.
can you avoid file:///G:\MSE\VisionC... and try a simple G:\MSE\VisionC...
2.
I've never called (T)requestedType.GetConstructors()[0].Invoke(null);
I tend to go with Activator.CreateInstance for historic reasons.
Luc Pattyn [Forum Guidelines] [Why QA sucks] [My Articles]
I only read formatted code with indentation, so please use PRE tags for code snippets.
I'm not participating in frackin' Q&A, so if you want my opinion, ask away in a real forum (or on my profile page).
|
|
|
|
|
|
I have code that creates a type, then instantiates it, so it basically consists of:
TypeBuilder typeBuilder = modBuilder.DefineType("Hello", TypeAttributes.Public, typeof(object), new Type[] { typeof(IHello) });
Type type = typeBuilder.CreateType();
...
IHello hello = (IHello)Activator.CreateInstance(type);
hello.SayHello("...");
Historic reasons typically are: that is how I did it the first time, it worked for me, and I continued doing it that way.
Luc Pattyn [Forum Guidelines] [Why QA sucks] [My Articles]
I only read formatted code with indentation, so please use PRE tags for code snippets.
I'm not participating in frackin' Q&A, so if you want my opinion, ask away in a real forum (or on my profile page).
|
|
|
|
|
|
I don't load DLLs in this context, I create the types I'm interested in on the spot. With lots of ILGenerator.Emit(). Sorry.
Luc Pattyn [Forum Guidelines] [Why QA sucks] [My Articles]
I only read formatted code with indentation, so please use PRE tags for code snippets.
I'm not participating in frackin' Q&A, so if you want my opinion, ask away in a real forum (or on my profile page).
|
|
|
|
|
|
When using reflection, I suggest you use interfaces as much as possible. When the dynamic types implement a static interface, it becomes a lot easier to call the methods that are part of said interface.
Luc Pattyn [Forum Guidelines] [Why QA sucks] [My Articles]
I only read formatted code with indentation, so please use PRE tags for code snippets.
I'm not participating in frackin' Q&A, so if you want my opinion, ask away in a real forum (or on my profile page).
|
|
|
|
|
|
I mean non-dynamic, known from day one, included in your EXE, hassle-free, aka "normal".
PS: a base class could offer the same advantages of course.
Luc Pattyn [Forum Guidelines] [Why QA sucks] [My Articles]
I only read formatted code with indentation, so please use PRE tags for code snippets.
I'm not participating in frackin' Q&A, so if you want my opinion, ask away in a real forum (or on my profile page).
|
|
|
|
|
|
You're welcome.
Luc Pattyn [Forum Guidelines] [Why QA sucks] [My Articles]
I only read formatted code with indentation, so please use PRE tags for code snippets.
I'm not participating in frackin' Q&A, so if you want my opinion, ask away in a real forum (or on my profile page).
|
|
|
|
|
Hi
How to read values from ParameterInfo?
public void OnThreadException(object sender, ThreadExceptionEventArgs t)
{
MethodInfo aaa = ((MethodInfo)(t.Exception.TargetSite));
ParameterInfo[] sss = aaa.GetParameters();
//how to get values of sss array list?
LogTrace.LogMessage(t.Exception.ToString());
}
Thanks
Anand
|
|
|
|
|
|
I've written a client with common send/receive code for interaction with RESTful services. The code works, but I have a strange problem in one case. When POSTing to a REST service with HTTP body content of type application/xml the request gets to the server but does not include the session cookie. Yes, I have a common CookieContainer that is attached to the request before sending...logging proves that the cookie is in place.
Server traces show all other requests, both GET and POST, working successfully WITH the session attached. If I remove the body from this specific POST then server traces show the request WITH the session and then I receive an invalid content error (as I would expect). This is the only POST in the app at this point that carries body content.
Now for the really weird part...when debugging, if I break at the GetResponse() method and wait for 8-10 seconds before executing, it works...the server traces show the request WITH the session.
Any ideas? Is there a bug in the HttpWebRequest code? Why in the world would it work after pausing?
|
|
|
|
|
i am not able to connect ftp using ssl.i am getting following error,
The underlying connection was closed: The server committed a protocol violation.
i have searched a lot but not getting any solution. please help me
|
|
|
|
|
By binging your error message I have found two solutions,
I am not sure whether it is working or not.
Just try it out...
1. Add following statement to your code
myftpRequest.EnableSsl= true;
2. Add following code to your config file.
<system.net>
<settings>
<httpWebRequest useUnsafeHeaderParsing="true" />
</settings>
</system.net>
HTH
Jinal Desai - LIVE
Experience is mother of sage....
|
|
|
|