There are lots of questions on the Internt how to run the OnScreen Keyboard on a Windows 64 System from a 32bit Process. Some time ago, I investigated it but due to a lack of time I didn’t finish it. Today, I want to you show the solution of this problem.
In a thread on DelphiPraxis there was a question that comes up several times a year. However, this time I could remember that there is actually an COM API that can solve the problem. The question was about how to find out which process has a lock on a file. The main problem was, in [...]
Posted by: chaosben in: JEDI Windows API Headers
Windows 7 gave us some nice and useful little eye-catchers in the taskbar. Those are available using the Windows shell interfaces ITaskbarList3 and ITaskbarList4. But alas, how can a Delphi developer incorporate these in his applications?
Posted by: Christian Wimmer in: JEDI Windows API Headers
Unfortunately Borland didn’t implement a public register and start function into the class TServiceApplication. So we have to do it ourselves. First we publish the protected RegisterServices function to allow (un-)install our service(s) programmatically.
Do you need help? We can support you creating application using JWA and/or JWSCL. Visit the Get Service site on SourceForge for more information like pricing.
It is impossible to use SetThreadDesktop and the VCL at the same time because a thread can only show windows on one desktop at a time. However VCL is not written for the use with multiple threads, so there is no way to show Delphi forms of same process on two different desktops. SetThreadDesktop describes [...]
This answer is very easy – just use GetWindowThreadProcessId JWA declares it as followed: function GetWindowThreadProcessId(hWnd: HWND; lpdwProcessId: LPDWORD): DWORD; stdcall; The function returns an identifier (not a handle) and also may set lpdwProcessId to the identifier (again not a handle!) if it is not nil. Be aware that identifiers aren’t handles, so you must [...]
Please read this “How to” before submitting any Header Conversions to us. Then you can submit the headers to us by mail.
The JWSCL does only need a minor setup. You need to create a binary unit file (DCU-file) for the JEDI API Headers as described here. You must setup JEDI API first before you can start with JWSCL! Otherwise if you set Delphi source path to include JwaWindows.pas you’ll get an error like: Incompatible types: JwaWindows.XXX [...]
The JEDI API library provides you two ways of using it. Either you can use all the single units like JwaWinUser.pas and JwaWinTypes.pas or you can use just one unit that includes all these single units. It is called JwaWindows.pas. The 1. Single units use: Single units are included into your project by adding the [...]