1 /* 2 * PROJECT: ReactOS API tests 3 * LICENSE: GPL-2.0+ (https://spdx.org/licenses/GPL-2.0+) 4 * PURPOSE: Test for ShellExec_RunDLL 5 * COPYRIGHT: Copyright 2025 Katayama Hirofumi MZ <katayama.hirofumi.mz@gmail.com> 6 */ 7 8 #include "shelltest.h" 9 #include "closewnd.h" 10 #include <undocshell.h> 11 12 static WINDOW_LIST s_List1, s_List2; 13 14 static VOID TEST_ShellExec_RunDLL(VOID) 15 { 16 ShellExec_RunDLL(NULL, NULL, "?0?notepad.exe", SW_SHOWNORMAL); 17 } 18 19 static VOID TEST_ShellExec_RunDLLA(VOID) 20 { 21 ShellExec_RunDLLA(NULL, NULL, "?0?notepad.exe", SW_SHOWNORMAL); 22 } 23 24 static VOID TEST_ShellExec_RunDLLW(VOID) 25 { 26 ShellExec_RunDLLW(NULL, NULL, L"?0?notepad.exe", SW_SHOWNORMAL); 27 } 28 29 static VOID CleanupWindowList(VOID) 30 { 31 GetWindowListForClose(&s_List2); 32 CloseNewWindows(&s_List1, &s_List2); 33 FreeWindowList(&s_List1); 34 FreeWindowList(&s_List2); 35 } 36 37 START_TEST(ShellExec_RunDLL) 38 { 39 HWND hwndNotepad; 40 41 GetWindowList(&s_List1); 42 TEST_ShellExec_RunDLL(); 43 Sleep(1000); 44 hwndNotepad = FindWindowW(L"Notepad", NULL); 45 ok(hwndNotepad != NULL, "Notepad not found\n"); 46 CleanupWindowList(); 47 48 GetWindowList(&s_List1); 49 TEST_ShellExec_RunDLLA(); 50 Sleep(1000); 51 hwndNotepad = FindWindowW(L"Notepad", NULL); 52 ok(hwndNotepad != NULL, "Notepad not found\n"); 53 CleanupWindowList(); 54 55 GetWindowList(&s_List1); 56 TEST_ShellExec_RunDLLW(); 57 Sleep(1000); 58 hwndNotepad = FindWindowW(L"Notepad", NULL); 59 ok(hwndNotepad != NULL, "Notepad not found\n"); 60 CleanupWindowList(); 61 } 62