How to Fix Windows Errors


I’m on revision with Delphi and 10. I have an old app running in Delphi 2007 and while the incoming app works fine on Windows 10 if you create a large modal dialog from your main form and then close the dialog but not the main form , you hover over the task preview, clients see their main form, but your needs also see the dialogs even though they were previously closed. Press here. The preview brings the window to the front and the dialog disappears again. Otherwise it doesn’t seem like a problem, but it does look professional, especially when clients use a lot of dialogs in the app. To see this, clients have to hover over the application over our own notification area icon, which works great, but when you hover over the thumbnail, you usually see yourself in windows. Hover your mouse over this one to actually see the dialog that the person previously opened. with several rec box cuts.

I didn’t have MainFormOnTaskbar := true by default (my app was originally ported)But from D2006), but I installed it in a .dpr file before creating the main contact form and found no absolute effect. However, if I move this call to run right after the main form is created, this feature seems to work. I read online that this line should be executed if it is before the main form.

This issue seems to exist across versions of Delphi, in which case I also see 10.3 Rio. I can understand D2007 as it predates Win10, but that’s exactly what this QC goes through in Election 10.3 Rio, and only marginally more important in the places of others.

I found another workaround. If I Params.WndParent:=application.Handle; in a dialogue that seems to fix this problem until at least d2007. Is it safe to use your way, don’t know why it works as a handle, it looks the same as if I never used the code, this one but it seems to work right away.

Source: Internet


3 . How to call certaine API functions in Delphi so that the task does not appear in the tray

PS. How to find handle to taskbar in Delphi?
Htray :=findwindow(‘Shell_traywnd’, nil);

To apply the class name Shell_trawnd to quickly find the tool installed Delphi will have Win32 view your company will be able to find the desktop, taskbar and only through the application class name.

4. Auto-hide the taskbar and disable auto-hide the taskbar (auto-hide and hide, auto-hide other, auto-hide on mouse click, show each entry). You need to use API function: SHAppBarMessage

Winshellapi UINT apientry shappbarmessage(DWORD dwmessage, pappbardata pData);

Appbardata body

structures Scenario: 1,
set up the taskbar so that it is actually hidden or hidden automatically
procedure Tform1.autohidetaskbar(Bhide:bool); ABM_SETSTATE=;
Constant // required 0x0000000a because Delphi doesn’t exist;
apbar:appbardata; Start
Apbar.hwnd := Shell_traywnd findwindow(‘ null); no,
If apbar.>0 hwnd next

begin (bhide if TRUE) =
than Apbar.lparam:=abs_autohide // autohide
Apbar.lparam: = abs_allwhere above; Remove auto-hide
shappbarmessage(abm_setstate, Apbar);//set taskbar auto-hide

Call: auto-hide the taskbar (true); Set autohide or autohide the taskbar; (false) Remove autohide
Note: Delphi’s dwmessage parameter does not exist abm_setstate while the Windows API exists, it has the value 0x0000000a;
So specify abm_setstate here and pass when Die Directly using Abm_setautohidebar instead of its associated abm_setstate does not work.

2. On the instance, set the taskbar to hide automatically
Function TForm1.IsTaskbarAutoHideOn:boolean;
Abdata.= cbsize: sizeof ( ABData) ; < (SHAppBarMessage br>Result: = (abm_getstate, ABData) and > abs_autohide) 0 ;

Third, a description of the SHAppBarMessage API function: