On Mar 16, 2011, at 8:37 AM, Quandary wrote: > Hi, > > Question: > Is System.Windows.Forms.SendKeys implemented and working on Ubuntu Linux ? > > I try to control JD-GUI with it, but the keys don't arrive, neither do they > arrive in gedit. > They do arrive in Notepad on Windows using the same program, and they work > with JD-GUI on Windows, using the same program. > > Or does it need any library installed, such as XTest/XFakeEvent ? > > > And BTW, Microsoft.VisualBasic.Interaction.AppActivate("Window Title") throws > not implemented... > > You can use the functions: > static Window FindWindow(Window top, char *name) > static void GetFocusedWindow(void) > From xvkbd -> in file xvkbd.c > Basically, all you need to do is save the mouse position, find the target > window position & rectangle, and press the left mousebutton somewhere on it > with mousedown & mouseup via xsendevent, then restore the mouse position. > > I can supply left + right mousedown + mouseup, > I have appended cMouse.cs and the dependencies: XorgAPI + XorgStructs. > > And when I loop through all processes, as shown below, I don't get a > WindowTitle anywhere... > (using mono 2.10.1 on Ubuntu) > -------------------------------------------- > > public void GetProcesses() > { > System.Diagnostics.Process[] processlist = > System.Diagnostics.Process.GetProcesses(); > > string str = ""; > foreach(System.Diagnostics.Process theprocess in processlist) > { > Console.WriteLine("Process: {0} ID: {1} WindowTitle: {2}", > theprocess.ProcessName, theprocess.Id, theprocess.MainWindowTitle); > str += string.Format("Process: {0} ID: {1} WindowTitle: {2}", > theprocess.ProcessName, theprocess.Id, theprocess.MainWindowTitle); > str += Environment.NewLine; > } > MessageBox.Show(str); > } > > -------------------------------------------- > > <cMouse.cs><cXorgAPI.cs><Structs.cs>_______________________________________________ > Mono-devel-list mailing list > Mono-devel-list@lists.ximian.com > http://lists.ximian.com/mailman/listinfo/mono-devel-list
Erm, I don't think SendKeys for WinForms is going to work against !WinForms apps on Linux. gEdit is GTK+, so the mainloops don't match at all, and gEdit likely isn't expecting any keys from Mono. —Bojan _______________________________________________ Mono-devel-list mailing list Mono-devel-list@lists.ximian.com http://lists.ximian.com/mailman/listinfo/mono-devel-list