LoadLibrary への 2 回目の呼び出しでバックスラッシュをエスケープするのを忘れたため、失敗した可能性が最も高いです。ファイル名の引用符も忘れたため、質問を書いたときのタイプミスだったのかもしれません。;) つまり、次の行を変更します。
LoadLibrary(.\my dll directory\my dll.dll);
これになるには:
LoadLibrary(L".\\my dll directory\\my dll.dll");
(そして、リーディング.\\
が必要かどうかはわかりません)
それでも問題が解決しない場合は、これでおそらく必要なことが行われます。
wchar_t szFullPath[MAX_PATH] = {};
GetCurrentDirectory(MAX_PATH, szFullPath);
PathCchAppend(szFullPath, MAX_PATH, L"my dll directory\\my dll.dll");
HMODULE hDLL = LoadLibrary(szFullPath);
最後に、LoadLibrary は、依存する DLL を検索するためのさまざまな動作をします。また、パスの指定方法によっても異なります。それが、相対検索パスから DLL をロードする能力に影響を与えている可能性があります。MSDN ページを読んで、 LoadLibraryExやSetDllDirectoryなどのさまざまなオプション呼び出しを調べて、検索パスを処理しやすくすることを検討してください。DLL 検索パスに関するこのページも同様です。