Commit 46735ae4 authored by Francois Gouget's avatar Francois Gouget Committed by Alexandre Julliard

shell32/tests: Use GetProcAddress() on Shell_NotifyIconW() because it is missing on Windows 95.

parent d22568d0
......@@ -26,30 +26,35 @@
static HWND hMainWnd;
static BOOL (WINAPI *pShell_NotifyIconW)(DWORD,PNOTIFYICONDATAW);
void test_cbsize(void)
{
NOTIFYICONDATAW nidW;
NOTIFYICONDATAA nidA;
ZeroMemory(&nidW, sizeof(nidW));
nidW.cbSize = NOTIFYICONDATAW_V1_SIZE;
nidW.hWnd = hMainWnd;
nidW.uID = 1;
nidW.uFlags = NIF_ICON|NIF_MESSAGE;
nidW.hIcon = LoadIcon(NULL, IDI_APPLICATION);
nidW.uCallbackMessage = WM_USER+17;
ok(Shell_NotifyIconW(NIM_ADD, &nidW), "NIM_ADD failed!\n");
if (pShell_NotifyIconW)
{
NOTIFYICONDATAW nidW;
/* using an invalid cbSize does work */
nidW.cbSize = 3;
nidW.hWnd = hMainWnd;
nidW.uID = 1;
ok(Shell_NotifyIconW(NIM_DELETE, &nidW), "NIM_DELETE failed!\n");
/* as icon doesn't exist anymore - now there will be an error */
nidW.cbSize = sizeof(nidW);
/* wine currently doesn't return error code put prints an ERR(...) */
todo_wine ok(!Shell_NotifyIconW(NIM_DELETE, &nidW), "The icon was not deleted\n");
ZeroMemory(&nidW, sizeof(nidW));
nidW.cbSize = NOTIFYICONDATAW_V1_SIZE;
nidW.hWnd = hMainWnd;
nidW.uID = 1;
nidW.uFlags = NIF_ICON|NIF_MESSAGE;
nidW.hIcon = LoadIcon(NULL, IDI_APPLICATION);
nidW.uCallbackMessage = WM_USER+17;
ok(pShell_NotifyIconW(NIM_ADD, &nidW), "NIM_ADD failed!\n");
/* using an invalid cbSize does work */
nidW.cbSize = 3;
nidW.hWnd = hMainWnd;
nidW.uID = 1;
ok(pShell_NotifyIconW(NIM_DELETE, &nidW), "NIM_DELETE failed!\n");
/* as icon doesn't exist anymore - now there will be an error */
nidW.cbSize = sizeof(nidW);
/* wine currently doesn't return error code put prints an ERR(...) */
todo_wine ok(!pShell_NotifyIconW(NIM_DELETE, &nidW), "The icon was not deleted\n");
}
/* same for Shell_NotifyIconA */
ZeroMemory(&nidA, sizeof(nidA));
......@@ -77,6 +82,10 @@ START_TEST(systray)
WNDCLASSA wc;
MSG msg;
RECT rc;
HMODULE hdll;
hdll = GetModuleHandleA("shell32.dll");
pShell_NotifyIconW = (void*)GetProcAddress(hdll, "Shell_NotifyIconW");
wc.style = CS_HREDRAW | CS_VREDRAW;
wc.cbClsExtra = 0;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment