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... ?
Annonceindlæg tema
Offentlig digitalisering
Fra effektivisering til digital suverænitet. Hvordan skaber det offentlige en digital fremtid med AI, sikkerhed og kontrol i centrum?
Slettet bruger
21. august 2003 - 11:44
#1
Kan man ikke gøre sådan: getDC(GetActiveWindow()); ??
Slettet bruger
21. august 2003 - 11:44
#2
Eller måske GetForegroundWindow istedet for GetActiveWindow.
21. august 2003 - 12:05
#3
Bare GetForegroundWindow(), den returnerer nemlig et handle...
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); } }
21. august 2003 - 12:29
#5
Du skal ikke bruge GetDC!
21. august 2003 - 12:29
#6
HWND OIHandle = GetForegroundWindow();
21. august 2003 - 12:34
#7
Takker... smid et svar :o)
21. august 2003 - 12:34
#8
begge
21. august 2003 - 12:36
#9
svar
Slettet bruger
22. august 2003 - 07:13
#10
svar
Kurser inden for grundlæggende programmering