The Wiert Corner – irregular stream of stuff

Jeroen W. Pluimers on .NET, C#, Delphi, databases, and personal interests

  • My badges

  • Twitter Updates

  • My Flickr Stream

  • Pages

  • All categories

  • Enter your email address to subscribe to this blog and receive notifications of new posts by email.

    Join 1,860 other subscribers

Archive for the ‘Windows Development’ Category

Ioan Popovici @ MEM.Zone on X: “The Inno setup uninstall switches are the funniest thing ever. SILENT, /VERYSILENT I knew about this but didn’t think that the silent uninstall registry keys would be just SILENT. I’ve fixed that in the bulk uninstall tool but man microsoft should have forced”

Posted by jpluimers on 2025/08/21

For my link archive: [WaybackSave/Archive] Ioan Popovici @ MEM.Zone on X: “The Inno setup uninstall switches are the funniest thing ever. SILENT, /VERYSILENT I knew about this but didn’t think that the silent uninstall registry keys would be just SILENT. I’ve fixed that in the bulk uninstall tool but man microsoft should have forced”

Read the rest of this entry »

Posted in Development, Inno Setup ISS, InnoSetup, Installer-Development, Power User, Software Development, Windows, Windows Development | Leave a Comment »

Redux: Which Windows Resource Editor do you use?

Posted by jpluimers on 2025/08/21

A long time I wrote about Which Windows Resource Editor do you use? containing a poll to choose between XN Resource Editor, IcoFX, ResEdit and Resource Hacker.

In the meantime and betweentime more than 10 years have passed and there seems to be little maintenance in (especially the non-commercial part of) Windows Resource Editor land.

From the poll back then, I also learned about a (for me) new [Wayback/Archive] Resource Editor | MelanderBlog which is still maintained every now and then. The download is at [Wayback/Archive] Downloads | MelanderBlog (at the time of writing [Wayback] ResourceEditor20190421b.zip).

More on that and download/install locations of various resource editors below a new poll.

This new poll adds Resource Editor and allows you to make multiple choices (in case you use more than one tool):

Read the rest of this entry »

Posted in .NET, Delphi, Development, Software Development, Windows Development | Tagged: , , | Leave a Comment »

When Delphi cannot output the .exe file because it is locked

Posted by jpluimers on 2025/08/20

Sometimes Delphi cannot output the .exe file because it is locked. In even rarer times, Delphi itself keeps the .exe file locked (this has done it for decades and I think this is caused by a bug in the debugger).

A long time ago, I answered how to figure out where the lock comes from. A decade later a comment was added (thanks [Wayback/Archive] Server Overflow) with a command-line tool you can use for that too (but sometimes returns less results). Both are in [Wayback/Archive] compilation – Delphi does not generate any exe file – Stack Overflow Read the rest of this entry »

Posted in Delphi, Development, Power User, Software Development, Windows, Windows 10, Windows 11, Windows 7, Windows 8, Windows 8.1, Windows Development | Leave a Comment »

Windows Data Types (BaseTsd.h) – Win32 apps | Microsoft Learn

Posted by jpluimers on 2025/07/22

A while ago, I had to figure out the field sizes for some Windows API functions. In the distance past, the base data types used to be defined in windows.h, but  over the decades that file has been split into various other files as there are far more than just the BOOL, int, UINT, DWORD, HWND, LPARAM and WPARAM data types. Currently the data types are defined in [Wayback/Wayback] Windows Data Types (BaseTsd.h) – Win32 apps | Microsoft Learn.

Note that C++ allows to specify bit field sizes for fields in struct composite data types, so under some circumstances, fields my have a different number of bits than you might expect from their data type.

Via [Wayback/Archive] c++ dword uint size – Google Search.

–jeroen

Posted in C++, Development, Software Development, Visual Studio C++, Windows Development | Leave a Comment »

Disabling the ever returning screens after Windows install/upgrade, and advertisements/feeds

Posted by jpluimers on 2025/07/21

