c# Obtener el texto seleccionado en cualquier formulario de Windows
Te cuento dos métodos:
El primero:
Agregar una referencia de XdictGrb.dll en Kingsoft PowerWord 2005
Luego lo siguiente es el código
usando System;
using System.using XDICTGRB;//Componente Jinshan Wordsmith
espacio de nombres WindowsApplication1
{< / p>
clase parcial pública Form1: Form,IXDictGrabSink
{
Form1 pública()
{
InitializeComponent() ;
}
private void Form1_Load(remitente del objeto, EventArgs e)
{
GrabProxy gp = new GrabProxy(); /p>
gp.GrabEnabled = true;/ / Si se obtienen los atributos de la palabra
gp.AdviseGrab(this);
}
//Implementación de la interfaz
int IXDictGrabSink.QueryWord(string WordString)QueryWord(string WordString, int lCursorX, int lCursorX, int IXDictGrabSink. int lCursorX, int lCursorY, string SentenceString, ref int lLoc, ref int lStart)
{
this.textBox1.Text = SentenceString;//pase el mouse sobre la declaración
//this.textBox1.Text = SentenceString .Substring(lLoc + 1,1);//carácter donde está el mouse
return 1;
}
}
}
}
Segundo:
System32/Nhw32.dll tiene tal dll
nhw32.dll conduce principalmente a dos funciones :
1.DWORD WINAPI BL_SetFlag32(UINT nFlag,
HWND hNotifyWnd,
int MouseX,
int MouseY)
Función:
Iniciar o detener la búsqueda de palabras.
Parámetros:
nFlag
[entrada] Especifique uno de los siguientes valores:
GETWORD_ENABLE: Iniciar recuperación de palabras. nhw32.dll se utiliza para obtener palabras
redibujando el área de palabras e interceptando parámetros de las funciones API de Windows (como TextOutA, TextOutW, ExtTextOutA,
ExtTextOutW).
GETWORD_DISABLE: Deja de buscar palabras.
hNotifyWnd
[entrada] El identificador de la ventana de notificación.
Después de la adquisición, envíe información de registro a la ventana de notificación:
MouseX
[Entrada] Especifique la coordenada X del punto de adquisición.
MouseY
[Entrada] Especifica la coordenada Y del punto de selección.
Valor de retorno:
Sin sentido.
2. DWORD WINAPI BL_GetText32(LPSTR lpszCurWord,
int nBufferSize,
LPRECT lpWordRect)
Función:
Eliminar una cadena de texto de palabra del búfer interno. Para el texto en inglés, la longitud máxima extraída por la función es una línea de tres cadenas de palabras en inglés delimitadas por espacios, que terminan las palabras en el caso de espacios, letras no inglesas y signos de puntuación distintos de '-'. Para texto chino, esta función puede extraer una línea de cadenas de caracteres chinos, letras en inglés, signos de puntuación y otros caracteres no chinos para finalizar la extracción de palabras. Esta función no puede extraer caracteres ingleses y chinos al mismo tiempo.
Parámetros:
lpszCurWord
[entrada] Puntero del búfer de destino.
nBufferSize
[entrada] Tamaño del búfer objetivo.
lpWordRect
[Salida] Puntero a una estructura RECT. Esta estructura define el área rectangular donde se recupera la palabra.
Valor de retorno:
La posición actual del cursor en la palabra completa.
Además, la versión WinNT/2000 de nhw32.dll también proporciona otras dos funciones:
1.BOOL WINAPI SetNHW32()
Función: p>
p>
Función de inicialización en entorno Win NT/2000. Generalmente se llama una vez al comienzo del programa.
Parámetros:
Ninguno.
Valor de retorno:
VERDADERO en caso de éxito, FALSO en caso de error.
2. BOOL WINAPI ResetNHW32()
Función:
Función de desinicialización en entorno Win NT/2000. Generalmente se llama al final del programa.
Parámetros:
Ninguno.
Valor de retorno:
VERDADERO si se realiza correctamente, FALSO en caso contrario.