diff --git a/rostests/apitests/user32/CMakeLists.txt b/rostests/apitests/user32/CMakeLists.txt index 0a1d7491569..8bb6e912b45 100644 --- a/rostests/apitests/user32/CMakeLists.txt +++ b/rostests/apitests/user32/CMakeLists.txt @@ -10,6 +10,7 @@ list(APPEND SOURCE GetPeekMessage.c GetSystemMetrics.c InitializeLpkHooks.c + LoadImage.c RealGetWindowClass.c ScrollDC.c ScrollWindowEx.c diff --git a/rostests/apitests/user32/LoadImage.c b/rostests/apitests/user32/LoadImage.c new file mode 100644 index 00000000000..ef6b8de5c7f --- /dev/null +++ b/rostests/apitests/user32/LoadImage.c @@ -0,0 +1,38 @@ + +#include +#include +#include +#include "resource.h" + +START_TEST(LoadImage) +{ + char path[MAX_PATH]; + PROCESS_INFORMATION pi; + STARTUPINFO si; + HANDLE handle; + + char **test_argv; + int argc = winetest_get_mainargs( &test_argv ); + + /* Now check its behaviour regarding Shared icons/cursors */ + handle = LoadImageW( GetModuleHandle(NULL), L"TESTCURSOR", IMAGE_CURSOR, 0, 0, LR_SHARED | LR_DEFAULTSIZE ); + ok(handle != 0, "\n"); + + if (argc >= 3) + { + HANDLE arg; + + sscanf (test_argv[2], "%lu", (ULONG_PTR*) &arg); + + ok(handle != arg, "Got same handles\n"); + + return; + } + + /* Start child process */ + sprintf( path, "%s LoadImage %lu", test_argv[0], (ULONG_PTR)handle ); + memset( &si, 0, sizeof(si) ); + si.cb = sizeof(si); + CreateProcessA( NULL, path, NULL, NULL, TRUE, 0, NULL, NULL, &si, &pi ); + WaitForSingleObject (pi.hProcess, INFINITE); +} \ No newline at end of file diff --git a/rostests/apitests/user32/testlist.c b/rostests/apitests/user32/testlist.c index 0c8737fc3a4..9e86083bcc7 100644 --- a/rostests/apitests/user32/testlist.c +++ b/rostests/apitests/user32/testlist.c @@ -14,6 +14,7 @@ extern void func_GetKeyState(void); extern void func_GetPeekMessage(void); extern void func_GetSystemMetrics(void); extern void func_InitializeLpkHooks(void); +extern void func_LoadImage(void); extern void func_RealGetWindowClass(void); extern void func_ScrollDC(void); extern void func_ScrollWindowEx(void); @@ -35,6 +36,7 @@ const struct test winetest_testlist[] = { "GetPeekMessage", func_GetPeekMessage }, { "GetSystemMetrics", func_GetSystemMetrics }, { "InitializeLpkHooks", func_InitializeLpkHooks }, + { "LoadImage", func_LoadImage }, { "RealGetWindowClass", func_RealGetWindowClass }, { "ScrollDC", func_ScrollDC }, { "ScrollWindowEx", func_ScrollWindowEx },