How to Run the OnScreenKeyboard

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.

Is File In Use

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 [...]

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?

This article is about how to retrieve the owner of a file. If you are experienced with some of the WinAPI security function this can be pretty easy. There are some problems that needs to be addressed though. The first one is the size of the security items like the SID name of the owner. [...]

JWSCL and FreeAndNil Second Attempt

In my last article “Jwscl and FreeAndNil” there were some great comments on the source design. Oliver told me to use a guarded memory page so the memory is always invalid. With his information I wrote a source code that creates a pointer which always triggers an access violation.

There is an interesting article about checking the version of the operating system. If you are too lazy to read it then just remember this: Do not check it at all! Well, I changed my mind. You should read it! So go to Yochay Kiriaty’s Article, read it and then get back her for the [...]

Winlogon Notification Package

What is that? MSDN say’s: A Winlogon Notification Package is a DLL that exports functions that handle Winlogon events. For example, when a user logs onto the system, Winlogon calls each notification package’s logon event handler function to provide information about the event.

Did you know? #7

You cannot impersonate a pipe until you have read from it. Even a write call doesn’t work. So a service has to wait for a dummy client write call until it can check the client’s token. The following codes shows how multi instance pipe server could look like. Be aware that I wrote this to [...]

Did you know? #1

A call to CreateProcessAsUser will fail with ERROR_INVALID_PARAMETER if your new process belongs to another session and you allowed inheritance of handles. In this case you have to set parameter bInheritHandles to FALSE.


The following topics you can choose to research. Each topic has several possible options you can work on. The options are Library: Creating Windows headers for JEDI Windows API or (wrapper) classes for JEDI Windows Security Blogpost: Writing a blog post about the topic. Example: Writing an example about the topic that demonstrates using the [...]

Paypal donation (EUR)



February 2017
« Oct