Especificando DLLs para carregamento de atraso
Você pode especificar qual carregar DLLs para atrasar a com o /delayload:dllname opção de vinculador.Se pretende usar sua própria versão de uma função auxiliar, você também deve vincular seu programa com Delayimp.lib.
Este é um exemplo simples de carregar uma DLL de atraso:
// cl t.cpp user32.lib delayimp.lib /link /DELAYLOAD:user32.dll
#include <windows.h>
// uncomment these lines to remove .libs from command line
// #pragma comment(lib, "delayimp")
// #pragma comment(lib, "user32")
int main() {
// user32.dll will load at this point
MessageBox(NULL, "Hello", "Hello", MB_OK);
}
Crie a versão de depurar do projeto.Percorra o código usando que o depurador e você irá notar que user32.dll é carregado somente quando fazer a telefonar para MessageBox.