Пример #1
0
        private void GetButtonHandel(string title, string buttonTitle)
        {
            int    loopNnb          = 0;
            IntPtr mainHandle       = System.Diagnostics.Process.GetCurrentProcess().MainWindowHandle;
            IntPtr controlBarHandle = IntPtr.Zero;
            IntPtr buttonHandle     = IntPtr.Zero;

            try
            {
                //while (controlBarHandle == null || controlBarHandle == IntPtr.Zero)
                //{
                //    controlBarHandle = MethodForWin32.FindWindowEx(mainHandle, controlBarHandle, null, title);
                //    loopNnb++;
                //    if (loopNnb == 50)
                //        break;
                //}
                int j = MethodForWin32.EnumChildWindows(
                    mainHandle,
                    (h, l) =>
                {
                    IntPtr f1 = MethodForWin32.FindWindowEx(h, IntPtr.Zero, null, title);
                    if (f1 == IntPtr.Zero)
                    {
                        return(true);
                    }
                    else
                    {
                        controlBarHandle = f1;
                        return(false);
                    }
                },
                    0);
                handle = MethodForWin32.FindWindowEx(controlBarHandle, IntPtr.Zero, null, buttonTitle);

                //if (controlBarHandle != null && controlBarHandle != IntPtr.Zero)
                //{
                //    int i = MethodForWin32.EnumChildWindows(
                //    controlBarHandle,
                //    (h, l) =>
                //    {
                //        IntPtr lpString = Marshal.AllocHGlobal(200);
                //        IntPtr f1 = MethodForWin32.GetWindowText(h, lpString,200);
                //        if (f1 == IntPtr.Zero)
                //            return true;
                //        else
                //        {
                //            handle = f1;
                //            return false;
                //        }
                //    },
                //    0);

                //}
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
Пример #2
0
 public void ButtonNClick()
 {
     if (handle != IntPtr.Zero && handle != null)
     {
         MethodForWin32.SendMessage(handle, 0xF5, (IntPtr)1, IntPtr.Zero);
         //MethodForWin32.SendMessage(handle, 0x201, (IntPtr)1, IntPtr.Zero);
         //MethodForWin32.SendMessage(handle, 0x202, (IntPtr)1, IntPtr.Zero);
         handle = IntPtr.Zero;
     }
 }