Evde Visual c++ 6.0 da geliştirmeyle uğraştığım bir kod var. Bi amacım yok ama sadece öğrenmem gereken bir kaç şey var. Şimdi ben bi programı kapatma üzerinde çalışmaya başladım. Kısa bi araştırma yaparak microsoft msdn sitesinde gerekli komutları buldum findwindow felan. Programa WM_QUIT mesajını gönderince kapanıyo bu oluyo ama mesela ben Rectangle() ile programa kare çizdirmek istiyorum yani hedef programa. Kod şu :
case WM_LBUTTONDOWN:
					HWND wind;
			wind=FindWindow(0,"MULTool");
			if(wind==NULL)
			{
				MessageBox(hWnd,"Hata multool bulunamadı !","Hata",0);
			}
			else
			{
PostMessage(wind,WM_QUIT,1,0);
			MessageBox(wind,"Multool patlatici bulundu :D !,"Error !",0);
				
			
			}
			break;

Bu kod çalışıyor quit mesajını veriyor programıda kapatıyor ama şimdi ben şöyle bişey yapmaya çalıştım
HDC asd;
asd=GetDC(wind); diyerek hedef programa bişeyler çizdirmek için gerekli şeyi aldırıyorum ama Rectangle(asd,10,10,20,20); diyorum programda bi kare çizilmiyo. Bunun yöntemi başka türlüyse yada hatam varsa lütfen bir yardım ediniz !
çözdügümüzü atsana :D belki arayan vardır
Pardon aklıma gelmedi şimdi sabah sabah girdim. Sorun çözdüldü , GetDCEx kullanarak yapınca oluyor. Buyrun :
HWND handle;
handle=FindWindow(0,"MULTool");
if(handle==NULL)
{
MessageBox(hWnd,"Hata multool bulunamadı !","Hata",0);
}
else
{
HDC hedc;
hedc=GetDCEx(handle,0,DCX_LOCKWINDOWUPDATE);
Rectangle(hedc,20,40,50,100);
}
Kodun amacı multool adlı programı açınca , multoolun üstünde bir kare çizmek .D. Çok saçma ama bu başlangıç. Çeşitli şeyler planlıyorum.

Üye Ol veya Giriş Yap

Bu forum başlığına mesaj atmak istiyorsanız hemen üye olun veya giriş yapın.