Win32. Aktivieren Sie visuelle Stile in DLL

Ich habe keine Erfahrung mit C ++ und Win API. Es tut mir leid, wenn diese Frage unbeantwortet bleibt. Ich habe DLL, wo ich einige Komponenten erstellen,MessageBox zum Beispiel. Ich habe einen Pragma-Kommentar hinzugefügt, um visuelle Stile zu aktivieren, und dieser funktioniert nicht (und sollte es auch nicht, wie ich aus dieser Antwort weiß:Windows 7-Stil für Combobox in der Symbolleiste des Internet Explorers, wie?

DLL Code (Export weglassen und so weiter):

#include "stdafx.h"
#include "my-dll.h"
#include <Windows.h>
#pragma comment(linker,"\"/manifestdependency:type='win32' name='Microsoft.Windows.Common-Controls' version='6.0.0.0' processorArchitecture='*'    publicKeyToken='6595b64144ccf1df' language='*'\"")

MYDLL_API int fnmydll(void)
{
   MessageBox(NULL, L"Message", NULL, 0);
   return 42;
}

Dann rufe ich diese DLL-Funktion von meiner App aus auf:

#include <iostream>
#include <Windows.h>
#include "my-dll.h"

int WinMain(HINSTANCE hInstance,
                   HINSTANCE hPrevInstance,
                   LPSTR lpCmdLine,
                   int nCmdShow)
{
    fnmydll();
    return 0;
}

Und ich habe meine Nachrichtenbox, aber ohne visuelle Stile. Soweit ich weiß, sollte ich den Kontext aktivieren, wenn meine DLL aufgerufen wird, aber MSDN hat keine Beispiele dafür. Könnten Sie mir bitte ein solches Beispiel geben oder zumindest erklären, was im Einzelnen vor sich geht? Weil ich nicht mal verstehen kann, warum das so istBOOL GetCurrentActCtx(_Out_ HANDLE *lphActCtx); erhält Zeiger aufACTCTX aber hat Unterschrift mit einigenHANDLE Art.

Antworten auf die Frage(1)

Ihre Antwort auf die Frage