Hur gör man för att få en kontroll som man kan dra o släppa på ett annat fönster för att få dess hwnd (som den i spy++)??? Gjorde en som visar Hwnd på det fönster man håller musen över. Hittade inte nåt på internet så fick göra själv :) Tackar för svaret, gjorde en liten kombination ;)Dra-o-släpp-grunk för att få fönster hwnd
Har gjort de i vb6 nån gång men kommer inte ihåg ett skvatt :P (kanske va nåt me att kolla vilket fönster som var under muspekaren?)
Hitta vb6-koden :D
ser ut att kunna skrivas om:
<code>Private Sub picSökBild_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
picSökBild.MousePointer = vbCustom
End Sub
Private Sub picSökBild_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single)
Dim Pt As POINTAPI
GetCursorPos Pt
FönsterInfo WindowFromPoint(Pt.X, Pt.Y)
picSökBild.MousePointer = vbDefault
End Sub</code>Sv: Dra-o-släpp-grunk för att få fönster hwnd
<code>
using System.Runtime.InteropServices;
[DllImport("user32")] public static extern int GetCursorPos(ref POINTAPI lpPoint);
[DllImport("user32")] public static extern int WindowFromPoint(int xPoint, int yPoint);
public POINTAPI pt;
public struct POINTAPI
{
public int x;
public int y;
}
//Detta är en timer du får lägga till
private void timGet_Tick(object sender, System.EventArgs e)
{
GetCursorPos(ref pt);
txtHwnd.Text = WindowFromPoint(pt.x, pt.y).ToString();
}
</code>
/AndréSv: Dra-o-släpp-grunk för att få fönster hwnd
<code>
[DllImport("user32")] public static extern int GetCursorPos(ref POINTAPI lpPoint);
[DllImport("user32")] public static extern int WindowFromPoint(int xPoint, int yPoint);
public POINTAPI pt;
public struct POINTAPI
{
public int x;
public int y;
}
int hWnd=0;
private void button1_MouseDown(object sender, System.Windows.Forms.MouseEventArgs e)
{
button1.Cursor=Cursors.Cross;
}
private void button1_MouseUp(object sender, System.Windows.Forms.MouseEventArgs e)
{
GetCursorPos(ref pt);
hWnd=WindowFromPoint(pt.x, pt.y);
Debug.WriteLine(hWnd);
}
</code>