Hello Wine developers,
I am writing to this forum because I wanted to contribute some useful development information to your community while at the same time not have to get too involved as I currently have no plans to stay involved going forward.
I wanted to say that I am *really* impressed with the codebase that you guys have developed! I stumbled across the Winehq site as I was looking for more information on Microsoft's Toolbar common control. The source code you guys have has made understanding the internals of the Toolbar control really easy and I really appreciate the work you guys have done. (I even took a peek at Microsoft's comctl32.dll disassembly to confirm a couple of the things you guys wrote and it checked out) ;-)
So, anyway, in gratitude for what you guys have provided me I wanted to "give something back". I noticed that there are several Toolbar window messages which are listed as "unknown" which at the time of the writing of this e-mail are now definitely "known" and I would like to provide that information to someone to check in to your source code base.
Here is my contribution:
http://source.winehq.org/source/dlls/comctl32/toolbar.c
Function: ToolbarWindowProc()
TB_UNKWN45E is really TB_SETHOTITEM2 (WM_USER + 94) TB_UNKWN460 is really TB_SETLISTGAP (WM_USER + 96) TB_UNKWN462 is really TB_GETIMAGELISTCOUNT (WM_USER + 98) TB_UNKWN463 is really TB_GETIDEALSIZE (WM_USER + 99) TB_UNKWN467 (which is not in the Wine source yet) is really TB_GETITEMDROPDOWNRECT (WM_USER + 103)
Those Toolbar window messages are currently not in the public Windows headers at this time but they have been *documented* on the MSDN Library web site now.
Here are links to the MSDN Library help topics giving evidence to what I wrote up above: http://msdn.microsoft.com/en-us/library/cc835036(VS.85).aspx http://msdn.microsoft.com/en-us/library/bb787441(VS.85).aspx http://msdn.microsoft.com/en-us/library/cc835034(VS.85).aspx http://msdn.microsoft.com/en-us/library/cc835033(VS.85).aspx http://msdn.microsoft.com/en-us/library/cc835035(VS.85).aspx
Also, in this source file: http://source.winehq.org/source/include/commctrl.h
Someone took a REALLY good guess at the name of a Toolbar notification! TBN_WRAPHOTITEM is definitely the name of notification TBN_FIRST- 24. Good guess! I would say that the comment about this message being undocumented and just a "guess" can now be removed. Even though this message is also not in any public header file, this message is now *documented* and the documentation can be found here:
http://msdn.microsoft.com/en-us/library/cc835032(VS.85).aspx
Cheers! :-)
Alan Feldman
On Wed, Dec 31, 2008 at 3:49 AM, Alan Feldman alanfeld@gmail.com wrote:
Hello Wine developers,
I am writing to this forum because I wanted to contribute some useful development information to your community while at the same time not have to get too involved as I currently have no plans to stay involved going forward.
I wanted to say that I am *really* impressed with the codebase that you guys have developed! I stumbled across the Winehq site as I was looking for more information on Microsoft's Toolbar common control. The source code you guys have has made understanding the internals of the Toolbar control really easy and I really appreciate the work you guys have done. (I even took a peek at Microsoft's comctl32.dll disassembly to confirm a couple of the things you guys wrote and it checked out) ;-)
Wine doesn't allow reverse engineering. Sorry, but you won't be able to contribute code if you looked at its disassembly.
although he used disassembly to check our implementation, he gave msdn proof for the notifications he talked about... and didn't contribute code.
----------------------------------------
Date: Wed, 31 Dec 2008 08:45:43 -0600 From: austinenglish@gmail.com To: alanfeld@gmail.com Subject: Re: Contribution to the Toolbar common control CC: wine-devel@winehq.org
On Wed, Dec 31, 2008 at 3:49 AM, Alan Feldman wrote:
Hello Wine developers,
I am writing to this forum because I wanted to contribute some useful development information to your community while at the same time not have to get too involved as I currently have no plans to stay involved going forward.
I wanted to say that I am *really* impressed with the codebase that you guys have developed! I stumbled across the Winehq site as I was looking for more information on Microsoft's Toolbar common control. The source code you guys have has made understanding the internals of the Toolbar control really easy and I really appreciate the work you guys have done. (I even took a peek at Microsoft's comctl32.dll disassembly to confirm a couple of the things you guys wrote and it checked out) ;-)
Wine doesn't allow reverse engineering. Sorry, but you won't be able to contribute code if you looked at its disassembly.
-- -Austin
_________________________________________________________________ Drag n’ drop—Get easy photo sharing with Windows Live™ Photos.
Ouch Austin. But thanks Ricardo for explaining to Austin that I wasn't actually contributing "code" and I also didn't use any reverse engineering to come up with that discovery.
All I did was go to Microsoft's MSDN Libary web site and compare the Toolbar messages listed there with the "publicly available" Microsoft header files (you guys do actually allow yourselves to visit Microsoft's MSDN Library every now and then and peruse Microsoft's publicly available header files don't you?). And I discovered that there were several Toolbar messages that were listed on the MSDN Library web site that were not listed in the publicly available header files.
If you had actually gone to the web links I had listed before you would have seen text similar to the following at the bottom of each link:
<< This message is not included in a public header at this time. It is defined as WM_USER + 94. >>
All I was trying to do was give you guys actual, "published" names from Microsoft for some constants you guys are using in your code so you didn't have to suffer from looking at names like TB_UNKWN45E rather than a much more meaningful and now published name of TB_SETHOTITEM2.
I will list that information here again in case someone other than yourself finds the information of use. But I really don't care whether you make use of this discovery or not. I just figured since the code from your community helped me out, I would try to give something back to you guys. Take it and make use of it, or leave it. I really don't care.
TB_UNKWN45E is really TB_SETHOTITEM2 (WM_USER + 94) TB_UNKWN460 is really TB_SETLISTGAP (WM_USER + 96) TB_UNKWN462 is really TB_GETIMAGELISTCOUNT (WM_USER + 98) TB_UNKWN463 is really TB_GETIDEALSIZE (WM_USER + 99) TB_UNKWN467 (which is not in the Wine source yet) is really TB_GETITEMDROPDOWNRECT (WM_USER + 103)
http://msdn.microsoft.com/en-us/library/cc835036(VS.85).aspx http://msdn.microsoft.com/en-us/library/bb787441(VS.85).aspx http://msdn.microsoft.com/en-us/library/cc835034(VS.85).aspx http://msdn.microsoft.com/en-us/library/cc835033(VS.85).aspx http://msdn.microsoft.com/en-us/library/cc835035(VS.85).aspx
Take care, and good luck,
Alan Feldman
"ricardo filipe" ricardo_barbano@hotmail.com wrote in message news:BAY118-W42006CA0FFCB83171C224783E40@phx.gbl...
although he used disassembly to check our implementation, he gave msdn proof for the notifications he talked about... and didn't contribute code.
On Wed, Dec 31, 2008 at 9:45 AM, Austin English austinenglish@gmail.com wrote:
On Wed, Dec 31, 2008 at 3:49 AM, Alan Feldman alanfeld@gmail.com wrote:
Hello Wine developers,
I am writing to this forum because I wanted to contribute some useful development information to your community while at the same time not have to get too involved as I currently have no plans to stay involved going forward.
I wanted to say that I am *really* impressed with the codebase that you guys have developed! I stumbled across the Winehq site as I was looking for more information on Microsoft's Toolbar common control. The source code you guys have has made understanding the internals of the Toolbar control really easy and I really appreciate the work you guys have done. (I even took a peek at Microsoft's comctl32.dll disassembly to confirm a couple of the things you guys wrote and it checked out) ;-)
Wine doesn't allow reverse engineering. Sorry, but you won't be able to contribute code if you looked at its disassembly.
-- -Austin
On Wed, Dec 31, 2008 at 6:53 PM, Alan Feldman alanfeld@gmail.com wrote:
Ouch Austin. But thanks Ricardo for explaining to Austin that I wasn't actually contributing "code" and I also didn't use any reverse engineering to come up with that discovery.
Didn't mean for it come off as harsh. I know that wasn't code, but I'm not sure how much he can contribute, having seen the disassembly.
That said, the information is appreciated, and hopefully someone can put it to use.
Thanks for helping wine!
:-)
Happy New Year to all,
Alan Feldman
On Wed, Dec 31, 2008 at 9:13 PM, Austin English austinenglish@gmail.com wrote:
On Wed, Dec 31, 2008 at 6:53 PM, Alan Feldman alanfeld@gmail.com wrote:
Ouch Austin. But thanks Ricardo for explaining to Austin that I wasn't actually contributing "code" and I also didn't use any reverse engineering to come up with that discovery.
Didn't mean for it come off as harsh. I know that wasn't code, but I'm not sure how much he can contribute, having seen the disassembly.
That said, the information is appreciated, and hopefully someone can put it to use.
Thanks for helping wine!
-Austin