Hey this message is for everyone, but mostly for Iczelion. I was writing a TreeView manager object, and realized that windows.inc doesnt have a definition for: TVM_ENDEDITLABELNOW. Its used to respond to RETURN and ESC commands (primarily) when your editing a label in a tree. With out it, there is no way to say cancle out after your start to edit a name! With a little help from JimmyClif, we got it figued out and thought I should let everyone else know, its: TVM_ENDEDITLABELNOW equ TV_FIRST + 22 NaN
theres alot of stuff missing from the windows.inc file. ive encountered quite a few things i had to input myself. like hutch and iczelion states the windows.inc file is by all means not complete. as microsoft makes changes to their os's the library and inc files change accordingly usually adding new entries not deleting. it is very time consuming to keep up with the lib and inc files, ive converted a few of the inc files and it takes quite some time. theres really not a program out that can extract the neccessary information and convert it to work with masm. there's a couple but they dont cover everthing and miss some stuff. smurf
Ugh, PLEASE stop trying to make windows.inc even LARGER. Did you know the compiler takes around 80% plus of the compile time just parsing windows.inc, and that's mostly for things you don't use anyway?
i guess the best you can do is create your own (and know what to put in there instead of all the stuff you don't need)
Some blocks of definitions are duplicated in WINDOWS.INC. I'll download the latest ver and do what I can with it. You'll be able to get the polished-up ver from www.hammick.com/hcs/win32.html in two or three days.
well i dont agree with ernie. i think the windows.inc needs to continue to grow larger with more and more updates. the assembler only takes a few seconds to compile anyways no big deal. im wondering why ernie's got a problem with that. having the windows inc not only helps the veterans but newbies will benifit more than anyone. i also dont understand what your talking about larry. masm will detect a redefinition if there is any duplicates in the windows.inc file. and you wont be able to assemble. smurf This message was edited by smurf, on 6/2/2001 6:59:10 AM
disease_2000, That's exactly what I did when I built the CoLib library. Each .asm file in it (and there are about 27 of em) required windows.inc, and the build time took forever. So I replaced windows.inc with mini_win.inc, and just defined the parts needed in that (some 100 lines perhaps). The build time went dramatically lower. windows.inc is an attempt to be all things to all people. I think it is a wonderful thing, I use it all the time, but that doesn't mean I completely agree with it's premise. And hey, who said you can please all of the people all of the time?
Hi guys, I too disagree with ernie here. I think the windows.inc SHOULD continue to expand. Also there is one question i would like to ask. How do u guys convert the values from the header to inc files. I have heard that it is a tough job and all but i would like to know as to how it is done so that i can manually specify a value which is not there in the inc file! Thankx in advanvce!
MovingFulcrum... actually converting the values in the header files are very simple. first off you need a set of include files from the microsoft sdk that you can use whenever you need to specify a value that isnt in the windows.inc file. for example when i assembled a program that i was working on, masm returned an error stating that WM_NCMOUSEHOVER is unrecognized or something like that. when an error such as this occurs i usually do a search in the windows.inc file for whatever it is that is unrecognized in this case it was WM_NCMOUSEHOVER. it wasnt in the windows.inc file so i did a search for a file containing WM_NCMOUSEHOVER. the search returned WinUser.h as a file that contained it. i then opened it up and found it in the file and it looked like this: #define WM_NCMOUSEHOVER 0x02A0 so in my .asm file i put under the .const section WM_NCMOUSEHOVER equ 02A0h here's another. this time i pulled it from CommCtrl.h: #define CBEM_HASEDITCHANGED (WM_USER + 10) so in my .asm file i put under the .const section CBEM_HASEDITCHANGED equ WM_USER + 10 hope this helps. it pretty staight foward to do these and many of the structure and functions but some i still just dont understand how to do. smurf This message was edited by smurf, on 6/2/2001 2:06:05 PM
MovingFulcrum, smurf... borland tools come with h2ash.exe and h2ash32.exe, and masm 5.x was shipped with a tool called h2inc.exe, that are supposed to convert .h c include files into .inc for assembler. i only managed to make these tools work with few .h files, always from the /examples directories. anybody know how use this tool with efficience? :confused: about windows.inc, i think the best way to use it is a a reference. in the editor, have your sources and it open, and cut&paste values from it in your own .inc file. This message was edited by vecna, on 6/2/2001 4:19:39 PM
disease_2000, nahh... i just trying different avatars till i find one i like before i reach the 20 message i will have it fixed i hope ;)
I have put windows.inc through some text file filters and it came down to under 600k (call Oprah Winfrey). It is in: www.hammick.com/hcs/win_inc.zip Hutch or iczelion: While I'm at it, would you like me to put windows.inc into the form a dbf table or Access database? Then a simple utility could output two versions of windows.inc, one cute one full of tabs and comments, and another lean one for the compiler.
Larry, If you look in the INCLUDE directory of MASM32, there is a utility that does just that called "hcompact.exe". It does reduce the size by a copule of hundred kilobytes but the speed problem is related to the number of items in windows.inc not just its disk size. I did the original version a few years ago for the WIN32 based structures and equates and Iczelion has an enormous amount of work with the NT and later version add ins. Unfortunately there is no fast way to do it short of writing a C compiler front end that will automatically convert the SDK C/C++ include files into asm INCLUDE files and that is a task I am not that keen to perform as it would be very hard to get it going reliably. The utility that creates the library INCLUDE files was no joy to write and it is reasonably reliable for what it was intended to do but the range of information is so large that manually writing and testing header files is a task measured in man years. Regards, firstname.lastname@example.org
I can see it was a ton of effort. Those filters brought out these two bugged lines: DRV_MCI_LAST equ DRV_RESERVED + FFFh PS_TYPE_MASK equ F0000h
why not put everything into windows.inc?
The trouble, NOP, is the problem of maintaining this monster. I hope the big software houses soon give up on keeping big symbol lists in mere text files.