Quantcast
Channel: Windows Desktop Development for Accessibility and Automation forum
Viewing all 585 articles
Browse latest View live

[MSAA] Inspect32.exe can not track focus event in win7

$
0
0

I tried inspect32.exe in my WIN7 system, in Desktop, it can retrieve all focus event and show the Detail( eg Name, Role).

But when I get into explorer ( eg. C:\ ), the File List focus change can not be tracked by inspect32.exe.

Not all win7 system has this problem, so I guess some "MSAA" or "UIA" component is missing. 

Does anybody know how to fix this? Thanks very much!

I download MSAA 2.0 RDK, but can not be installed in WIN7.


Window Dialog Box Control Type in UIAutomation Provider

$
0
0
Hello, how can I tell that my window is a Dialog box? There is only UIA_WindowControlTypeId, and in MSAA there is role ROLE_SYSTEM_DIALOG, so, how can I show in UIAutomation Provider that my window is not just window, but a dialog window?

Does I express help you make a application installer?

$
0
0
As I have started using IExpress for windows to make a setup and installer for my game, I tested out the setup and it worked but it didn't register as a installed program on windows control panal (program and features). Please help.

Complex providers structure in one hwnd-control

$
0
0
Hello, I have 1 hwnd-control, but I want it to appear in such structure: base-root-element -> root-elements -> simple-elements.

base-root-element is a menu (imp. FragmentRoot, ProviderFragment, ProviderSimple)
root-elements are groups (imp. FragmentRoot, ProviderFragment, ProviderSimple)
simple-elements are menuItems (imp. ProviderFragment, ProviderSimple)

I have a problem: what I must return in get_HostRawElementProvider in root-elements (groups)? This provider implements areIRawElementProviderFragmentRoots, but they have no hwnd-control (so, I can not use UiaHostProviderFromHwnd), and it can not return NULL.

May be someone have an example of implementing such providers-structure in one hwnd-control?

How to find the window, if there is no Caption and the Class names are Same

$
0
0

Hi Experts,

I am writing an .Net Windows Application for an automation job, which would send some Key Strokes to a  third party application and Login to it. But when I check the window of the third Party Application using Spy++ , i could see that the Text Boxes don't have any Caption Name and both the Tex Boxes have the same Class Name.

In this scenario, how i can distinguish between the two Text Boxes and send the Key strokes.

Let me know your thoughts


Joji

Automate Login to a Third Party Application

$
0
0

Hi Experts,

I am trying to develop a .Net Application for automation which is able to login to a third party application and perform a set of jobs which is currently performed manually

I am facing some Issues with the code i have written and need your Expert help.

Below is the Link to the code in OneDrive

https://onedrive.live.com/?cid=1f0b0affb1fd6044&id=1F0B0AFFB1FD6044%213197&ithint=file,zip&authkey=!AN6nBhsF9UX6nqg

1. When i run the Application, it breaks at the below line of code with Object reference Error

DicControl.Add("Password", sTextBoxControlList.Item(0).childHandle)
DicControl.Add("UserName", sTextBoxControlList.Item(1).childHandle)
DicControl.Add("Login", sLogin.Item(0).childHandle)

this is because sTexBoxControlList is empty.

The Weird part is when i debug the Code thru visual studio it passes thru the code with out any issue

2. I am trying to send some keys to the Handle to try to login but this is not working.

    ' Set Control to Password
    NativeWin32.SetFocus(DicControl("Password"))
    SendKeys.SendWait(Password)
    NativeWin32.SetFocus(DicControl("Login"))
    SendKeys.SendWait("{ENTER}")

Can you please help me out.

Thanks in advance.


Joji

Microsoft UI Automation/Get The Item That The User Clicks

$
0
0

I am trying to figure out what item (for example document, web page tab, window, picture, folder) the user has clicked on. I started by using the following code when I detect a global left mouse click:

System.Drawing.Point MousePoint = System.Windows.Forms.Cursor.Position;

AutomationElement AutomationElement = AutomationElement.FromPoint(new System.Windows.Point(MousePoint.X, MousePoint.Y));

