Mark Billig
Members-
Content Count
14 -
Joined
-
Last visited
Everything posted by Mark Billig
-
I am trying to create a list of applications that are running and visible, similar to Windows "Task Manager" in simple view. I have been successful except for applications that are running elevated. I am trying to get the "File Description" property and as long as I can get the file name and path I can get the description. Is there a way to get the file description directly or a way to get the name and path of an elevated application? I have been searching but everything I have come across so far does not work.
-
Thank you for your assistance. I changed to PROCESS_QUERY_LIMITED_INFORMATION and it is working. I thought I had changed it before but I must not have. // hProcess := OpenProcess(PROCESS_QUERY_INFORMATION or PROCESS_VM_READ, False, PID); hProcess := OpenProcess(PROCESS_QUERY_LIMITED_INFORMATION, False, PID);
-
I am attaching the code I have at this time. I am using CreateToolhelp32Snapshot and GetModuleFileNameEx. MFUnit.pas
-
I am looking to get a list of desktop icons with their descriptions and positions. Any help appreciated.
-
Thank you for the guidance. It appears I should learn how to use Copilot and Chat AI.
-
Thank you for your post. My problem is understanding C to convert and fully understand what needs to be done.
-
I have a program that uses TeeChart and when recompiled with Delphi 12.1 the font size of the left and bottom axis labels are larger. Everything else seems fine and I can fix it by adding code to change the font. Any ideas what has caused this? Thanks, Mark
-
Thank you. It took me a bit to find it but it seems to fix the issue. PingChart.View3DOptions.ZoomText := ztNo;
-
I got tired of positioning applications on my remote screen. With RDP's full bar that appears in the top center nicely covering Outlook's search window. I decided I needed a tool to make it easier, APS. To select the application that I want to gather position and size info from or position an application I borrowed a component comp.reticle. I have it working but it is not scaling properly. I am trying to modify comp.reticle to handle the changing DPI. The targets on the left were placed in from the IDE designer. The targets on the right were added at runtime. I am trying to figure out why it is different with the same component.
-
https://github.com/mbillig02/APS
-
I got it figured out. One of the problems was the WindowReticle was configured CanResize = False. Thank you again for all of your help. I need to post my updates to GitHub.
-
Thank you.
-
Do you have a recommendation of what I should use in place of Screen.PixelsPerInch?
-
Thank you that helped. I tried to adjust the Width & Height of the WindowReticle component but it still does not look like the right size. Also is there a way to get the DPI variable from a system variable? procedure TMainForm.AddGetSetFrame; var TmpDPI: Integer; begin TmpDPI := 96; SetLength(GetSetFrameA, Length(GetSetFrameA) + 1); GetSetFrameA[High(GetSetFrameA)] := TGetSetFrame.Create(FrameScrollBox); with GetSetFrameA[High(GetSetFrameA)] do begin Parent := FrameScrollBox; Top := High(GetSetFrameA) * Height + 5; Align := alTop; Name := 'GetSetFrame_' + IntToStr(High(GetSetFrameA)); Tag := High(GetSetFrameA); PopupMenu := GSFramePopupMenu; // Get GetSetFrameA[High(GetSetFrameA)].GSGetWindowReticle.Left := MulDiv(GetSetFrameA[High(GetSetFrameA)].GSGetWindowReticle.Left, Screen.PixelsPerInch, TmpDPI); GetSetFrameA[High(GetSetFrameA)].GSGetWindowReticle.Top := MulDiv(GetSetFrameA[High(GetSetFrameA)].GSGetWindowReticle.Top, Screen.PixelsPerInch, TmpDPI); GetSetFrameA[High(GetSetFrameA)].GSGetWindowReticle.Width := MulDiv(GetSetFrameA[High(GetSetFrameA)].GSGetWindowReticle.Width, Screen.PixelsPerInch, TmpDPI); GetSetFrameA[High(GetSetFrameA)].GSGetWindowReticle.Height := MulDiv(GetSetFrameA[High(GetSetFrameA)].GSGetWindowReticle.Height, Screen.PixelsPerInch, TmpDPI); GetSetFrameA[High(GetSetFrameA)].GSGetWindowReticle.ScaleForPPI(TmpDPI); // Set GetSetFrameA[High(GetSetFrameA)].GSSetWindowReticle.Left := MulDiv(GetSetFrameA[High(GetSetFrameA)].GSSetWindowReticle.Left, Screen.PixelsPerInch, TmpDPI); GetSetFrameA[High(GetSetFrameA)].GSSetWindowReticle.Top := MulDiv(GetSetFrameA[High(GetSetFrameA)].GSSetWindowReticle.Top, Screen.PixelsPerInch, TmpDPI); GetSetFrameA[High(GetSetFrameA)].GSSetWindowReticle.Width := MulDiv(GetSetFrameA[High(GetSetFrameA)].GSSetWindowReticle.Width, Screen.PixelsPerInch, TmpDPI); GetSetFrameA[High(GetSetFrameA)].GSSetWindowReticle.Height := MulDiv(GetSetFrameA[High(GetSetFrameA)].GSSetWindowReticle.Height, Screen.PixelsPerInch, TmpDPI); GetSetFrameA[High(GetSetFrameA)].GSSetWindowReticle.ScaleForPPI(TmpDPI); end; end; Computer scale set at 100% Computer scale set at 150%