2009-12-27 4 views
1

Spy ++를 사용하여 찾은 창에 대한 16 진수 값이 있습니다.IntPtr에 대한 C# 16 진수 값

값이 : 지금까지 내가 알고있는 것처럼, IntPtr입니다 hwndParent가 포함됩니다, 지금

IntPtr hwndf = this.Handle; 
IntPtr hwndParent = FindWindow("WINDOW HERE", null); ; 

SetParent(hwndf, hwndParent); 
this.TopMost = false; 

: 내가 이전 물었다 질문에 대한 답변에 00,010,010

감사합니다, 나는이 코드를 핸들 창을 여기에 WINDOW. 내 16 진수 핸들을 사용하려면 해당 행을 어떻게 다시 작성할 수 있습니까? 나는 시도했다 :

IntPtr hwndParent = (IntPtr) 0x00010010 

그러나 그것은 작동하지 않았다. 어떤 아이디어?

+1

값이 2 진수와 같이 의심스러운 것 같습니다. 이것이 실제로 16 진수 값인지 확인할 수 있습니까? – richardtallent

+1

핸들을 나타낼 포인터의 수가 너무 적습니다. 당신이 얻고있는 가치에 뭔가 옳지 않다고 생각합니다. –

+0

그것의 바탕 화면에 대한 핸들 : P – Ozzy

답변

1

음, 00010010의 16 진수 값은 0x12입니다. 따라서 이론적으로 사용할 수 있습니다.

IntPtr hwndParent = (IntPtr) 0x12 

Windows 계산기로 변환 할 수 있습니다. 그러나 그 값은 정확하지 않습니다. 당신이 그 가치를 어떻게 얻었는지 더 자세하게 설명 할 수 있습니까?

편집 : 귀하의 의견은 데스크톱 창에 대한 핸들을 얻으려고한다는 내용입니다. 그 기능은 다음과 같습니다 : GetDesktopWindow, IntPtr을 반환합니다. 만약 당신이 관심있는 모든것이 바탕 화면이라면, 그것을 사용하십시오.

[DllImport("user32.dll", CharSet=CharSet.Auto, ExactSpelling=true)] 
public static extern IntPtr GetDesktopWindow(); 
0

이를 IntPtr의 생성자는 초기화 매개 변수를 받아

var hwnd = new IntPtr(Convert.ToInt32({HexNumber}, 16)); 
1

작동합니다 : 여기

는 P는/그 함수에 대한 호출의

IntPtr hwndParent = new IntPtr(0x00010010); 
0

this 질문 : 위젯이나 창을 바탕 화면 위에 만들지 않고 다른 창 위에 만들려는 것 같습니다. 그럴 경우 FindWindow()를 사용하여 창을 찾으십시오.

왜 상수 값입니까?