Console.WriteLine(AutomationElement.Current.Name);

This seems to work well in most conditions. However, I need to (if possible) get names of documents/images/folders inside Windows Explorer for example. The value returned when I click a document in the right hand pane of Windows Explorer (not the tree view) is "Name". Is there anyway to get the actual document name? For some reason, clicking sub-folders in the tree view returns the name of the folder, which is what I want.

I also notice that the code seems to display the document/image/folder name when clicked if the Windows Explorer view is set to icons (medium, large or extra large). Is there any reason why other views return "Name" or empty string while medium, large and extra large icons return the actual document/image/folder name? Is it to do with the size of the object clicked? I could really do with a way round this if possible?

I apologise, I am new to UI Automation and just really want a way to find the name of the object (file, folder, document, picture, web page tab etc.) that the user has clicked on. Any help anyone could give would be great.



windows(7/8) mounts a network storage automatically.

$
0
0

Hi team,

is it possible to let win7/8 mount a network storage automatically when they receive a command?

we would like to create an application to control win7/8 to mount a network storage that user needs.

the process is our application will send commands to win7/8, and win7/8 will mount a network storage that user appoints.

Thanks,

Derek


ClientSideProviderDescription inputs do not seem to be considered

$
0
0

Hi,

I have my own custom UIAutomation Clientside provider for automating a control.

In that provider code, I have the below code -

public static ClientSideProviderDescription[] ClientSideProviderDescriptionTable =
    {
        new ClientSideProviderDescription(new ClientSideProviderFactoryCallback(TimeControl.Create), "ATL:1004F9A0")
    };

The above code works fine. But the classname of my control keeps changing. So, I modified the code as shown below -

public static ClientSideProviderDescription[] ClientSideProviderDescriptionTable =
    {
        new ClientSideProviderDescription(new ClientSideProviderFactoryCallback(TimeControl.Create), "ATL:", "MyExe.exe", ClientSideProviderMatchIndicator.AllowSubstringMatch)
    };

This is not working. Can anyone help me what I am doing wrong here?

Regards,

vijay


Accessibility and the MFC Ribbon

$
0
0

What is the best way to implement accessibility for the MFC ribbon controls. I am trying to set up a provider/server type app written in MFC that has a ribbon tool bar with many ribbons and menu's.

It seems as though a screen reader cannot read the text for a button by default like the articles seem to indicate. Trying to implement the UI Automation provider interface did not succeed because of the message handling... so what is the best way?

Can you point me to an article or multiple articles with examples that will help?

or is this a known issue, that the ribbon is not fully functional for accessibility when written using MFC?

I have tried the sample app and it has the same issue of not announcing the text when tabbing through the buttons with a screen reader.

Using VS2013

Thank you!


Xbox Controller for Disabled or Restricted

$
0
0

Dear Xbox,

We friends, Mason, Nick, Graham, and Cade, all like to play video games frequently. But we have found a very disappointing problem in Xbox. When Mason started playing Xbox, he had a lot of problems playing one handed. Cerebral Palsy has affected one of his hands, so he cannot use it very easily.  Sadly, there are no one-handed controllers for people who cannot use one hand. How is this a problem? Well, there are some people who would potentially enjoy the Xbox’s game, who are restricted, or only have one hand. It is odd that there is no option for these people, considering that there are is such a large group.

As mentioned in the beginning, there haven’t been any handicap controllers. There are some known solutions like modding a controller or having one specially made, but that shouldn't be necessary. Because he is disabled, he shouldn’t have to pay extra for a controller to play Xbox. We have found that a lot of people are affected by Cerebral Palsy.  On a health website, it says , “In the United States, about Every hour, another child is born with Cerebral Palsy (CP).Globally, over 17 million people have Cerebral Palsy.1 in 500 babies is diagnosed with Cerebral  palsy.” ("Cerebral Palsy: Get Facts on Symptoms."). Just because someone is disabled doesn't mean they shouldn’t be able to play video games like others.  So you can know more about cerebral palsy, a hospital website shows what it is: “Cerebral palsy is a disorder of movement, muscle tone or posture that is caused by an insult to the immature, developing brain, most often before birth.”("Cerebral Palsy.") Many people, like Mason, have this disorder in their hand.  This would completely disable them from using a one handed controller, segregating a large group of people.

