On Sun, Jun 12, 2011 at 9:32 AM, Patrick Gauthier webmaster@korosoft.net wrote:
This patch relies on my previous patch that sets the ordinals right.
Given that these functions would only be available on COMCTL32 v6.x, Vista+, I added a win_skip if the APIs are not present. However unless the test EXE has a manifest on Windows I think it might never find them.
Hey, Patrick.
Look at tests/listview.c for example to see how I load version 6 with activation context API. It doesn't work for some reason for XP SP3 (a glitch I don't understand), but works fine for everything else. All you need is v6util.h.
Without version 6 activation this test is useless to run in auto mode, it will never find TaskDialog entry points.
Thanks for your interest.
Hey, Patrick.
Look at tests/listview.c for example to see how I load version 6 with activation context API. It doesn't work for some reason for XP SP3 (a glitch I don't understand), but works fine for everything else. All you need is v6util.h.
Without version 6 activation this test is useless to run in auto mode, it will never find TaskDialog entry points.
Thanks for your interest.
Thanks for the information. I have redone my patch using it.
I looked at v6util.h and could not help but notice two things though:
- There is no need to set processorArchitecture to "x86" or "amd64" as far as I know, Windows will happily take "*" to mean "whatever the currently applicable architecture is". - As a result of the previous comment, there would be no point to generate the manifest as a file, as it could be loaded from a resource (CreateActCtx supports this), that would seem cleaner to me than generating temporary files.
- Patrick
On Mon, Jun 13, 2011 at 2:09 AM, Patrick Gauthier webmaster@korosoft.net wrote:
Hey, Patrick.
Look at tests/listview.c for example to see how I load version 6 with activation context API. It doesn't work for some reason for XP SP3 (a glitch I don't understand), but works fine for everything else. All you need is v6util.h.
Without version 6 activation this test is useless to run in auto mode, it will never find TaskDialog entry points.
Thanks for your interest.
Thanks for the information. I have redone my patch using it.
I looked at v6util.h and could not help but notice two things though:
- There is no need to set processorArchitecture to "x86" or "amd64"
as far as I know, Windows will happily take "*" to mean "whatever the currently applicable architecture is".
- As a result of the previous comment, there would be no point to
generate the manifest as a file, as it could be loaded from a resource (CreateActCtx supports this), that would seem cleaner to me than generating temporary files.
Sure, improvements are always welcome. As separate patches of course.
- Patrick
Am 13.06.2011 00:09, schrieb Patrick Gauthier:
- As a result of the previous comment, there would be no point to generate the manifest as a file, as it could be loaded from a resource (CreateActCtx supports this), that would seem cleaner to me than generating temporary files.
IIRC the reason for the temporary file is that we can easily turn the v6 features on and off and AFAIK we can't if we have it "hardcoded" in a resource.
On 06/13/11 06:54, André Hentschel wrote:
IIRC the reason for the temporary file is that we can easily turn the v6 features on and off and AFAIK we can't if we have it "hardcoded" in a resource.
I did not mean to hardcode as a resource of type RT_MANIFEST id 1, but rather some random id, then we can still manually load v6 using CreateActCtx, only we don't have to create a temporary file.
On this page:
http://msdn.microsoft.com/en-us/library/aa374149%28v=vs.85%29.aspx
I point to you the members lpResourceName and hModule. That is what I was talking about.
Sorry for the misunderstanding!
- Patrick
2011/6/13 André Hentschel nerv@dawncrow.de:
Am 13.06.2011 00:09, schrieb Patrick Gauthier:
- As a result of the previous comment, there would be no point to
generate the manifest as a file, as it could be loaded from a resource (CreateActCtx supports this), that would seem cleaner to me than generating temporary files.
IIRC the reason for the temporary file is that we can easily turn the v6 features on and off and AFAIK we can't if we have it "hardcoded" in a resource.
This is true only for predefined resource type/ID pair. It seems CreateActCtx supports creating from any specified resource that won't necessary be used by loader automatically.
--
Best Regards, André Hentschel