Avatar billede mcgoat Nybegynder
21. august 2003 - 11:41 Der er 8 kommentarer og
2 løsninger

Finde Handle(HDc) fra det aktive vindue

Hvordan finder man Handle på det aktive vindue, om det så er ens skrivebord, notepad, internet explorer etc... ?
Avatar billede Slettet bruger
21. august 2003 - 11:44 #1
Kan man ikke gøre sådan:

getDC(GetActiveWindow());

??
Avatar billede Slettet bruger
21. august 2003 - 11:44 #2
Eller måske GetForegroundWindow istedet for GetActiveWindow.
Avatar billede jpk Nybegynder
21. august 2003 - 12:05 #3
Bare GetForegroundWindow(), den returnerer nemlig et handle...
Avatar billede mcgoat Nybegynder
21. august 2003 - 12:21 #4
Kommer med fejl: Canvas does not allow drawing.... har bare notepad åben og vil tegne en streg på den....

Det virker hvis man gør sådan:

HWND OIHandle = FindWindow(NULL,"Unavngivet - Notesblok");

Men ikke sådan:



void __fastcall TForm1::Button1Click(TObject *Sender)
{
Timer1->Enabled = true;

}
//---------------------------------------------------------------------------

void __fastcall TForm1::Timer1Timer(TObject *Sender)
{
HWND OIHandle = GetDC(GetForegroundWindow());
//HWND OIHandle = FindWindow(NULL,"about:blank - Microsoft Internet Explorer");
if(OIHandle)
{
    HDC dc = GetWindowDC(OIHandle);
    Graphics::TCanvas *OICanvas = new Graphics::TCanvas;
    OICanvas->Handle = dc;
    OICanvas->Pen->Width = 2;
    OICanvas->Pen->Color = clRed;
    OICanvas->MoveTo(0,0);
    OICanvas->LineTo(OICanvas->ClipRect.Right,OICanvas->ClipRect.Bottom);
    delete OICanvas;
    ReleaseDC(OIHandle,dc);
}

}
Avatar billede jpk Nybegynder
21. august 2003 - 12:29 #5
Du skal ikke bruge GetDC!
Avatar billede jpk Nybegynder
21. august 2003 - 12:29 #6
HWND OIHandle = GetForegroundWindow();
Avatar billede mcgoat Nybegynder
21. august 2003 - 12:34 #7
Takker... smid et svar :o)
Avatar billede mcgoat Nybegynder
21. august 2003 - 12:34 #8
begge
Avatar billede jpk Nybegynder
21. august 2003 - 12:36 #9
svar
Avatar billede Slettet bruger
22. august 2003 - 07:13 #10
svar
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester