Skip to content

Commit 078333f

Browse files
committed
LoadLibraryAWrappesa
1 parent f470553 commit 078333f

File tree

2 files changed

+17
-2
lines changed

2 files changed

+17
-2
lines changed

wine/wine.vcxproj

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -77,7 +77,7 @@
7777
<GenerateDebugInformation>true</GenerateDebugInformation>
7878
<ModuleDefinitionFile>wine.def</ModuleDefinitionFile>
7979
<GenerateMapFile>true</GenerateMapFile>
80-
<AdditionalDependencies>%(AdditionalDependencies)</AdditionalDependencies>
80+
<AdditionalDependencies>shlwapi.lib;%(AdditionalDependencies)</AdditionalDependencies>
8181
</Link>
8282
</ItemDefinitionGroup>
8383
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
@@ -96,6 +96,7 @@
9696
<EnableCOMDATFolding>true</EnableCOMDATFolding>
9797
<OptimizeReferences>true</OptimizeReferences>
9898
<ModuleDefinitionFile>wine.def</ModuleDefinitionFile>
99+
<AdditionalDependencies>shlwapi.lib;%(AdditionalDependencies)</AdditionalDependencies>
99100
</Link>
100101
</ItemDefinitionGroup>
101102
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />

wine/wrapper.c

Lines changed: 15 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,20 @@
11
#include <Windows.h>
2+
#include <Shlwapi.h>
23
//PROGMAN.EXEなどでCOMMDLGが読み込まれなかったので修正
34
HMODULE LoadLibraryAWrapper(const char *name)
45
{
5-
return LoadLibraryA(name);
6+
HMODULE m = LoadLibraryA(name);
7+
if (m)
8+
return m;
9+
else
10+
{
11+
char buf[MAX_PATH];
12+
char buf2[MAX_PATH];
13+
GetModuleFileNameA(GetModuleHandleA("libwine.dll"), buf, sizeof(buf));
14+
*PathFindFileNameA(buf) = '\0';
15+
PathCombineA(buf2, buf, name);
16+
17+
m = LoadLibraryA(buf2);
18+
}
19+
return m;
620
}

0 commit comments

Comments
 (0)