آیا انتقال برنامه به نوار وظیفه موجب می شه
Close اجرا بشه و
HotKey غیر فعال بشه؟
نه ربطی به بسته شدن نداره فقط جلوی این پیغام گرفته میشه.
میتونید کد تعریف مجد hotkey رو به آخر Image1MouseUp اضافه کنید این میتونه مشکل رو حل کنه اما پاسخی برای سوال شما نیست و باید بررسی بشه چرا این پیغام برای فرم بعد از اجرای CopyScreenRectClick ارسال نشده و اجرا نمیشه.
بفرمایین چطور کدم رو اصلاح کنم که هم بتونم همه تصویر دسکتاپ رو بدون پنجره برنامه تو برنامم داشته باشم و بتونم یه ناحیه از اون رو در فایل ذخیره کنم؟
کد اصلاحی
procedure TForm1.Image1MouseUp(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
begin
CopyScreenRect.Visible:=True;
SendToClipBoard.Visible:=True;
Edit1.Visible:=True;
mouseIsDown:=False;
P2.X:=X;
P2.Y:=Y;
Pic.Width:=P2.X-P1.X+1;
Pic.Height:=P2.Y-P1.Y+1;
Pic.Canvas.CopyRect(rect(0,0,Pic.Width,Pic.Height) , Image1.Picture.Bitmap.Canvas,Rect(P1.X,P1.Y,P2.X,P 2.Y));
Pic.SaveToFile('C:\'+Edit1.text+'.bmp');
Edit1.text:=IntTostr(StrToInt(Edit1.text)+1);
Borderstyle:=bsSingle;
Width:=300;
Height:=100;
shape1.Left:=2000;
// application.Minimize;
RegisterHotKey(Handle,1,MOD_CONTROL,ord('Q')); // why we must rerun this line
end;