Ik ben de laatste tijd bezig met het programmeren van shell extensions in Visual Basic 6. Ik compileer deze projecten als ActiveX DLL's. Nu wil ik graag dat wanneer deze programma's opgestart worden vanuit Windows XP alle componenten het XP uiterlijk gebruiken. Omdat deze extensions opgestart worden door de Windows verkenner kan je niet zomaar een manifest bestand in de map van de DLL zetten. Ik zal hieronder even alle stappen beschrijven die ik tot nu toe heb genomen.
Manifest mbv resource bestand mee compileren
Dit manifest bestand compileer ik in mijn resource bestand met het volgende resource script:
Common controls laden
Ik laad ComCtl32 in met de volgende code:
Het werkt echter nog niet. Ik krijg nog steeds de (ouderwetse) grijze knoppen.
Ik heb de tutorial op MSDN gevolgd. Wie kan mij vertellen waarom mijn programma's niet het Windows XP uiterlijk aannemen?
Manifest mbv resource bestand mee compileren
Programma.dll.manifest (704 Bytes)
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
| <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
<assemblyIdentity
version="1.0.0.0"
processorArchitecture="X86"
name="Programma"
type="win32"/>
<description>Programma</description>
<dependency>
<dependentAssembly>
<assemblyIdentity
type="win32"
name="Microsoft.Windows.Common-Controls"
version="6.0.0.0"
processorArchitecture="X86"
publicKeyToken="6595b64144ccf1df"
language="*"/>
</dependentAssembly>
</dependency>
</assembly> |
Dit manifest bestand compileer ik in mijn resource bestand met het volgende resource script:
Programma.rc
code:
1
| 2 24 Programma.dll.manifest |
Common controls laden
Ik laad ComCtl32 in met de volgende code:
Visual Basic:
1
2
3
4
5
6
7
| Private Declare Function InitCommonControls _ Lib "comctl32.dll" () As Long Private Sub Form_Initialize() InitCommonControls End Sub |
Het werkt echter nog niet. Ik krijg nog steeds de (ouderwetse) grijze knoppen.
Ik heb de tutorial op MSDN gevolgd. Wie kan mij vertellen waarom mijn programma's niet het Windows XP uiterlijk aannemen?