Archive for the ‘JEDI Windows API Headers’ Category

Another new feature of Windows Vista is the SRW-Lock. It has some advantages compared to a critical section or the TMultiReadExclusiveWriteSynchronizer of Delphi. Lets think about it.

With Windows Vista we got a new tool for communicating over multiple threads: condition variables. I’ll try to give you a short overview, tell you, why it is better then events and illustrate the whole theory with some code snippets. Hopefully it will be funny.  :)

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.

If you look at the MSDN documentation of CreateProcess you might notice the following remark for the lpCommandLine parameter: The Unicode version of this function, CreateProcessW, can modify the contents of this string. Therefore, this parameter cannot be a pointer to read-only memory (such as a const variable or a literal string). If this parameter [...]

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

I’m burning baby!

You want to burn a CD out of your Delphi application easily? Read on!

Paypal donation (EUR)



February 2017
« Oct