This started out ad a post to make things easier for my mentally brother, but then I figured it makes it so much easier for myself as well: getting rid of the evern returning Windows nag screens. Not just the ones after logon during initial Windows install that get back about every other Windows 20H update (thank god they stepped away from 19## version numbering that felt so, ehm, last millennium), but also the various “suggestions” in start menu, on the taskbar and elsewhere.

I understand that basically giving Windows 10 and 11 for free to many Windows 7/8 licensed machines or Windows-preinstalled machines induces Microsoft to see Windows as an advertising environment, but hey: many users can do without these distractions.

It is hard to solve, as even the underlying registry settings seem to be reset every once in a while, and solving it globally is not an option: the settings are a per-user one. Which means you need to run script early during every Windows logon to overwrite these settings.

Read the rest of this entry »

Posted in Batch-Files, CommandLine, Conference Topics, Conferences, Development, Event, Power User, PowerShell, PowerShell, Registry Files, Scripting, Software Development, Windows, Windows 10, Windows 11, Windows Development | Tagged: | Leave a Comment »

Q145994: HOWTO: Calculate Dialog Units When Not Using the System Font | KnowledgeBase Archive

Posted by jpluimers on 2025/07/17

It is odd that Microsoft now verifies to an external party because most of the Microsoft KB articles got deleted: [Wayback/Archive] Q145994: HOWTO: Calculate Dialog Units When Not Using the System Font | KnowledgeBase Archive.

Part of them document aspects from Microsoft Foundation Class Library – Wikipedia which is still supported.

Via: [Wayback/Archive] How does the dialog manager calculate the average width of a character? – The Old New Thing:

Read the rest of this entry »

Posted in C++, Development, Software Development, Visual Studio C++, Windows Development | Leave a Comment »

Of interest – GitHub – t-d-k/LibreCrypt: LibreCrypt: Transparent on-the-fly disk encryption for Windows. LUKS compatible.

Posted by jpluimers on 2025/06/17

Of interest – despite the known issues and LUKS workaround through WSL – mainly as the majority was written in Delphi: [Wayback/Archive] GitHub – t-d-k/LibreCrypt: LibreCrypt: Transparent on-the-fly disk encryption for Windows. LUKS compatible.

Found when researching TFrame – What is the accepted way to use frames in Delphi? – Stack Overflow.

Related: Read the rest of this entry »

Posted in Delphi, Development, Encryption, Power User, Software Development, Windows Development | Leave a Comment »

Sequoiaview altrnatives

Posted by jpluimers on 2025/06/12

I wrote about Sequoiaview in depth in SequoiaView Homepage, made some research notes in “cushion treemap” delphi – Google Search and touched it slightly in A choco install list.

I never heard back from my request for Sequoiaview source code, and given ever increasing local storage media sizes, the speed of it now has become an issue, so I started looking to see if more alternatives have appeared and what sets them apart.

TL;DR

  1. There is the open source WinDirStat that runs as non-admin and is about as slow as Sequoiaview
  2. There is the closed source but free for personal use WizTree that requires admin elevation and is much faster than Sequoiaview and WinDirStat

Neither of them allow for a view that is cushion treemap only.

The reason that WizTree is fast is that it directly uses the NTFS MFT (Master File Table) to read the information from. This requires elevated permissions.

This is the same mechanism used by the Everything search tool, but unlike Everything, WizTree:

Read the rest of this entry »

Posted in C++, Development, Encoding, Mojibake, Software Development, UTF-8, Windows Development | Tagged: | Leave a Comment »

Bypassing ACLs with SeRestore privilege. And very simple User to LocalSystem elevation. – YouTube

Posted by jpluimers on 2025/05/28

This is cool and scary at the same time, especially since I knew about other privileges (SeDebugPrivilege comes to mind).

Granted you need to be local administrator for this, but still: for some tasks you do not need to elevate in the traditional way, but just give your current token more privileges.

[Wayback/Archive] Bypassing ACLs with SeRestore privilege. And very simple User to LocalSystem elevation. – YouTube

Via [WaybackSave/Archive] Grzegorz Tworek on X: “Friendly Reminder: If you have admin privileges but lack the necessary file permissions, you can leverage the SeBackup/SeRestore privileges directly from cmd.exe! There’s no need to elevate to LocalSystem, duplicate TrustedInstaller, or use similar methods. Simply enable the …”

Read the rest of this entry »

Posted in C, Development, Power User, Software Development, Windows, Windows Development | Leave a Comment »

Debugging Win32 binaries in Ghidra via Wine

Posted by jpluimers on 2025/05/20

For my link archive: [Wayback/Archive] Debugging Win32 binaries in Ghidra via Wine

[Wayback/Archive] Ghidra is a cross-platform reverse-engineering and binary analysis tool, with recent versions including support for dynamic analysis. I want to try using it as a replacement for IDA Pro in reverse-engineering of Win32 binaries, but hit bugs related to address space detection when running gdbserver with Wine ([Wayback/Archive] ghidra#4534).

This post contains custom GDB commands that allow Ghidra to query the Linux process ID and memory maps of a Win32 target process running in 32-bit Wine on a 64-bit Linux host.

Via [Wayback/Archive] Ptrace Security GmbH on Twitter: “Debugging Win32 binaries in Ghidra via Wine #Pentesting #Debugging #CyberSecurity #Infosec”.

--jeroen

Posted in Debugging, Development, Software Development, Windows Development | Tagged: , , , | Leave a Comment »