We have a solution though. We designed a prototype of a one-handed controller option for those who cannot use a two-handed controller. Of course, small changes could be made to the controller, but working with someone who would use a one-handed controller, we believe we have found what the user would most like.  This could also be a good opportunity to make more income by advertising something that works for a large group of  people who do not have any good and affordable way to play video games.

Thank you for your time,

Mason, Graham, Cade, Nick,

7th Grade Students, Lincoln Junior High, Bentonville, AR

Eye Gaze Software for free on windows 8

$
0
0
Is there anything out there for windows 8 what is free and I can use it with a standered webcam and windows computer?

How to Set MSAA name of File OpenFileDialog

$
0
0

Hi,

Attached image we are using standard windows open file dialog. We
would like to achieve constant MSAA name for controls on this dialog independent
of the OS language to minimize Test automation effort.

Since it is a standard dialog we do not have access to its controls.  

How to set constant name to maintain MSAA name to access this dialog. (or) How to get unique id from the FileName textbox OS independent name

 

Appreciate your response on the same.

~Surendar

the smtp requires a secure connection 5.5.1

$
0
0

i try all the below methods but error still exists:.

http://www.smarterasp.net/support/kb/a1546/send-email-from-gmail-with-smtp-authentication-but-got-5_5_1-authentication-required-error.aspx

http://www.codeproject.com/Questions/751880/send-mail-using-gmail-after-deploy-the-asp-net-web

https://www.google.com/settings/security/lesssecureapps

provide me some solution for this problem.

thanks

I want to know how to learn win32 api?

$
0
0


I want to know how to learn win32 use C++,,,,,,,,,,, very confused. I don't know where to learn,  do you have the chinese document?


How to Drag and Drop the AutomationElement using patterns or by Mouse Operation

$
0
0

Hi,

I want to implement an Automation tool, which will automate the test using UI.

I am implementing it using WPF,C# and using AutomationElement I have implemented the Pattern for the controls.

I am stuck at "How to Drag and Drop a AutomationElement object" using pattern or by using Mouse operation.

Here I do not want to access Coded UI Drag and Drop mechanism.

1) Please provide me some guidlines so that I can get some idea.

2) I have implemented following class for Drag and Drop.

The problem I am facing is that I am able to drag the element but the drop is too fast, so that 

MouseDown cannot hold the object and only move the cursur.

Please take a look at the following code,

using System;using System.Runtime.InteropServices;using System.Threading;namespace TestRunEngine.Controls.Control
{    public class MouseOperations    {               [DllImport("user32.dll", CharSet = CharSet.Auto, CallingConvention = CallingConvention.StdCall)]        public static extern void mouse_event(uint dwFlags, uint dx, uint dy, uint cButtons, UIntPtr dwExtraInfo);        private const uint MOUSEEVENTF_LEFTDOWN = 0x0002;        private const uint MOUSEEVENTF_LEFTUP = 0x0004;        private const uint MOUSEEVENTF_RIGHTDOWN = 0x0008;        private const uint MOUSEEVENTF_RIGHTUP = 0x0010;        private const uint MOUSEEVENTF_ABSOLUTE = 0x8000;        private const uint MOUSEEVENTF_MOVE = 0x0001;        [DllImport("user32.dll", CharSet = CharSet.Unicode)]        static extern bool SetCursorPos(uint x, uint y);        public static void PerformClick(uint x, uint y)        {            SetCursorPos(x, y);            mouse_event(MOUSEEVENTF_ABSOLUTE | MOUSEEVENTF_LEFTDOWN, x, y, 0, UIntPtr.Zero);            Thread.Sleep(100);            mouse_event(MOUSEEVENTF_ABSOLUTE | MOUSEEVENTF_LEFTUP, x, y, 0, UIntPtr.Zero);        }        public static void PerformRightClick(uint x, uint y)        {            SetCursorPos(x, y);            mouse_event(MOUSEEVENTF_ABSOLUTE | MOUSEEVENTF_RIGHTDOWN, x, y, 0, UIntPtr.Zero);            Thread.Sleep(100);            mouse_event(MOUSEEVENTF_ABSOLUTE | MOUSEEVENTF_RIGHTUP, x, y, 0, UIntPtr.Zero);        }        public static void PerformDoubleClick(uint x, uint y)        {            PerformClick(x, y);            Thread.Sleep(250);            PerformClick(x, y);        }        public static void PerformDrag(uint x, uint y)        {            SetCursorPos(x, y);             mouse_event(MOUSEEVENTF_ABSOLUTE | MOUSEEVENTF_LEFTDOWN , x, y, 0, UIntPtr.Zero);            Thread.Sleep(1000);        }                public static void PerformDrop(uint x, uint y)        {               Thread.Sleep(250);                mouse_event(MOUSEEVENTF_ABSOLUTE | MOUSEEVENTF_MOVE, x, y, 0, UIntPtr.Zero);            SetCursorPos(x, y);            mouse_event(MOUSEEVENTF_ABSOLUTE | MOUSEEVENTF_LEFTUP, x, y, 0, UIntPtr.Zero);                   }    }
}

