PeterPanettone
Members-
Content Count
1231 -
Joined
-
Last visited
-
Days Won
5
Everything posted by PeterPanettone
-
Add a system-menu item to all applications?
PeterPanettone replied to PeterPanettone's topic in Windows API
I have downloaded it and tried the GetMsgHook demo (Delphi 10.3.1, Windows 7 x64): The 32-bit worked well straightaway, without signing the DLL etc. The 64-bit version did not work the first time, so I followed the recommendations from the GitHub page: • uiAccess="true" • Code MUST be digitally signed • Your application MUST reside in a trusted location (e.g.; Program Files) As the 64-bit version still did not work, I tried to trace all methods in HooksMadeEasy.GetMsg.pas with CodeSite. So I saw that the procedures TGetMsgHook.Hookup and TGetMsgHook.Stop worked well, but then the tracing in the TGetMsgHook.GetMsgProc loop seemed to get too much strain on my system and messed it up so I had to reboot the computer. Strangely, after rebooting and recompiling the 64-bit DLL without the GetMsgProc tracing, the 64-bit version suddenly DID WORK: Clicking a system menu item in a 64-bit program showed up in the TestGetMsgHooks.exe feedback list. 1. So why did it work with 64-bit programs only after rebooting? 2. To make it work with BOTH 32-bit programs and 64-bit programs supposedly I would have to start BOTH a 32-bit exe with a 32-bit DLL AND a 64-bit exe with a 64-bit DLL? Or is there a way to activate both the 32-bit hook AND the 64-bit hook with ONE SINGLE exe? -
Add a system-menu item to all applications?
PeterPanettone replied to PeterPanettone's topic in Windows API
Thank you very much!! I am sorry for my late answer, I was away for a personal issue. PS: How can I show you my gratitude? May I send you a small donation? -
Add a system-menu item to all applications?
PeterPanettone replied to PeterPanettone's topic in Windows API
... that would be GREAT! -
Add a system-menu item to all applications?
PeterPanettone replied to PeterPanettone's topic in Windows API
Are there any grown-up people here? -
Add a system-menu item to all applications?
PeterPanettone replied to PeterPanettone's topic in Windows API
That's what I am doing. But it does not work with 64-bit DLLs. See my attached code example above. -
Add a system-menu item to all applications?
PeterPanettone replied to PeterPanettone's topic in Windows API
But it works well with 32-bit programs. How can it make to work with BOTH 64-bit programs and 32-bit programs? -
Add a system-menu item to all applications?
PeterPanettone replied to PeterPanettone's topic in Windows API
The package he created is here: http://www.vclcomponents.com/Delphi/System_Components/Hooks_Made_Easy-info.html -
Add a system-menu item to all applications?
PeterPanettone replied to PeterPanettone's topic in Windows API
It seems that the author of this code is Fred Schetterer. (Los Angeles?). But his website http://www.fredsterware.com/ does not exist anymore, so I don't know how to reach him. Does anybody know him? -
Add a system-menu item to all applications?
PeterPanettone replied to PeterPanettone's topic in Windows API
When I use this call instead of the previous call in \fwGetMsgProc\MapFile.pas then there is no more error in the DLL code in the function Hookup in the line GetMsgProcRec^.Hwnd := Hwnd However, I also do not get a callback when clicking on any system menu item in any application. -
Add a system-menu item to all applications?
PeterPanettone replied to PeterPanettone's topic in Windows API
Unfortunately, when I try to start a debug session for any Win64 project in my Delphi 10.3.1, I get the following error (debugging Win32 projects does work): Why is there an error in a CPP file if I try to start a debug session for a DELPHI project? Then I click any button, then this error message pops up: So, unfortunately, I cannot debug the Win64 projects. -
Add a system-menu item to all applications?
PeterPanettone replied to PeterPanettone's topic in Windows API
I have found a code example that works perfectly and gets a callback when clicking a system menu item in ANY application! It adds a system-wide hook to WM_SYSCOMMAND messages by using a DLL. (Unfortunately, it works only with 32-bit programs): AddSystemMenuItemToAnyApp2.zip I have tried to make it work with 64-bit applications by compiling the projects (EXE and DLL) as Windows 64-bit platform. I did not succeed. I made these changes in the DLL code: • THandle is different on the 64-bit platform: System.UInt64 • The error seems to be in the DLL code in the function Hookup in the line GetMsgProcRec^.Hwnd := Hwnd: Access violation at address 0000000003585C9F in Modul 'fwGetMsgProc.dll'. Reading from address 0000000000000000. • Also, in the EXE code, in the Button5Click handler I changed: @Hookup := GetProcAddress(hGetMsgProc, Pchar(LongInt(1))); to: @Hookup := GetProcAddress(hGetMsgProc, PAnsichar(LongInt(1))); But, as I said, I did not succeed: There is still the above-mentioned access violation in the DLL code. Could anybody with more experience have a look at the code and successfully compile it to 64-bit? The only code portions you would need to look at are: • The Button5Click handler in the EXE code • The DLL code which is just a few lines -
Add a system-menu item to all applications?
PeterPanettone replied to PeterPanettone's topic in Windows API
I don't know any official Delphi library which does process injection. Is there any? -
Add a system-menu item to all applications?
PeterPanettone replied to PeterPanettone's topic in Windows API
I created a test project (see attachment) which can add a system menu item to my own application or to any other application (tested with notepad: get the notepad window handle). However, reacting to the click event of the added system menu item works only when added to the own application. How can I make it sending a message to my application's window? AddSystemMenuItemToAnyApp.zip -
How best to update from 10.3.1 to 10.3.2?
PeterPanettone replied to Incus J's topic in Delphi IDE and APIs
I have downloaded: delphicbuilder10_3_2_496593b.iso • There is no information which of the newest patches and hotfixes I have to download and install after having installed delphicbuilder10_3_2_496593b.iso. • And why should I even bother to go to a website and search for the correct download link to download the ISO? A button in the (hypothetical) Delphi AutoUpdater should do that automatically for me. Every 12-year-old developer could create such a button and write the code to download the correct ISO or the WebInstaller accordingly. -
I have Delphi Pro 10.3.1 with an active subscription. Since today is Sunday, I decided this could be a good day to upgrade my Delphi to the current version 10.3.2. Unfortunately, I discovered that the Delphi IDE About dialog does not have an Update/Upgrade button. So I visited the Embarcadero website and somehow found this page: maintenance.embarcadero.com In the Login form, I entered all the credentials one after the other I got from Idera/Embarcadero in the course of the years. None of them worked. Since there was a support link on the page I wasted a support case to ask for the credentials to use the maintenance.embarcadero.com service and I also asked for the download location of the Delphi 10.3.2 Installation ISO file. The answer came in a surprisingly short time. But it did not contain the desired download location but only a never-before-seen access-key to use the maintenance.embarcadero.com service. So with this access-key, I logged into the maintenance.embarcadero.com service page: Please note that the upgrade product was not the one I had requested (Delphi Pro 10.3.2) but Delphi XE8 Enterprise (a previously expired subscription). Anyway, I clicked the "Send Email" button and got an email containing a link: "Download your software here". After having clicked the link I arrived at a page which contained these download links: But since these are not the download links I requested: HOW CAN I SOLVE THIS JIGSAW PUZZLE GAME? (Without wasting another support case) (Or is this an Internet scavenger hunt?) UPDATE: After searching with Google, I only found the WebInstaller download: ID: 30880, RAD Studio, Delphi, C++Builder 10.3.2 Web Install After a lot more searching I found this: ID: 30883, RAD Studio, Delphi, C++Builder 10.3.2 ISO, but it contains both Delphi and C++ and it is a 7 GB download. Since I need only Delphi: Isn't there an ISO download containing only Delphi without C++ ?
-
Is Embarcadero a jigsaw puzzle game?
PeterPanettone replied to PeterPanettone's topic in General Help
Thanks for the information. But the email I got di not tell me whether this was installation support or not. So I rather have to assume it was not installation support. -
How best to update from 10.3.1 to 10.3.2?
PeterPanettone replied to Incus J's topic in Delphi IDE and APIs
A 12-year-old developer could do this in a few days. It is very simple: Do all the things programmatically the user does manually. I really don't see why this should be difficult. -
Is Embarcadero a jigsaw puzzle game?
PeterPanettone replied to PeterPanettone's topic in General Help
I am happy to hear that. But the support person has sent me the wrong information. Is there installation support at Embarcadero which is able to send requested correct information? -
Is Embarcadero a jigsaw puzzle game?
PeterPanettone replied to PeterPanettone's topic in General Help
Does anybody know the location for the DELPHI ISO download? (Without C++). I seem to remember that previous versions had this opportunity. -
How best to update from 10.3.1 to 10.3.2?
PeterPanettone replied to Incus J's topic in Delphi IDE and APIs
Normally, an app in its About dialog has an [Update/Upgrade] button which does everything automatically (maybe with a few option checkboxes). At least, this is standard UI. Why does the Delphi IDE not have this standard UI? Who is responsible for the design of the Delphi IDE UI? -
IDE-Addin for automatically adding full Namespace to a (possibly ambiguous) variable type declaration?
PeterPanettone posted a topic in Delphi IDE and APIs
Is there an IDE addin to automatically change for example this: var I: Integer; into this: var I: System.Integer; -
I have filed a new bug report: https://sourceforge.net/p/gexperts/bugs/132/ This causes a crash when closing the Delphi 10.3.1 IDE:
-
Example: A unit's uses clause contains a unit DSiWin32, for example: I know that the unit's file path is: F:\Users\Peter\Documents\Embarcadero\Studio\20.0\CatalogRepository\OmniThreadLibrary_3.07.6-Rio\src\DSiWin32.pas Question: Is there an easy function to extract this path from the Library paths of the current IDE? Example: MyPath := GetUnitPathFromCurrentLibrary('DSiWin32.pas');
-
I am planning to buy a Mac Book Pro 15" with With Windows 10 Pro 64bit on Parallels and install the newest Delphi IDE in that Windows 10 Parallels VM. Are there any (compatibility) problems when running the IDE in a VM on Mac Book Pro? Any hints or recommendations?
-
Running the IDE in a VM on Mac Book Pro?
PeterPanettone replied to PeterPanettone's topic in General Help
Can the same VMWare images on an external SSD be used BOTH from VMWare Workstation on a Mac and from VMWare Workstation on a Windows PC (of course not simultaneously)? That possibility would be a huge advantage over using Parallels.