Jump to content


  • Content Count

  • Joined

  • Last visited

Community Reputation

8 Neutral

About gioma

  • Birthday 08/25/1980

Technical Information

  • Delphi-Version
    Delphi 11 Alexandria

Recent Profile Visitors

The recent visitors block is disabled and is not being shown to other users.

  1. gioma

    Intercept "WM_COPY" on Windows

    Thank you, you gave me a great case study 😊
  2. gioma

    Intercept "WM_COPY" on Windows

    it's not a walk in the park, if you were to do it in c++ it would be easier. With Delphi I can't find the interface wrappers or the structures I should be using. Ex In C++ // Create an OLE data source on the heap COleDataSource* pData = new COleDataSource; // Get the currently selected data HGLOBAL hGlob = GlobalAlloc(GMEM_FIXED, 64); strcpy_s((char*)hGlob, 64, "Current selection\r\n"); // For the appropriate data formats... pData->CacheGlobalData( CF_TEXT, hGlob ); // The Clipboard now owns the allocated memory // and will delete this data object // when new data is put on the Clipboard pData->SetClipboard(); In Delphi not Exist class COleDataSource ( Or I haven't found it yet ) COleDataSource has the virtual function OnRenderData that I might need.
  3. gioma

    Intercept "WM_COPY" on Windows

    the file does not exist on the filesystem at the time of the paste action because it has to be transferred from another PC.
  4. gioma

    Intercept "WM_COPY" on Windows

    Thanks for the reply. I had seen the first example and in fact I would like to try to derive the COleDataSource class, I just need to understand in which Delphi unit it is present! Of course I imagined it, but a little something could also be shared ..
  5. gioma

    Intercept "WM_COPY" on Windows

    Hi, thanks for the reply. I already do, mine is a remote control software. Currently I can transfer a file from one PC to another via a file browser (which opens on the parent site). But now I need to implement the "copy-paste" so I need to interact with the system clipboard. Thank you, it's an interesting example. Now I'm trying to use the COleDataSource class, overriding the OnRenderFileData method. It's still theory at the moment, but I'm looking for a way to make it work. Anyway, any ideas are always welcome! PS for example it would be interesting to know on which unit Delphi has the definition of these classes..
  6. gioma

    Intercept "WM_COPY" on Windows

    Hi, yes I'm using this way to monitor the clipboard, I didn't specify it because my problem arises later. I've read this article, but I still can't get into it. Time is never an ally, so I was looking for an example to start with, to avoid too many empty tests, and also because the testing phase is not easy, as we are dealing with two applications on two different PCs communicating via sockets. My specific case is as follows: I have two applications, A and B, connected by a socket connection. Application A intercepts the modification of its clipboard and sends the event to application B. Here we have two cases: 1 if it is a text, it copies it directly to the clipboard 2 if it is a file, it copies the list to the clipboard. Up to point 1 there are, while I have difficulty understanding how to pass the list of files to PC B (or rather I can do this phase) and make sure that when I press "paste" (here is the real problem which I'm racking my brain over) the file list transfer begins and the system waits for the files to be transferred before completing the paste command. I can't find half an example of this on the net, I can't believe no one has ever done this before, maybe even in C, C++.
  7. gioma

    Intercept "WM_COPY" on Windows

    Thanks for the reply. I already do this, in fact if I copy paste a text it works perfectly. The problem instead I have with the files because they are not yet available on the file system because they come from the other PC. I send the list of files but I would like it to start the transfer only when "paste" is pressed and then the "paste window" waits for the files to be completely transferred and therefore available.
  8. gioma

    Intercept "WM_COPY" on Windows

    Hi, I'm making a program that sends files from PC A to PC B. When I copy a file on one PC I would like it to be available on the other PC's cliboard. What I can do is manipulate the clibboard by copying the paths of the files I intend to transfer, but then I have to intercept the "copy" command in order to start the transfer. I tried with hooks but no way. Do any of you know how I could do this? Or maybe you have a different better idea? Thank you.
  9. Form Embarcadero Support: 1) make sure the IDE is shutdown 2) run regedit 3) go to: HKEY_CURRENT_USER\SOFTWARE\Embarcadero\BDS\22.0\Toolbars 4) you should see an entry "Version" it is a DWORD change it to zero (aka 0). Solved!
  10. I've opened them all and none seem to have those settings! I wrote to Embarcadero, let's see what they reply.
  11. now I try to discover in that folder which is the file that regulates the positions of that menu
  12. the settings appear to be correct: <asmv3:application> <asmv3:windowsSettings> <dpiAware xmlns="http://schemas.microsoft.com/SMI/2005/WindowsSettings">true/pm</dpiAware> <dpiAwareness xmlns="http://schemas.microsoft.com/SMI/2016/WindowsSettings">PerMonitorV2</dpiAwareness> </asmv3:windowsSettings> </asmv3:application>
  13. Awesome bug that is wasting me a lot of time..and the patches come out ONE every year!!! Very disappointed with this..
  14. In the new session ignore all the components you have installed, even the Delphi patch is no longer installed.