2010-04-07 7 views
1

CreateDesktop을 사용하여 새 데스크톱을 만들고 DC & RC를 받고 싶습니다.새 데스크톱에서 DC 및 RC 가져 오기

RECT deskRC; 
    HDC deskDC; 
    HDESK hNewDesktop = CreateDesktop(...); 

    GetWindowRect(hNewDesktop, &deskRC); 
    deskDC = GetDC(hNewDesktop); 

이렇게하면 0 만 반환됩니다. 무엇이 문제입니까? 또는 그 값을 얻는 또 다른 방법이있을 수 있습니다.

피씨 : 데스크톱이 정상적으로 생성됩니다.

또 다른 문제 :

감사합니다. 이번에 DC와 함께 또 다른 문제가 발생했습니다.

HDESK hNewDesktop = CreateDesktop("text_here", NULL, NULL, 0, GENERIC_ALL, NULL); 
    SetThreadDesktop(hNewDesktop); 
    SwitchDesktop(hNewDesktop); 

HWND deskHW = GetDesktopWindow(); 
GetWindowRect(deskHW, &deskRC); 
deskDC = GetWindowDC(deskHW); 

deskDC는 :(잘못 (원래 하나 테스트하고 그것을 확인했다, 나는 물건을 그리기 위해 사용)

이 시간이 잘못 무슨 생각

답변

1
창문

GetWindowRect와의 GetDC 작동합니다. 바탕 화면이 창이 아니므로 SwitchDesktop을 통해 바탕 화면으로 전환 한 다음 GetDesktopWindow를 통해 창을 가져올 수 있습니다. 이전 바탕 화면으로 다시 전환하는 것을 잊지 마십시오.

+0

감사합니다. . –

+0

당신은 무엇입니까? 그것이 "잘못된"것이라고 생각합니까? 방금 시도하고 NULL이 아닌 DC 핸들을 가져옵니다. – Luke

관련 문제