Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

PedroS

PostMessage no C#

Recommended Posts

Como utilizar no C# o PostMessage(hHandle, WM_LBUTTONDOWN, "0", pPnt)?Já consegui pegar o Handle da janela e adicionei a a variável WM_LBUTTONDOWN com seu respectivo "código" porem não consigo passar XY, no delphi eu utilizava o makelong(XY), porem no C# não tenho idéia, alguem sabe?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Como utilizar no C# o PostMessage(hHandle, WM_LBUTTONDOWN, "0", pPnt)?

Já consegui pegar o Handle da janela e adicionei a a variável WM_LBUTTONDOWN com seu respectivo "código" porem não consigo passar XY, no delphi eu utilizava o makelong(XY), porem no C# não tenho idéia, alguem sabe?

Tentei utilizar

public const uint WM_LBUTTONDOWN   = 0x0201;		public const uint WM_LBUTTONUP = 0x0202;[DllImport("user32.dll")]			public static extern int SendMessage(				  int hWnd,	  // handle to destination window				  uint Msg,	   // message				  long wParam,  // first message parameter				  int lParam   // second message parameter				  );public static void SendMouseClick(int iHandle, int X, int Y)			{					int lparm = (Y << 16) + X;					long lngResult = SendMessage(iHandle, WM_LBUTTONDOWN, 0, lparm); 					long lngResult2 = SendMessage(iHandle, WM_LBUTTONUP, 0, lparm);			}SendMouseClick(h, 623, 400);
public static int MakeLong(int nLow, int nHigh) { return (int)(nLow + nHigh * 65536); }		  public const uint WM_LBUTTONDOWN   = 0x0201;		public const uint WM_LBUTTONUP = 0x0202;[DllImport("user32.dll")]			public static extern int SendMessage(				  int hWnd,	  // handle to destination window				  uint Msg,	   // message				  long wParam,  // first message parameter				  long lParam   // second message parameter				  );public static void SendMouseClick(int iHandle, int X, int Y)			{					long lparm = MakeLong(X, Y);					long lngResult = SendMessage(iHandle, WM_LBUTTONDOWN, 0, lparm); 					long lngResult2 = SendMessage(iHandle, WM_LBUTTONUP, 0, lparm);			}

Os dois retornaram os mesmos erros...

 

"A call to PInvoke function 'WindowsApplication3!WindowsApplication3.Form1::SendMessage' has unbalanced the stack. This is likely because the managed PInvoke signature does not match the unmanaged target signature. Check that the calling convention and parameters of the PInvoke signature match the target unmanaged signature."

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.