Thanks & Regards,

Rosy D.


Logging Drag and Drop Actions of Users

$
0
0

I am trying to figure out a way to log user drag and drop actions across the entire Windows desktop. I've found various mouse hooks which detect what has been clicked and the Windows UI Automation which also helps with this. I wondered if anybody knew any way to log drag and drop events on Windows? At the moment I can detect drags by monitoring the mouse down, move, then up but I believe the key is to actually determine whether the item has been dropped into another object. This has been an ongoing issue for some weeks now and so I could really do with some help pointers on whether this is actually possible and how difficult it is going to be. As I say, I've exhausted many avenues to try and get it working but although I can detect what was dragged (sometimes - due to Windows UI Automation ambiguous names) I cannot determine if it was dropped onto anything and is therefore a drag and drop action?

Many thanks,

Jonathan

disability

$
0
0

im a single father of 2 boys 10 and 11. I have a major mental disabilitys. Most of the time all  I do is stay inside and talk on the computer because I get nervous in public bad. I make $634.00 a month and $ 350.00 is rent money and the rest goes to taking care of my boys. All I honestly own that is mine is my laptop computer. I wanted to know was there anyway you or your company would give me a copy of windows 8.1 or 8 ? Its just so hard at days when i get very depressed. like I said is there anyway you could donnate me a copy of the newer windows. I honestly will never be able to afford to buy it just like everything else.  PLEASE WRITE ME BACk AT EMAIL ANd let me know if there was anyway you all could help me or if u knew where I might beable to go to get this kinda help.

THANK YOU MUCH,

JOSHUA T BEEMAN                       joshuatbeeman@gmail.com

Have a question regarding automation of Memory Testing

$
0
0
Hello,

We are working on automating memory testing and ran into a problem where it appears that the automation interfaces are holding references to controls within our application. This gives us a bogus reading in the memory profiler. After investigating, it appears as though the UIAutomation bridge is using remoting to retrieve references to the controls in our application.

We also found that putting in a Thread.Sleep for 2 minutes before taking each memory snapshot fixes this issue.

My question is, can you confirm that remoting is being used to communicate with controls? And if so, is there any way to set the timout to sever the connection on command?

Thanks,

Mike
Mike Watkins

Running UI Automation using AutoRun Dll

$
0
0

Hello All,

I am automation UI using UI Automaiton in c#. The code is working well when I am runing it using Visual Studio. 

But I created dll of it and tried to run dll from some other Application but the Automation is not working.

The issue is 

AutomationElement aeDesktop = AutomationElement.RootElement;

This code is working as expected, But it is not able to get the CHild of this. Any help?

Viewing all 585 articles
Browse latest View live


<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>