Я долгое время боролся с этим и не мог получить ответа, который я понимаю. Я новичок в C#.Findwindowex от ручки C#
Таким образом, я запускаю приложение (для конкретного Accpac), тогда мне нужно отправить имя пользователя через sendkeys/sendmessage в дочернее окно. Я получил ручку childwindow, но я не могу заставить его работать:. IntPtr (00020380), я получаю ошибку «идентификатор ожидаемого»
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Runtime.InteropServices;
using System.Diagnostics;
using System.Windows.Forms;
using System.Threading;
namespace myNamespace
{
class StartAccpac
{
[DllImport("user32.dll", SetLastError = true)]
static extern IntPtr FindWindow(string lpClassName, string lpWindowName);
[DllImport("user32.dll", SetLastError = true)]
static extern IntPtr FindWindowEx(IntPtr hwndParent, IntPtr hwndChildAfter, string lpszClass, string lpszWindow);
public static void Main3()
{
//START ACCPAC
//Process.Start("C:\\Programs\\Accpac\\runtime\\accpac.exe");
IntPtr hwnd = IntPtr.Zero;
IntPtr hwndChild = IntPtr.Zero;
//Get a MAIN HANDLE
hwnd = FindWindow(null, "Open Company");
hwndChild = FindWindowEx(hwnd, IntPtr.(00020380), null, null); <---- ERROR
}
}
}
[![enter image description here][1]][1]
[![enter image description here][2]][2]
[![enter image description here][3]][3]
Попробуйте 'new IntPtr (00020380)', хотя если это действительно шестнадцатеричный номер, вам понадобится 'new IntPtr (0x00020380)' – Lloyd
Спасибо! Можете ли вы сказать это как ответ, чтобы я мог принять – Wilest