Archive for the ‘Windows Development’ Category
Posted by jpluimers on 2017/05/26
Source:
History repeating itself: [Archive.is] 31607 – C:\nul\nul crashes/BSOD then, now it’s this:
Via:
All versions prior to Windows 10 and Windows Server 2016 seem vulnerable.
So add $MFT to this list:
Oh BTW: history repeated itself this year too. With NUL
In short, Steven Sheldon created a rust package named nul which broke the complete package manager on Windows:
BTW: one of my gripes on learning new languages is that they come with a whole new idiom of their ecosystem: rust, cargo, crates, all sound like being a truck mechanic to me.
–jeroen
Read the rest of this entry »
Posted in Development, Microsoft Surface on Windows 7, NTFS, Power User, Security, Software Development, The Old New Thing, Windows, Windows 10, Windows 7, Windows 8, Windows 8.1, Windows 9, Windows 95, Windows 98, Windows Defender, Windows Development, Windows ME, Windows NT, Windows Server 2000, Windows Server 2003, Windows Server 2003 R2, Windows Server 2008, Windows Server 2008 R2, Windows Server 2012, Windows Server 2012 R2, Windows Server 2016, Windows Vista, Windows XP | Leave a Comment »
Posted by jpluimers on 2017/05/04
Boy I wish I had known this long ago:
You can use DUMPBIN too. Use the /headers or /all flag and its the first file header listed.
dumpbin /headers cv210.dll
…
‘find’ can make life slightly easier:
dumpbin /headers cv210.dll |find "machine"
8664 machine (x64)
Mark McDonald
–jeroen
via: c# – How to find if a native DLL file is compiled as x64 or x86? – Stack Overflow [WayBack]
Posted in Development, Software Development, Windows Development | Leave a Comment »
Posted by jpluimers on 2017/04/25
pestudio
The standard version of pestudio is free to download as a ZIP file (md5: D62BDE0319015C7CD5ABA8D03A36FFBF).
Once decompressed, pestudio does not require any installation nor does it change the system it is running on.
It is fully portable and runs on any Windows platform. Details about the features of this standard version are available at here [WayBack].
Download pestudio 8.54 [WayBack]
pestudio+
The professional version of pestudio must be purchased and provides the full set of features of the tool. Details about the professional version as well as the licence conditons are available here [WayBack].
Source: pestudio [WayBack]
A great guide is at PeStudio Standard [WayBack] which despite the name does an in-depth explanation on how to use this great tool.
–jeroen
Via: Guide / tutorial, nice tool to examine executables, find virus etc – David Berneda – Google+ [WayBack]
Posted in Development, Software Development, Windows Development | Leave a Comment »
Posted by jpluimers on 2017/04/19
I had a Fatal error Illegal macro definition in command line or defines page. thrown by BRCC32.exe in one of my Delphi projects.
As cgrc.exe could build the .rc file [source in Russian; WayBack], I reproduced it from the console with an Empty.rc file that has no content. That way I could rule out file content: now it had to be command-line arguments which is a different cause than any of the search results I found before.
My project was based on one of the DUnitX test projects. It ran in Delphi XE8, but the Delphi version doesn’t matter as BRCC32 hasn’t been updated since 1999.
Further below are the failure/success examples; this went wrong:
- DUnitX uses the
DUNITX-DEBUG define to enable debugging of DUnitX itself in DUnitX.inc which also supports the DUNITXDEBUG define in the same area.
- Delphi will translate a .RC file in a project into a BRCC32.exe call adding the project conditional defines and search paths
- BRCC32.exe doesn’t like hyphens in conditional defines throwing a non-descriptive error
Fatal error Illegal macro definition in command line or defines page.
So either removing DUNITX-DEBUG or changing it into DUNITXDEBUG solves the problem. Hence my pull-request.
Read the rest of this entry »
Posted in Delphi, Development, Resource Files and Scripts (.res/.rc), Software Development, Windows Development | Leave a Comment »
Posted by jpluimers on 2017/02/23
Some links that were useful getting back into using Delphi with resource scripts and include files:
Maybe I should have considered this alternative:
–jeroen
PS: a first go on a resource file structure for Version Information is below.
Read the rest of this entry »
Posted in Delphi, Development, QC, Resource Files and Scripts (.res/.rc), Software Development | Leave a Comment »
Posted by jpluimers on 2017/02/08
Be sure to read the details in Trying to recover from enhancement software that generates fake input incorrectly – The Old New Thing [WayBack] (much more Old New Think stuff below):
The most insightful part for me was this diagram listing where various methods enter the message pipeline (I added the GetMessage/PeekMessage entry):
Read the rest of this entry »
Posted in Conference Topics, Conferences, Delphi-Tage.de, Development, Event, Software Development, The Old New Thing, Windows Development | Leave a Comment »
Posted by jpluimers on 2017/01/05
Something to remember: Delphi To Go: Include resource files in your Delphi build process
Note it’s not enough to add a line like this to your .dpr file:
{$R 'New1.res' 'New1.rc'}
The resources actually needs to be part of your .dproj file (which basically is an XML msbuild file adhering to the MSBuild Project File Schema Reference).
That way, the BrccCompile target in $(BDS)\bin\CodeGear.Delphi.Targets will automatically pick it up during build.
I just checked and these target files support BrccCompile:
...\Embarcadero\RAD Studio\7.0\bin\CodeGear.Delphi.Targets
...\Embarcadero\RAD Studio\8.0\bin\CodeGear.Delphi.Targets
...\Embarcadero\RAD Studio\9.0\bin\CodeGear.Delphi.Targets
...\Embarcadero\RAD Studio\10.0\bin\CodeGear.Delphi.Targets
...\Embarcadero\RAD Studio\11.0\bin\CodeGear.Delphi.Targets
...\Embarcadero\RAD Studio\12.0\bin\CodeGear.Delphi.Targets
...\Embarcadero\Appmethod\13.0\bin\CodeGear.Delphi.Targets
...\Embarcadero\Studio\14.0\bin\CodeGear.Delphi.Targets
...\Embarcadero\Studio\15.0\bin\CodeGear.Delphi.Targets
...\Embarcadero\Studio\16.0\bin\CodeGear.Delphi.Targets
...\Embarcadero\Studio\17.0\bin\CodeGear.Delphi.Targets
...\Embarcadero\Studio\18.0\bin\CodeGear.Delphi.Targets
Which means it’s available as of Delphi 2007 until at least Delphi 10.1 Berlin and might even work in Delphi 2006
It could be a little bit flakey in Delphi 2007 (I’ve had many msbuild issues there) but more recent versions should be fine.
–jeroen
Related: I have a big file to add +’ at the beginning of a line and ‘ at the end…- shlomo abuisak – Google+
Posted in Delphi, Delphi 10 Seattle, Delphi 10.1 Berlin (BigBen), Delphi 2006, Delphi 2007, Delphi 2009, Delphi 2010, Delphi XE, Delphi XE2, Delphi XE3, Delphi XE4, Delphi XE5, Delphi XE6, Delphi XE7, Delphi XE8, Development, Resource Files and Scripts (.res/.rc), Software Development | Leave a Comment »
Posted by jpluimers on 2016/12/22
A while ago I bumped into [WayBack] Where can I get the glossary of Microsoft’s standard translations for computer terms? – The Old New Thing
Since I’m a non-digital pack-rat as well, I love [WayBack] this comment by [WayBack] Ian Boyd:
We have an *old* copy of the Microsoft Style Guide – an actual book. From that book i’ll always remember that e-mail has a hyphen in it.
I’ve that book too and write e-mail the same way.
But books are often hard to search through, so I love this list that [WayBack] Raymond Chen made:
I especially like the [WayBack] interactive search, but with any outcome, please remember that the context of your translation is very important.
For instance, I vividly remember a project some 20+ years ago where we had to translate the words “Close” and “Cancel” in the realm of the insurance business.
All guides indicated “Close” should become “Sluiten” which in that realm is colloquial for “Afsluiten” which means “to take out an insurance” implying a totally wrong action. Similarly “Cancel” translated to “Annuleren” which in the same realm would mean “to cancel an insurance”.
So we went for very specific translations narrowing down what exactly would happen in those screens, like:
- “Verlaten” (English “Exit”)
- “Bewaren” or “Opslaan” (English “Save”)
- “Terug” (English “Back”)
–jeroen
Posted in Development, internatiolanization (i18n) and localization (l10), Software Development, The Old New Thing, Windows Development | Leave a Comment »
Posted by jpluimers on 2016/10/27
Slightly updated the answer the /D Y part will recursively accept taking ownership when directory listing is denied in the permissions:
To fix really broken permissions, the best is to run these two commands one after the other:
takeown /F /D Y "C:\path\to\folder" /R
icacls "C:\path\to\folder" /reset /T
The first one will give you ownership of all the files, however that might not be enough, for example if all the files have the read/write/exec permissions set to “deny”. You own the files but still cannot do anything with them.
In that case, run the second command, which will fix the broken permissions.
via: permissions – recursively change owner windows 7 – Super User
–jeroen
Posted in Batch-Files, Development, Power User, Scripting, Software Development, Windows, Windows 10, Windows 7, Windows 8, Windows 8.1, Windows 9, Windows Development, Windows Server 2000, Windows Server 2003, Windows Server 2003 R2, Windows Server 2008, Windows Server 2008 R2, Windows Server 2012, Windows Server 2012 R2, Windows Vista, Windows XP | Leave a Comment »