|
|
|
 |
 |
Сообщение |
 |
|
 |
 |
Молчун
Зарегистрирован: 24 June 2008
Сообщения: 14
Примеры кода: 0
|
Как получить текст контрола в любом окне, зная его хэндл? |
25 June 2008 13:20 |
|
|
|
|
В общем сделал так:
Объявил:
[DllImport("user32.dll")]
private static extern IntPtr WindowFromPoint(POINT Point);
[DllImport("user32.dll", CharSet = CharSet.Auto)]
public static extern IntPtr SendMessage(IntPtr hWnd, uint msg, int wParam, int lParam);
[DllImport("user32.dll", CharSet = CharSet.Auto)]
public static extern bool ScreenToClient(IntPtr hWnd, out POINT lpPoint);
[DllImport("user32.dll", CharSet = CharSet.Auto)]
public static extern int GetWindowText(IntPtr hWnd, out string lpString, int nMaxCount);
[DllImport("user32.dll", CharSet = CharSet.Auto)]
public static extern IntPtr ChildWindowFromPoint(IntPtr hWndParent, POINT Point);
[DllImport("user32.dll", SetLastError = true, CharSet = CharSet.Auto)]
public static extern int GetWindowTextLength(IntPtr hWnd);
код вызова:
try
{
POINT pt=new POINT();
pt.x=Control.MousePosition.X;
pt.y=Control.MousePosition.Y;
IntPtr hw = WindowFromPoint(pt);
ScreenToClient(hw, out pt);
string str="";
GetWindowText(ChildWindowFromPoint(hw, pt), out str, GetWindowTextLength(hw)+1);
System.Diagnostics.Debug.WriteLine(str);
}
catch { }
Компилит, но при наведении на какой-нить лейбл на строчке GetWindowText(ChildWindowFromPoint(hw, pt), out str, GetWindowTextLength(hw)+1); выдает ошибку
====================
The runtime has encountered a fatal error. The address of the error was at 0x79ef067e, on thread 0x880. The error code is 0xc0000005. This error may be a bug in the CLR or in the unsafe or non-verifiable portions of user code. Common sources of this bug include user marshaling errors for COM-interop or PInvoke, which may corrupt the stack.
Данное сообщение получено с сайта GotDotNet.RU
Последний раз редактировалось 25 June 2008 13:20
|
|
| Наверх |
|
|
|
 |
 |
 |
 |
 |
|
 |
 |
  Как получить текст контрола в любом окне, зная его хэндл?. infolex 25 June 2008 10:10
  Как получить текст контрола в любом окне, зная его хэндл?. nvld 25 June 2008 11:23
  Как получить текст контрола в любом окне, зная его хэндл?. infolex 25 June 2008 11:34
  Как получить текст контрола в любом окне, зная его хэндл?. altarvic 25 June 2008 12:51
  Как получить текст контрола в любом окне, зная его хэндл?. Zegee 25 June 2008 13:11
  Как получить текст контрола в любом окне, зная его хэндл?. infolex 25 June 2008 13:20
  Как получить текст контрола в любом окне, зная его хэндл?. Zegee 25 June 2008 13:40
  Как получить текст контрола в любом окне, зная его хэндл?. infolex 25 June 2008 13:59
  Как получить текст контрола в любом окне, зная его хэндл?. altarvic 25 June 2008 14:02
  Как получить текст контрола в любом окне, зная его хэндл?. Zegee 25 June 2008 14:16
  Как получить текст контрола в любом окне, зная его хэндл?. infolex 25 June 2008 14:57
  Как получить текст контрола в любом окне, зная его хэндл?. Zegee 25 June 2008 15:20
  Как получить текст контрола в любом окне, зная его хэндл?. infolex 25 June 2008 15:37
  Как получить текст контрола в любом окне, зная его хэндл?. altarvic 25 June 2008 15:41
  Как получить текст контрола в любом окне, зная его хэндл?. Zegee 25 June 2008 16:29
  Как получить текст контрола в любом окне, зная его хэндл?. infolex 25 June 2008 14:24
|
|
 |
 |
 |
 |
|
|