TestCase2: embed manifest in dependent dll and two versions of modules with same name - viruscamp/Dependencies GitHub Wiki

// cl use_comctl32.c comctl32.lib use_comctl32_6.lib delayimp.lib  /link /DELAYLOAD:use_comctl32_6.dll

// 1. should load two versions of comctl32.dll
// 2. manifest embeded in use_comctl32_6.dll should be processed
// 3. load another comctl32.dll from WinSxS

#include <windows.h>
#include <commctrl.h>
#include <stdio.h>

// use_comctl32_6.dll requires comctl32.dll 6.x in winsxs
__declspec(dllimport) void UseTaskDialogIndirect();
__declspec(dllimport) void UseInitCommonControls();

int main() {
    INITCOMMONCONTROLSEX InitCtrls;

    printf("Please use ProcessHacker or SystemInformer to check loaded modules.\n");

    InitCtrls.dwSize = sizeof(InitCtrls);
    InitCtrls.dwICC = ICC_WIN95_CLASSES;
    InitCommonControlsEx(&InitCtrls);

    printf("loaded System32\\comctl32.dll or WinSxS\\5.82\\comctl32.dll \n");
    getchar();

    UseInitCommonControls();

    printf("loaded WinSxS\\6.0\\comctl32.dll\n");
    getchar();
    return 0;
}
⚠️ **GitHub.com Fallback** ⚠️