News:

MASM32 SDK Description, downloads and other helpful links
MASM32.com New Forum Link
masmforum WebSite

Where is it?

Started by CrashBoy, January 28, 2010, 05:39:32 PM

Previous topic - Next topic

CrashBoy

Hello.

I've been looking up and down this forum and the net, but i can't find a place to download windows.inc. So, where can i find it?

Thanks.

jj2007

\masm32\include\Windows.inc

Provided you have properly installed the Masm32 package, and read the license agreement.

CrashBoy

I have that version, but as i understand it, there are constant updates brought to windows.inc. I just want to download the latest version.
Thanks for the reply.

dedndave

welllll - there are probably constant updates from ms to windows.h (eek- what a mess that is, i bet - lol)
then, there is windows.inc for the masm32 project that Hutch constantly updates
he only releases new versions, however, when he releases a new revision of masm32
you can go to the masm32 project windows.inc subforum and browse for member contributions if you'd like to update your own
i tend to update the portions that i think i may use between now and Hutch's next release
there also occassional updates to other parts of the package (lib's and macros)
i figure it is best to keep the modification of one part to a minimum, as updating another part may rely on it

CrashBoy

Quote from: dedndave on January 28, 2010, 07:38:53 PM
there is windows.inc for the masm32 project that Hutch constantly updates he only releases new versions, however, when he releases a new revision of masm32

Ah, yes... I see. So if I want the latest version of windows.inc, all i have to do is install the latest version of MASM32. Thanks!
As for me bringing any updates to windows.inc... not going to happen anytime soon. Just started learning assembler (yes, with MASM... i know it might be a tall order), so i'm still in the "read any tutorial you find" phase.

Thanks for clearing things up :)

donkey

Quote from: dedndave on January 28, 2010, 07:38:53 PM
welllll - there are probably constant updates from ms to windows.h (eek- what a mess that is, i bet - lol)

Actually, Windows.h only loads a default set of headers, WinNT.h, ShObjidl.h, WinUser.h and CommCtrl.h are the main include files for C++ (as well as GoAsm since it follows the Windows headers) and yes, they're a mess and difficult to work with. Those 4 files account for about 90% of Windows.inc last I checked.
"Ahhh, what an awful dream. Ones and zeroes everywhere...[shudder] and I thought I saw a two." -- Bender
"It was just a dream, Bender. There's no such thing as two". -- Fry
-- Futurama

Donkey's Stable

hutch--

The problem with windows.inc is the source material is endlessly being updated as OS development changes. The last addition to Windows.inc jumped its size by 600k and required the file to be split to work due to line length limitations in the older versaions of ML.EXE. It is a genuine pig to maintain as its content is order dependent and any structural change requires a lot of testing to make sure it does not crash on certain types of data. It has been tweaked to make sure it worked with the recent versions of POASM and as far as I know JWASM has no problems using it.

Now if you are targetting very late capacity WIN7 etc .... and you find equates, structures or prototypes that are not there, in the short term write a seperate include file that has this stuff in it, make sure it works with your app and is properly documented and publish it here so it can be added to the Windows.inc file combination.
Download site for MASM32      New MASM Forum
https://masm32.com          https://masm32.com/board/index.php

dedndave

that's a good point Hutch - win7 is a whole new ballgame
they changed and added so much (cough - crap - cough) stuff - lol
i will be surprised to see the OS's mesh together

donkey

Quote from: dedndave on January 29, 2010, 01:42:38 AM
i will be surprised to see the OS's mesh together

Hi Dave,

They do cr*p like this (from WinUser.h)

#IF WINVER >= NTDDI_WIN7
#define SM_CMETRICS 97
#ELSEIF WINVER >= NTDDI_VISTA
#define SM_CMETRICS 93
#ELSEIF WINVER >= NTDDI_WINXP
#define SM_CMETRICS 90
#ELSEIF WINVER = NTDDI_WIN2K
#define SM_CMETRICS 83
#ELSEIF WINVER = NTDDI_WINNT4
#define SM_CMETRICS 76
#ELSEIF WINVER = NTDDI_WIN9X
#define SM_CMETRICS 76
#ENDIF


And it drives me (and I assume Hutch) completely batty :) I was eventually forced to require a Windows version be specified when using the header project as there are some values and structures that will definitely break code if the versioning is wrong.

Edgar
"Ahhh, what an awful dream. Ones and zeroes everywhere...[shudder] and I thought I saw a two." -- Bender
"It was just a dream, Bender. There's no such thing as two". -- Fry
-- Futurama

Donkey's Stable

dedndave

hmmmm
are there different values for the platform at assembly time versus run-time ?
i suppose writing code that runs on multiple platforms is out of the question - lol

jj2007

Quote from: dedndave on January 29, 2010, 08:22:51 AM
are there different values for the platform at assembly time versus run-time ?
It seems that run-time problems are lurking ahead, i.e. running the prog on a different version would make it crash. On the other hand, SM_CMETRICS is not even mentioned in the standard GetSystemMetrics docs at MSDN. Google finds only CE and Mobile versions, and says "Windows CE does not support"...

According to this post at CodeGuru,
Const SM_CMETRICS As Int32 = 44 'Number of system metrics
Which would suggest that GetSystemMetrics uses a structure, and SM_CMETRICS is the size of the structure, not a "constant" across OS versions.

Crappy indeed, and one more proof that they have lost control over their pile of **** (did you realise that "code" is a four letter word?)
:bg

dedndave

go easy JJ - so is "Dave" - lol
well - it makes a mess for programmers that want to support different platforms
at some point we have to call it what it isn't - it isn't windows anymore - lol
what bugs me the most is the MSDN reference loses coherency because all the articles will be written for win7
all the info that applies to older OS's gets lost somewhere in ms's blackhole

xandaz

   Hey guys... any new versions of windows.inc? SERVICE_CONTROL_DEVICEEVENT is missing either from windows.inc or winsvc. Someone post me a link.
   Ty guys and bye.

xandaz