37#define MDI_FIRST_CHILD_ID 2004
40#define SWP_NOCLIENTSIZE 0x0800
41#define SWP_NOCLIENTMOVE 0x1000
42#define SWP_STATECHANGED 0x8000
44#define SW_NORMALNA 0xCC
47#define WM_KEYF1 0x004d
51#define WM_SYSTIMER 0x0118
54#define WND_PARENT_ID 1
58#ifndef WM_LBTRACKPOINT
59#define WM_LBTRACKPOINT 0x0131
64#elif defined __x86_64__
68#elif defined __aarch64__
122{
'T',
'e',
's',
't',
'W',
'i',
'n',
'd',
'o',
'w',
'C',
'l',
'a',
's',
's',
'W',0 };
912 { WM_STYLECHANGING,
sent },
913 { WM_STYLECHANGED,
sent },
1811 { SBM_GETSCROLLINFO,
sent },
1819 { SBM_SETSCROLLINFO,
sent },
2026#define GET_PROC(dll, func) \
2027 p ## func = (void*)GetProcAddress(dll, #func); \
2029 trace("GetProcAddress(%s) failed\n", #func); \
2044 GET_PROC(user32, SetCoalescableTimer)
2056#define DUMP(flag) do { if (flags & flag) { strcat( buffer, "|" #flag ); flags &= ~flag; } } while(0)
2084 message == WM_DISPLAYCHANGE ||
2094 hash =
hash * 1664525u + (
unsigned char)(*str) + 1013904223u;
2104 hash =
hash * 1664525u + (
unsigned char)(*str) + 1013904223u;
2109#define add_message(msg) add_message_(__LINE__,msg);
2142 static const char *
const CBT_code_name[10] =
2150 "HCBT_CLICKSKIPPED",
2155 const char *code_name = (
msg->message <=
HCBT_SETFOCUS) ? CBT_code_name[
msg->message] :
"Unknown";
2158 msg->descr,
msg->message, code_name,
msg->wParam,
msg->lParam );
2167 switch (
msg->message)
2174 sprintf( seq->
output,
"%s: %p WM_WINDOWPOS%s wp %08lx lp %08lx after %p x %d y %d cx %d cy %d flags %s",
2178 winpos->
x, winpos->
y, winpos->
cx, winpos->
cy,
2186 seq->
wParam &= ~SWP_NOZORDER;
2195 sprintf( seq->
output,
"%s: %p WM_DRAWITEM: type %x, ctl_id %x, item_id %x, action %x, state %x",
2219 sprintf( seq->
output,
"%s: %p WM_MEASUREITEM: CtlType %#x, CtlID %#x, itemID %#x, itemData %#lx",
2233 mi.u.item.wParam =
msg->wParam;
2235 if (is_unicode_data)
2253 sprintf( seq->
output,
"%s: %p WM_COMPAREITEM: CtlType %#x, CtlID %#x, itemID1 %#x, itemData1 %#lx, itemID2 %#x, itemData2 %#lx",
2260 if (is_unicode_data)
2274 if (
msg->message >= 0xc000)
return;
2289 int min_timeout = 100;
2312 unsigned int count = 0;
2326 trace_(
file,
line)(
" %u: expected: winevent %04x - actual: %s\n",
2389#define ok_sequence( exp, contx, todo) \
2390 ok_sequence_( (exp), (contx), (todo), __FILE__, __LINE__)
2399 int failcount = 0,
dump = 0;
2400 unsigned int count = 0;
2419 "%s: %u: in msg 0x%04x expecting wParam 0x%lx got 0x%lx\n",
2426 "%s: %u: in msg 0x%04x expecting wParam 0x%lx got 0x%lx\n",
2440 "%s: %u: in msg 0x%04x expecting lParam 0x%lx got 0x%lx\n",
2447 "%s: %u: in msg 0x%04x expecting lParam 0x%lx got 0x%lx\n",
2466 "%s: %u: the msg 0x%04x should %shave been sent by DefWindowProc\n",
2473 "%s: %u: the msg 0x%04x should %shave been sent by DefWindowProc\n",
2479 "%s: %u: the msg 0x%04x should %shave been sent by BeginPaint\n",
2484 "%s: %u: the msg 0x%04x should have been %s\n",
2489 "%s: %u: the msg 0x%04x was expected in %s\n",
2494 "%s: %u: the msg 0x%04x should have been sent by a hook\n",
2499 "%s: %u: the msg 0x%04x should have been sent by a winevent hook\n",
2504 "%s: %u: the msg 0x%04x should have been sent by a keyboard hook\n",
2522 ok_(
file,
line) (
FALSE,
"%s: %u: the msg 0x%04x was expected, but got msg 0x%04x instead\n",
2529 ok_(
file,
line) (
FALSE,
"%s: %u: the msg 0x%04x was expected, but got msg 0x%04x instead\n",
2550 ok_(
file,
line) (
FALSE,
"%s: %u: the msg sequence is not complete: expected %04x - actual %04x\n",
2560 ok_(
file,
line) (
FALSE,
"%s: %u: the msg sequence is not complete: expected %04x - actual %04x\n",
2564 if(
todo && !failcount)
2575#define expect(EXPECTED,GOT) ok((GOT)==(EXPECTED), "Expected %d, got %d\n", (EXPECTED), (GOT))
3661 msg.descr =
"mdi client";
3670 static LONG defwndproc_counter = 0;
3705 msg.descr =
"mdi child";
3709 defwndproc_counter++;
3711 defwndproc_counter--;
3718 static LONG defwndproc_counter = 0;
3737 msg.descr =
"mdi frame";
3741 defwndproc_counter++;
3743 defwndproc_counter--;
3782 HWND mdi_frame, mdi_child, mdi_child2, active_child;
3792 trace(
"creating MDI frame window\n");
3805 trace(
"creating MDI client window\n");
3819 ok(
GetFocus() == mdi_frame,
"input focus should be on MDI frame not on %p\n",
GetFocus());
3822 ok(!active_child,
"wrong active MDI child %p\n", active_child);
3823 ok(!zoomed,
"wrong zoomed state %d\n", zoomed);
3828 trace(
"creating invisible MDI child window\n");
3846 ok(!active_child,
"wrong active MDI child %p\n", active_child);
3847 ok(!zoomed,
"wrong zoomed state %d\n", zoomed);
3863 ok(!active_child,
"wrong active MDI child %p\n", active_child);
3864 ok(!zoomed,
"wrong zoomed state %d\n", zoomed);
3869 trace(
"creating visible MDI child window\n");
3884 ok(active_child == mdi_child,
"wrong active MDI child %p\n", active_child);
3885 ok(!zoomed,
"wrong zoomed state %d\n", zoomed);
3898 ok(active_child == mdi_child ||
3900 "wrong active MDI child %p\n", active_child);
3901 ok(!zoomed,
"wrong zoomed state %d\n", zoomed);
3905 trace(
"creating invisible MDI child window\n");
3923 ok(active_child == mdi_child ||
3924 active_child == mdi_child2,
3925 "wrong active MDI child %p\n", active_child);
3926 ok(!zoomed,
"wrong zoomed state %d\n", zoomed);
3936 ok(active_child == mdi_child2,
"wrong active MDI child %p\n", active_child);
3937 ok(zoomed,
"wrong zoomed state %d\n", zoomed);
3943 "wrong focus window %p\n",
GetFocus());
3959 ok(active_child == mdi_child2,
"wrong active MDI child %p\n", active_child);
3960 ok(!zoomed,
"wrong zoomed state %d\n", zoomed);
3994 ok(active_child == mdi_child2,
"wrong active MDI child %p\n", active_child);
3995 ok(!zoomed,
"wrong zoomed state %d\n", zoomed);
4005 ok(active_child == mdi_child2,
"wrong active MDI child %p\n", active_child);
4006 ok(!zoomed,
"wrong zoomed state %d\n", zoomed);
4024 trace(
"Testing WM_CHILDACTIVATE\n");
4037 ok(active_child == mdi_child2,
"wrong active MDI child %p\n", active_child);
4038 ok(!zoomed,
"wrong zoomed state %d\n", zoomed);
4045 ok(active_child == mdi_child2,
"wrong active MDI child %p\n", active_child);
4046 ok(!zoomed,
"wrong zoomed state %d\n", zoomed);
4052 ok(active_child == mdi_child2,
"wrong active MDI child %p\n", active_child);
4053 ok(!zoomed,
"wrong zoomed state %d\n", zoomed);
4060 ok(active_child == mdi_child,
"wrong active MDI child %p\n", active_child);
4061 ok(!zoomed,
"wrong zoomed state %d\n", zoomed);
4069 trace(
"creating maximized visible MDI child window 1\n");
4076 ok(
IsZoomed(mdi_child),
"1st MDI child should be maximized\n");
4081 "wrong focus window %p\n",
GetFocus());
4084 ok(active_child == mdi_child,
"wrong active MDI child %p\n", active_child);
4085 ok(zoomed,
"wrong zoomed state %d\n", zoomed);
4088 trace(
"creating maximized visible MDI child window 2\n");
4095 ok(
IsZoomed(mdi_child2),
"2nd MDI child should be maximized\n");
4096 ok(!
IsZoomed(mdi_child),
"1st MDI child should NOT be maximized\n");
4102 ok(active_child == mdi_child2,
"wrong active MDI child %p\n", active_child);
4103 ok(zoomed,
"wrong zoomed state %d\n", zoomed);
4106 trace(
"destroying maximized visible MDI child window 2\n");
4110 ok(!
IsZoomed(mdi_child),
"1st MDI child should NOT be maximized\n");
4119 ok(active_child == mdi_child2 ||
4121 "wrong active MDI child %p\n", active_child);
4125 ok(
IsZoomed(mdi_child),
"1st MDI child should be maximized\n");
4131 trace(
"re-creating maximized visible MDI child window 2\n");
4138 ok(
IsZoomed(mdi_child2),
"2nd MDI child should be maximized\n");
4139 ok(!
IsZoomed(mdi_child),
"1st MDI child should NOT be maximized\n");
4145 ok(active_child == mdi_child2,
"wrong active MDI child %p\n", active_child);
4146 ok(zoomed,
"wrong zoomed state %d\n", zoomed);
4151 ok(!
IsWindow(mdi_child2),
"MDI child 2 should be destroyed\n");
4153 ok(
IsZoomed(mdi_child),
"1st MDI child should be maximized\n");
4158 ok(active_child == mdi_child,
"wrong active MDI child %p\n", active_child);
4159 ok(zoomed,
"wrong zoomed state %d\n", zoomed);
4172 ok(active_child == mdi_child ||
4174 "wrong active MDI child %p\n", active_child);
4177 trace(
"creating maximized invisible MDI child window\n");
4184 ok(
IsZoomed(mdi_child2),
"MDI child should be maximized\n");
4192 ok(active_child == mdi_child ||
4193 !active_child || active_child == mdi_child2,
4194 "wrong active MDI child %p\n", active_child);
4197 trace(
"call ShowWindow(mdi_child, SW_MAXIMIZE)\n");
4200 ok(
IsZoomed(mdi_child2),
"MDI child should be maximized\n");
4205 ok(active_child == mdi_child2,
"wrong active MDI child %p\n", active_child);
4206 ok(zoomed,
"wrong zoomed state %d\n", zoomed);
4215 trace(
"creating maximized visible MDI child window 1(Switch test)\n");
4222 ok(
IsZoomed(mdi_child),
"1st MDI child should be maximized(Switch test)\n");
4227 "wrong focus window %p(Switch test)\n",
GetFocus());
4230 ok(active_child == mdi_child,
"wrong active MDI child %p(Switch test)\n", active_child);
4231 ok(zoomed,
"wrong zoomed state %d(Switch test)\n", zoomed);
4234 trace(
"creating maximized visible MDI child window 2(Switch test)\n");
4242 ok(
IsZoomed(mdi_child2),
"2nd MDI child should be maximized(Switch test)\n");
4243 ok(!
IsZoomed(mdi_child),
"1st MDI child should NOT be maximized(Switch test)\n");
4249 ok(active_child == mdi_child2,
"wrong active MDI child %p(Switch test)\n", active_child);
4250 ok(zoomed,
"wrong zoomed state %d(Switch test)\n", zoomed);
4253 trace(
"Switch child window.\n");
4256 trace(
"end of test for switch maximized MDI children\n");
4261 ok(!
IsZoomed(mdi_child),
"wrong zoomed state for %p(Switch test)\n", mdi_child);
4262 ok(!
IsZoomed(mdi_child2),
"wrong zoomed state for %p(Switch test)\n", mdi_child2);
4264 ok(active_child == mdi_child,
"wrong active MDI child %p(Switch test)\n", active_child);
4269 trace(
"end of test for switch not maximized MDI children\n");
4282 mdi_cs.
szClass =
"MDI_child_Class";
4292 ok(mdi_child != 0,
"MDI child creation failed\n");
4298 ok(active_child == mdi_child,
"wrong active MDI child %p\n", active_child);
4300 ok(
IsZoomed(mdi_child),
"MDI child should be maximized\n");
4305 ok(active_child == mdi_child,
"wrong active MDI child %p\n", active_child);
4306 ok(zoomed,
"wrong zoomed state %d\n", zoomed);
4312 ok(!
IsWindow(mdi_child),
"MDI child should be destroyed\n");
4314 ok(!active_child,
"wrong active MDI child %p\n", active_child);
4320 ok(
val == 0xdeadbeef ||
broken(
val == 0) ,
"Expected 0xdeadbeef, got 0x%x\n",
val);
4345 ok(zoomed,
"wrong zoomed state %d\n", zoomed);
4413 msg.descr =
"dialog";
4444 msg.descr =
"dialog";
4462 if (clear)
ok(
style & clear,
"style %08x should be set\n", clear);
4474 if (clear)
ok(!(
style & clear),
"style %08x should not be set\n", clear);
4486 ok(xmin ==
min,
"unexpected min scroll value %d\n", xmin);
4487 ok(xmax ==
max,
"unexpected max scroll value %d\n", xmax);
4501 if (clear)
ok(
style & clear,
"style %08x should be set\n", clear);
4516 if (clear)
ok(!(
style & clear),
"style %08x should not be set\n", clear);
4538 si.
nMin = 0xdeadbeef;
4539 si.
nMax = 0xdeadbeef;
4543 ok(si.
nMin ==
min,
"unexpected min scroll value %d\n", si.
nMin);
4544 ok(si.
nMax ==
max,
"unexpected max scroll value %d\n", si.
nMax);
4562 trace(
"GetScrollRange(SB_CTL) generated unknown message %04x\n",
sequence->message);
4569 trace(
"SetScrollRange(SB_CTL) generated unknown message %04x\n",
sequence->message);
4577 trace(
"GetScrollRange(SB_CTL) generated unknown message %04x\n",
sequence->message);
4587 trace(
"SetScrollInfo(SB_CTL) generated unknown message %04x\n",
sequence->message);
4594 trace(
"SetScrollInfo(SB_CTL) generated unknown message %04x\n",
sequence->message);
4601 trace(
"SetScrollInfo(SB_CTL) generated unknown message %04x\n",
sequence->message);
4605 si.
nMin = 0xdeadbeef;
4606 si.
nMax = 0xdeadbeef;
4610 trace(
"GetScrollInfo(SB_CTL) generated unknown message %04x\n",
sequence->message);
4641 100, 100, 200, 200, 0, 0, 0,
NULL);
4642 ok (
hwnd != 0,
"Failed to create overlapped window\n");
4645 ok (hchild != 0,
"Failed to create child\n");
4649 trace(
"calling ShowWindow( SW_SHOWNA) for invisible top level window\n");
4654 trace(
"calling ShowWindow( SW_SHOWNA) for now visible top level window\n");
4662 trace(
"calling ShowWindow( SW_SHOWNA) for invisible child with invisible parent\n");
4668 trace(
"calling ShowWindow( SW_SHOWNA) for the visible child and invisible parent\n");
4674 trace(
"calling ShowWindow( SW_SHOWNA) for the visible child and parent\n");
4681 trace(
"calling ShowWindow( SW_SHOWNA) for the invisible child and visible parent\n");
4699 trace(
"calling CreateWindowExA( WS_MAXIMIZE ) for invisible maximized popup window\n");
4701 100, 100, 200, 200, 0, 0, 0,
NULL);
4702 ok (
hwnd != 0,
"Failed to create popup window\n");
4715 trace(
"calling ShowWindow( SW_SHOWMAXIMIZE ) for invisible maximized popup window\n");
4731 trace(
"calling CreateWindowExA( WS_MAXIMIZE ) for invisible maximized popup window\n");
4733 100, 100, 200, 200, 0, 0, 0,
NULL);
4734 ok (
hwnd != 0,
"Failed to create popup window\n");
4738 trace(
"calling ShowWindow( SW_SHOWMAXIMIZE ) for invisible maximized popup window\n");
4748 trace(
"calling CreateWindowExA( WS_MAXIMIZE ) for maximized popup window\n");
4750 100, 100, 200, 200, 0, 0, 0,
NULL);
4751 ok (
hwnd != 0,
"Failed to create popup window\n");
4761 trace(
"calling CreateWindowExA( WS_VISIBLE ) for popup window\n");
4763 100, 100, 200, 200, 0, 0, 0,
NULL);
4764 ok (
hwnd != 0,
"Failed to create popup window\n");
4768 trace(
"calling ShowWindow( SW_SHOWMAXIMIZE ) for visible popup window\n");
4778 static const struct message seq[] =
4792 100, 100, 200, 200, 0, 0, 0,
NULL);
4793 ok(
hwnd != 0,
"Failed to create simple window\n");
4797 ok(recursive != 0,
"Failed to create recursive activation window\n");
4816 100, 100, 200, 200, 0, 0, 0,
NULL);
4817 ok (
hwnd != 0,
"Failed to create overlapped window\n");
4826 ok(
state != 0xffffffff,
"wrong SC_CLOSE state %x\n",
state);
4833 ok(
state != 0xffffffff,
"wrong SC_CLOSE state %x\n",
state);
4840 ok(
state != 0xffffffff,
"wrong SC_CLOSE state %x\n",
state);
4854 100, 100, 200, 200, 0, 0, 0,
NULL);
4855 ok (
hwnd != 0,
"Failed to create overlapped window\n");
4861 ok(
state == 0xffffffff,
"wrong SC_CLOSE state %x\n",
state);
4867 100, 100, 200, 200, 0, 0, 0,
NULL);
4868 ok(
hwnd != 0,
"Failed to create overlapped window\n");
4878 { WM_SETICON,
sent },
4887 { WM_SETICON,
sent },
4977 ok(
msg.message ==
WM_USER,
"got %04x instead of WM_USER\n",
msg.message);
4988 ok(
msg.message ==
WM_USER,
"got %04x instead of WM_USER\n",
msg.message);
5001 ok(
msg.message ==
WM_USER,
"got %04x instead of WM_USER\n",
msg.message);
5003 ok(
msg.message ==
WM_USER,
"got %04x instead of WM_USER\n",
msg.message);
5008 ok(
msg.message ==
WM_USER,
"got %04x instead of WM_USER\n",
msg.message);
5014 ok(
msg.message ==
WM_USER,
"got %04x instead of WM_USER\n",
msg.message);
5030 ok(
msg.message ==
WM_USER,
"got %04x instead of WM_USER\n",
msg.message);
5042 static const WPARAM wparams[] = {0,
5062 if (wparams[
i] & 0x8000)
5089#define test_msg_setpos( expected_list, flags, todo ) \
5090 test_msg_setpos_( (expected_list), (flags), (todo), __FILE__, __LINE__)
5098 10, 10, 100, 100,
NULL, 0, 0,
NULL );
5099 ok (
hwnd != 0,
"Failed to create popup window\n");
5111 HWND hchild2, hbutton;
5121 100, 100, 200, 200, 0, 0, 0,
NULL);
5122 ok (
hwnd != 0,
"Failed to create overlapped window\n");
5204 trace(
"testing scroll APIs on a visible top level window %p\n",
hwnd);
5237 10, 10, 100, 100,
NULL, 0, 0,
NULL );
5238 ok (
hwnd != 0,
"Failed to create popup window\n");
5247 10, 10, 100, 100,
NULL, 0, 0,
NULL );
5248 ok (
hwnd != 0,
"Failed to create popup window\n");
5258 10, 10, 100, 100,
NULL, 0, 0,
NULL );
5259 ok (
hwnd != 0,
"Failed to create popup window\n");
5301 100, 100, 200, 200, 0, 0, 0,
NULL);
5302 ok (hparent != 0,
"Failed to create parent window\n");
5305 0, 0, 10, 10, hparent, 0, 0,
NULL);
5306 ok (hchild != 0,
"Failed to create child window\n");
5310 "SetWindowPos:show_popup_first_show_window_child1",
FALSE);
5316 100, 100, 200, 200, 0, 0, 0,
NULL);
5317 ok (hparent != 0,
"Failed to create parent window\n");
5320 0, 0, 10, 10, hparent, 0, 0,
NULL);
5321 ok (hchild != 0,
"Failed to create child window\n");
5325 "SetWindowPos:show_popup_first_show_window_child2",
FALSE);
5333 -10, -10, 10000, 10000,
NULL, 0, 0,
NULL );
5334 ok (
hwnd != 0,
"Failed to create popup window\n");
5342 100, 100, 200, 200, 0, 0, 0,
NULL);
5343 ok (hparent != 0,
"Failed to create parent window\n");
5347 0, 0, 10, 10, hparent, 0, 0,
NULL);
5348 ok (hchild != 0,
"Failed to create child window\n");
5356 0, 0, 10, 10, hparent, 0, 0,
NULL);
5357 ok (hchild != 0,
"Failed to create child window\n");
5360 trace(
"testing scroll APIs on a visible child window %p\n", hchild);
5370 0, 0, 10, 10, hparent, 0, 0,
NULL);
5371 ok (hchild != 0,
"Failed to create child window\n");
5375 100, 100, 50, 50, hparent, 0, 0,
NULL);
5376 ok (hchild2 != 0,
"Failed to create child2 window\n");
5380 0, 100, 50, 50, hchild, 0, 0,
NULL);
5381 ok (hbutton != 0,
"Failed to create button window\n");
5433 0, 0, 100, 100, hparent, 0, 0,
NULL);
5434 ok (hchild != 0,
"Failed to create child popup window\n");
5441 0, 0, 100, 100, hparent, 0, 0,
NULL);
5442 ok (hchild != 0,
"Failed to create popup window\n");
5462 0, 0, 100, 100, hparent, 0, 0,
NULL);
5463 ok (hchild != 0,
"Failed to create popup window\n");
5477 0, 0, 100, 100, hparent, 0, 0,
NULL);
5478 ok(
hwnd != 0,
"Failed to create custom dialog window\n");
5482 trace(
"testing scroll APIs on a visible dialog %p\n",
hwnd);
5505 ok(
hwnd != 0,
"Failed to create custom dialog window\n");
5507 trace(
"call ShowWindow(%p, SW_SHOW)\n",
hwnd);
5523 ok(
hwnd != 0,
"Failed to create custom dialog window\n");
5541 ok(!
DrawMenuBar(
hwnd),
"DrawMenuBar should return FALSE for a destroyed window\n");
5546 ok (
hmenu != 0,
"Failed to create menu\n");
5576 100, 100, 200, 200, 0, 0, 0,
NULL);
5577 ok (hparent != 0,
"Failed to create parent window\n");
5579 0, 0, 10, 10, hparent, 0, 0,
NULL);
5580 ok (hchild != 0,
"Failed to create child window\n");
5619 ok(
msg.message ==
WM_USER+1,
"got %x instead of WM_USER+1\n",
msg.message );
5626 trace(
"testing WM_SETICON\n");
5669 ok(
res == 1,
"SendMessage(hwnd, 0x3B, 0x8000000b, 0) should have returned 1 instead of %ld\n",
res);
5672 ok(
res == 1,
"SendMessage(hwnd, 0x3B, 0x0000000b, 0) should have returned 1 instead of %ld\n",
res);
5675 ok(
res == 1,
"SendMessage(hwnd, 0x3B, 0x0000000f, 0) should have returned 1 instead of %ld\n",
res);
5680 ok(
res == 2,
"SendMessage(hwnd, 0x3B, 0x80000008, 0) should have returned 2 instead of %ld\n",
res);
5683 ok(
res == 2,
"SendMessage(hwnd, 0x3B, 0x00000008, 0) should have returned 2 instead of %ld\n",
res);
5687 ok(
res == 2,
"SendMessage(hwnd, 0x3B, 0x80000004, 0) should have returned 2 instead of %ld\n",
res);
5691 ok(
res == 2,
"SendMessage(hwnd, 0x3B, 0x80000001, 0) should have returned 2 instead of %ld\n",
res);
5703 const INT winX = 100;
5704 const INT winY = 100;
5708 0, 0, winX, winY, 0,
5719 ok(
res ==
TRUE,
"SetWindowPos expected TRUE, got %ld\n",
res);
5729 HWND hparent, hchild;
5732 100, 100, 200, 200, 0, 0, 0,
NULL);
5733 ok (hparent != 0,
"Failed to create parent window\n");
5739 0, 0, 10, 10, hparent, 0, 0,
NULL);
5740 ok (hchild != 0,
"Failed to create child window\n");
5756 0, 0, 10, 10, hparent, 0, 0,
NULL);
5772 0, 0, 10, 10, hparent, 0, 0,
NULL);
5782 0, 0, 10, 10, hparent, 0, 0,
NULL);
5798 0, 0, 10, 10, hparent, 0, 0,
NULL);
5809 0, 0, 10, 10, hparent, 0, 0,
NULL);
5825 0, 0, 10, 10, hparent, 0, 0,
NULL);
5838 0, 0, 10, 10, hparent, 0, 0,
NULL);
5854 0, 0, 10, 10, hparent, 0, 0,
NULL);
5893#define ID_BUTTON 0x000e
6214 static LONG defwndproc_counter = 0;
6252 msg.descr =
"button";
6256 defwndproc_counter++;
6258 defwndproc_counter--;
6284 const struct message *setfocus;
6285 const struct message *killfocus;
6286 const struct message *setstyle;
6287 const struct message *setstate;
6288 const struct message *clearstate;
6289 const struct message *setcheck;
6290 const struct message *lbuttondown;
6291 const struct message *lbuttonup;
6292 const struct message *setfont;
6293 const struct message *settext;
6352 HFONT zfont, hfont2;
6359 0, 0, 50, 14, 0, 0, 0,
NULL);
6360 ok(
hwnd != 0,
"Failed to create button window\n");
6371 100, 100, 200, 200, 0, 0, 0,
NULL);
6372 ok(
parent != 0,
"Failed to create parent window\n");
6374 memset(&logfont, 0,
sizeof(logfont));
6380 ok(hfont2 !=
NULL,
"Failed to create Tahoma font\n");
6394 ok(
hwnd != 0,
"Failed to create button window\n");
6405 ok(dlg_code ==
button[
i].dlg_code,
"%u: wrong dlg_code %08x\n",
i, dlg_code);
6450 ok(
state == 0x0004,
"expected state 0x0004, got %04x\n",
state);
6495 sprintf(
desc,
"button[%i]: WM_SETTEXT on a visible button",
i);
6503 sprintf(
desc,
"button[%i]: WM_SETTEXT on an invisible button",
i);
6512 sprintf(
desc,
"button[%i]: WM_SETTEXT on an invisible button",
i);
6541 0, 0, 50, 14, 0, 0, 0,
NULL);
6542 ok(
hwnd != 0,
"Failed to create button window\n");
6554 sprintf(
desc,
"button[%i]: WM_LBUTTONDOWN on a button",
i);
6559 sprintf(
desc,
"button[%i]: WM_LBUTTONUP on a button",
i);
6566 sprintf(
desc,
"button[%i]: WM_SETFONT on a button",
i);
6595 100, 100, 200, 200, 0, 0, 0,
NULL);
6596 ok (
hwnd != 0,
"Failed to create overlapped window\n");
6631 ok(
GetObjectW(hbmp1x1,
sizeof(bm), &bm),
"Expect GetObjectW() success\n");
6632 ok(bm.bmWidth == 1 && bm.bmHeight == 1,
"Expect bitmap size: %d,%d, got: %d,%d\n", 1, 1,
6633 bm.bmWidth, bm.bmHeight);
6635 ok(
GetObjectW(hbmp2x2,
sizeof(bm), &bm),
"Expect GetObjectW() success\n");
6636 ok(bm.bmWidth == 2 && bm.bmHeight == 2,
"Expect bitmap size: %d,%d, got: %d,%d\n", 2, 2,
6637 bm.bmWidth, bm.bmHeight);
6640 ZeroMemory(&icon_info2x2,
sizeof(icon_info2x2));
6642 icon_info2x2.
hbmMask = hmask2x2;
6647 ok(
GetIconInfo(hicon2x2, &icon_info),
"Expect GetIconInfo() success\n");
6650 ok(bm.bmWidth == 2 && bm.bmHeight == 2,
"Expect bitmap size: %d,%d, got: %d,%d\n", 2, 2,
6651 bm.bmWidth, bm.bmHeight);
6656 hwnd =
CreateWindowA(
"Button",
"test", default_style |
BS_BITMAP, 0, 0, 100, 100, 0, 0, 0, 0);
6660 ok(
hbmp != 0,
"Expect hbmp not 0\n");
6663 ok(bm.bmWidth == 1 && bm.bmHeight == 1,
"Expect bitmap size: %d,%d, got: %d,%d\n", 1, 1,
6664 bm.bmWidth, bm.bmHeight);
6668 hwnd =
CreateWindowA(
"Button",
"test", default_style, 0, 0, 100, 100, 0, 0, 0, 0);
6671 ok(
ret == 0,
"Expect ret to be 0\n");
6673 ok(
hbmp ==
NULL,
"Expect hbmp to be NULL\n");
6677 hwnd =
CreateWindowA(
"Button",
"test", default_style |
BS_ICON, 0, 0, 100, 100, 0, 0, 0, 0);
6681 ok(hicon !=
NULL,
"Expect hicon not NULL\n");
6683 ok(
GetIconInfo(hicon, &icon_info),
"Expect GetIconInfo() success\n");
6686 ok(bm.bmWidth == 2 && bm.bmHeight == 2,
"Expect bitmap size: %d,%d, got: %d,%d\n", 2, 2,
6687 bm.bmWidth, bm.bmHeight);
6693 hwnd =
CreateWindowA(
"Button",
"test", default_style, 0, 0, 100, 100, 0, 0, 0, 0);
6696 ok(
ret == 0,
"Expect ret to be 0\n");
6698 ok(hicon ==
NULL,
"Expect hicon to be NULL\n");
6702 hwnd =
CreateWindowA(
"Button",
"test", default_style |
BS_BITMAP, 0, 0, 100, 100, 0, 0, 0, 0);
6703 ok(
hwnd !=
NULL,
"Expect hwnd to be not NULL\n");
6705 ok(
ret == 0,
"Expect ret to be 0\n");
6707 ok(hicon ==
NULL,
"Expect hicon to be NULL\n");
6711 hwnd =
CreateWindowA(
"Button",
"test", default_style |
BS_ICON, 0, 0, 100, 100, 0, 0, 0, 0);
6712 ok(
hwnd !=
NULL,
"Expect hwnd to be not NULL\n");
6714 ok(
ret == 0,
"Expect ret to be 0\n");
6716 ok(
hbmp ==
NULL,
"Expect hbmp to be NULL\n");
6726#define ID_RADIO1 501
6727#define ID_RADIO2 502
6728#define ID_RADIO3 503
6905 ok(
parent != 0,
"failed to create parent window\n");
6975#define test_radio(r1, s1, r2, s2, r3, s3) test_radio_dbg(r1, s1, r2, s2, r3, s3, __LINE__)
7005 ok(
parent != 0,
"failed to create parent window\n");
7015 set_radio(radio1, 1, radio2, 1, radio3, 1);
7055 ok(
ret,
"IsDialogMessage should return TRUE\n");
7062 set_radio(radio1, 0, radio2, 1, radio3, 1);
7069 ok(
ret,
"IsDialogMessage should return TRUE\n");
7090 ok(
ret,
"IsDialogMessage should return TRUE\n");
7097 ok(
hwnd == radio1,
"focus should be on radio1, not on %p\n",
hwnd);
7107 ok(
ret,
"IsDialogMessage should return TRUE\n");
7114 ok(
hwnd == radio1,
"focus should be on radio1, not on %p\n",
hwnd);
7126 ok(
ret,
"IsDialogMessage should return TRUE\n");
7133 ok(
hwnd == radio1,
"focus should be on radio1, not on %p\n",
hwnd);
7145 ok(
ret,
"IsDialogMessage should return TRUE\n");
7171 static LONG defwndproc_counter = 0;
7183 msg.descr =
"static";
7186 defwndproc_counter++;
7188 defwndproc_counter--;
7215 const struct message *setfont;
7229 0, 0, 50, 14, 0, 0, 0,
NULL);
7230 ok(
hwnd != 0,
"Failed to create static window\n");
7233 ok(dlg_code == static_ctrl[
i].dlg_code,
"%u: wrong dlg_code %08x\n",
i, dlg_code);
7240 trace(
"static style %08x\n", static_ctrl[
i].
style);
7249#define ID_COMBOBOX 0x000f
7374 static LONG defwndproc_counter = 0;
7393 msg.descr =
"combo edit";
7397 defwndproc_counter++;
7399 defwndproc_counter--;
7407 static LONG defwndproc_counter = 0;
7425 msg.descr =
"combo lbox";
7429 defwndproc_counter++;
7431 defwndproc_counter--;
7438 static LONG defwndproc_counter = 0;
7457 msg.descr =
"combo";
7461 defwndproc_counter++;
7463 defwndproc_counter--;
7493 100, 100, 200, 200, 0, 0, 0,
NULL);
7494 ok(
parent != 0,
"Failed to create parent window\n");
7499 ok(combo != 0,
"Failed to create combobox window\n");
7507 ok(
ret == 0,
"expected 0, got %ld\n",
ret);
7509 ok(
ret == 1,
"expected 1, got %ld\n",
ret);
7511 ok(
ret == 2,
"expected 2, got %ld\n",
ret);
7533 ok(
parent != 0,
"Failed to create parent window\n");
7537 ok(combo != 0,
"Failed to create combobox window\n");
7542 ok(
res,
"Failed to get COMBOBOXINFO structure; LastError: %u\n",
GetLastError());
7551 ok(
button != 0,
"Failed to create button window\n");
7593 ok(combo != 0,
"Failed to create combobox window\n");
7596 ok(
ret == 0,
"expected 0, got %ld\n",
ret);
7601 ok(
res,
"Failed to get COMBOBOXINFO structure; LastError: %u\n",
GetLastError());
7648 msg.descr =
"wmime_keydown";
7670 trace(
"Message sequences by WM_IME_KEYDOWN\n");
7703 printf(
"null region\n" );
7716#define check_update_rgn( hwnd, hrgn ) check_update_rgn_( __LINE__, hwnd, hrgn )
7728 ok_(__FILE__,
line)( !
hrgn,
"Update region shouldn't be empty\n" );
7734 ok_(__FILE__,
line)( 0,
"Regions are different\n" );
7737 printf(
"Update region: " );
7739 printf(
"Wanted region: " );
7896 HWND hparent, hchild;
7900 100, 100, 200, 200, 0, 0, 0,
NULL);
7901 ok (
hwnd != 0,
"Failed to create overlapped window\n");
7911 ok(
ret,
"RedrawWindow returned %d instead of TRUE\n",
ret);
7915 ok(
ret,
"RedrawWindow returned %d instead of TRUE\n",
ret);
7920 ok(
ret,
"RedrawWindow returned %d instead of TRUE\n",
ret);
7926 ok(
ret,
"RedrawWindow returned %d instead of TRUE\n",
ret);
7931 ok(
ret,
"RedrawWindow returned %d instead of TRUE\n",
ret);
7954 "RedrawWindow failed\n");
7959 "RedrawWindow failed\n");
7964 "RedrawWindow failed\n");
7969 "RedrawWindow failed\n");
7979 "RedrawWindow failed\n");
7982 "region should be null (%d)\n",
ret );
7989 "RedrawWindow failed\n");
7992 "region should be null (%d)\n",
ret );
7999 "RedrawWindow failed\n");
8008 "RedrawWindow failed\n");
8012 "RedrawWindow failed\n");
8161 ok(
ret,
"Invalid GetUpdateRect result %d\n",
ret );
8164 ok( !
ret,
"Invalid GetUpdateRect result %d\n",
ret );
8175 100, 100, 200, 200, 0, 0, 0,
NULL);
8176 ok (hparent != 0,
"Failed to create parent window\n");
8179 10, 10, 100, 100, hparent, 0, 0,
NULL);
8180 ok (hchild != 0,
"Failed to create child window\n");
8383 trace(
"testing SWP_FRAMECHANGED on parent with WS_CLIPCHILDREN\n");
8393 trace(
"testing SWP_FRAMECHANGED|SWP_DEFERERASE on parent with WS_CLIPCHILDREN\n");
8410 trace(
"testing SWP_FRAMECHANGED on parent without WS_CLIPCHILDREN\n");
8420 trace(
"testing SWP_FRAMECHANGED|SWP_DEFERERASE on parent without WS_CLIPCHILDREN\n");
8433 trace(
"testing SetWindowPos(-10000, -10000) on child\n");
8442 trace(
"testing ShowWindow(SW_MINIMIZE) on child\n");
8451 trace(
"testing SetWindowPos(-10000, -10000) on parent\n");
8458 ok(!
IsWindow(hchild),
"child must be destroyed with its parent\n");
8463 100, 100, 200, 200, 0, 0, 0,
NULL);
8464 ok (hparent != 0,
"Failed to create parent window\n");
8467 10, 10, 100, 100, hparent, 0, 0,
NULL);
8468 ok (hchild != 0,
"Failed to create child window\n");
8514 ok(!
IsWindow(hchild),
"child must be destroyed with its parent\n");
8535 100, 100, 200, 200, 0, 0, 0,
NULL);
8559 ok (hchild != 0,
"Failed to create child window\n");
8582 ok (child_event.
hwnd != 0,
"Failed to create child window\n");
8591 if (
ret != 1)
break;
8595 ok( !
ret,
"WaitForSingleObject failed %x\n",
ret );
8600"<assembly xmlns=\"urn:schemas-microsoft-com:asm.v1\" manifestVersion=\"1.0\">"
8601"<assemblyIdentity version=\"1.2.3.4\" name=\"testdep1\" type=\"win32\" processorArchitecture=\"" ARCH "\"/>"
8602" <file name=\"testdep.dll\" />"
8606"<assembly xmlns=\"urn:schemas-microsoft-com:asm.v1\" manifestVersion=\"1.0\">"
8607"<assemblyIdentity version=\"1.2.3.4\" name=\"Wine.Test\" type=\"win32\" />"
8609" <dependentAssembly>"
8610" <assemblyIdentity type=\"win32\" name=\"testdep1\" version=\"1.2.3.4\" processorArchitecture=\"" ARCH "\" />"
8611" </dependentAssembly>"
8636 actctx.cbSize =
sizeof(ACTCTXW);
8645 ok(
actctx.wProcessorArchitecture == 0,
"wProcessorArchitecture=%d\n",
actctx.wProcessorArchitecture);
8647 ok(
actctx.lpAssemblyDirectory ==
NULL,
"lpAssemblyDirectory=%p\n",
actctx.lpAssemblyDirectory);
8649 ok(
actctx.lpApplicationName ==
NULL,
"lpApplicationName=%p\n",
actctx.lpApplicationName);
8663 int len, expected_len;
8670 win_skip(
"skipping interthread message test under win9x\n");
8689 expected_len =
lstrlenA(
"window caption text");
8693 ok(
len == expected_len,
"CallWindowProcA(WM_GETTEXT) error %d, len %d, expected len %d\n",
GetLastError(),
len, expected_len);
8694 ok(!
lstrcmpA(
buf,
"window caption text"),
"window text mismatch\n");
8698 msg.wParam =
sizeof(
buf);
8704 "DispatchMessageA(WM_GETTEXT) succeeded on another thread window: ret %d, error %d\n",
len,
GetLastError());
8714 "DispatchMessageA(WM_TIMER) failed on another thread window: ret %d, error %d\n",
len,
GetLastError());
8725 100, 100, 200, 200, 0, 0, 0,
NULL);
8736 if (
ret != 1)
break;
8739 ok( !
ret,
"MsgWaitForMultipleObjects failed %x\n",
ret );
8743 ok( !
ret,
"WaitForSingleObject failed %x\n",
ret );
8747 ok( !
ret,
"WaitForSingleObject failed %x\n",
ret );
8758 if (!pActivateActCtx)
8760 win_skip(
"Activation contexts are not supported, skipping\n");
8771 handle = (
void*)0xdeadbeef;
8794 ok(
ret,
"thread window returned %d\n",
ret);
8798 ok(
ret,
"thread window returned %d\n",
ret);
9136 log_msg.
descr =
"accel";
9154 100, 100, 200, 200, 0, 0, 0,
NULL);
9166 ok(!(
state & 0x8000),
"wrong Shift state %04x\n",
state);
9177 trace(
"testing VK_N press/release\n");
9184 skip(
"queuing key events not supported\n" );
9189 trace(
"testing Shift+VK_N press/release\n");
9198 trace(
"testing Ctrl+VK_N press/release\n");
9207 trace(
"testing Alt+VK_N press/release\n");
9216 trace(
"testing Ctrl+Alt+VK_N press/release 1\n");
9233 trace(
"testing VK_N press/release\n");
9240 trace(
"testing Shift+VK_N press/release\n");
9249 trace(
"testing Ctrl+VK_N press/release 2\n");
9258 trace(
"testing Alt+VK_N press/release 2\n");
9267 trace(
"testing Ctrl+Alt+VK_N press/release 2\n");
9278 trace(
"testing Ctrl+Shift+VK_N press/release\n");
9289 trace(
"testing Ctrl+Alt+Shift+VK_N press/release\n");
9306 trace(
"testing Alt press/release\n");
9316 trace(
"testing VK_F1 press/release\n");
9322 trace(
"testing VK_APPS press/release\n");
9328 trace(
"testing VK_F10 press/release\n");
9336 trace(
"testing SHIFT+F10 press/release\n");
9346 trace(
"testing Shift+MouseButton press/release\n");
9370 skip(
"Shift+MouseButton event didn't get to the window\n" );
9383 static LONG defwndproc_counter = 0;
9384 static LONG beginpaint_counter = 0;
9421 ok(capture ==
hwnd,
"capture should NOT be released at this point (capture %p)\n", capture);
9422 trace(
"current capture %p, releasing...\n", capture);
9429 ok(pGetAncestor(
hwnd,
GA_PARENT) != 0,
"parent should NOT be unlinked at this point\n");
9448 ACTIVATION_CONTEXT_BASIC_INFORMATION basicinfo;
9452 handle = (
void*)0xdeadbeef;
9457 memset(&basicinfo, 0xff,
sizeof(basicinfo));
9458 ret = pQueryActCtxW(QUERY_ACTCTX_FLAG_USE_ACTIVE_ACTCTX,
handle, 0, ActivationContextBasicInformation,
9459 &basicinfo,
sizeof(basicinfo),
NULL);
9461 ok(basicinfo.hActCtx ==
NULL,
"got %p\n", basicinfo.hActCtx);
9462 ok(basicinfo.dwFlags == 0,
"got %x\n", basicinfo.dwFlags);
9484 msg.descr =
"MsgCheckProc";
9495 trace(
"Reserved=%d,%d MaxSize=%d,%d MaxPos=%d,%d MinTrack=%d,%d MaxTrack=%d,%d\n",
9502 ok(minmax->
ptMaxSize.
x == rc.
right,
"default width of maximized child %d != %d\n",
9511 beginpaint_counter++;
9513 beginpaint_counter--;
9524 defwndproc_counter++;
9527 defwndproc_counter--;
9544 static LONG defwndproc_counter = 0;
9564 msg.descr =
"popup";
9573 defwndproc_counter++;
9575 defwndproc_counter--;
9582 static LONG defwndproc_counter = 0;
9583 static LONG beginpaint_counter = 0;
9623 msg.descr =
"parent";
9630 beginpaint_counter++;
9632 beginpaint_counter--;
9637 defwndproc_counter++;
9639 defwndproc_counter--;
9661 static LONG defwndproc_counter = 0;
9672 ok(
ret == 0,
"DM_GETDEFID should return 0 after EndDialog, got %lx\n",
ret );
9683 msg.descr =
"dialog";
9686 defwndproc_counter++;
9688 defwndproc_counter--;
9695 static LONG defwndproc_counter = 0;
9729 defwndproc_counter++;
9731 defwndproc_counter--;
9738 static LONG defwndproc_counter = 0;
9760 msg.descr =
"recursive_activation";
9771 defwndproc_counter++;
9773 defwndproc_counter--;
9798 else ok(
broken(1),
"infinite loop\n");
9809 static LONG defwndproc_counter = 0;
9825 msg.descr =
"HotkeyMsgCheckProcA";
9829 defwndproc_counter++;
9831 defwndproc_counter--;
9836 ok((queue_status & (
QS_HOTKEY << 16)) ==
QS_HOTKEY << 16,
"expected QS_HOTKEY << 16 set, got %x\n", queue_status);
9844 ok((queue_status & (
QS_HOTKEY << 16)) == 0,
"expected QS_HOTKEY << 16 cleared, got %x\n", queue_status);
9972 msg.message = nCode;
10004 msg.message = nCode;
10034 msg.wParam = object_id;
10035 msg.lParam = child_id;
10065static const WCHAR dummy_window_text[] = {
'd',
'u',
'm',
'm',
'y',
' ',
't',
'e',
'x',
't',0};
10084 static const WCHAR wszMsgConversionClass[] =
10085 {
'M',
's',
'g',
'C',
'o',
'n',
'v',
'e',
'r',
's',
'i',
'o',
'n',
'C',
'l',
'a',
's',
's',0};
10107 100, 100, 200, 200, 0, 0, 0,
NULL);
10108 ok(
hwnd !=
NULL,
"Window creation failed\n");
10114 ok(lRes == 0,
"String should have been converted\n");
10116 ok(lRes == 1,
"String shouldn't have been converted\n");
10122 ok(lRes == 1,
"String shouldn't have been converted\n");
10124 ok(lRes == 1,
"String shouldn't have been converted\n");
10129 ok(lRes == 0,
"String should have been converted\n");
10131 ok(lRes == 1,
"String shouldn't have been converted\n");
10138 "PostMessage on sync only message returned %ld, last error %d\n", lRes,
GetLastError());
10142 "PostMessage on sync only message returned %ld, last error %d\n", lRes,
GetLastError());
10146 "PosThreadtMessage on sync only message returned %ld, last error %d\n", lRes,
GetLastError());
10150 "PosThreadtMessage on sync only message returned %ld, last error %d\n", lRes,
GetLastError());
10154 "SendNotifyMessage on sync only message returned %ld, last error %d\n", lRes,
GetLastError());
10158 "SendNotifyMessage on sync only message returned %ld, last error %d\n", lRes,
GetLastError());
10162 "SendMessageCallback on sync only message returned %ld, last error %d\n", lRes,
GetLastError());
10166 "SendMessageCallback on sync only message returned %ld, last error %d\n", lRes,
GetLastError());
10172 100, 100, 200, 200, 0, 0, 0,
NULL);
10178 "got bad length %ld\n", lRes );
10185 "got bad length %ld\n", lRes );
10193 "got bad length %ld\n", lRes );
10200 "got bad length %ld\n", lRes );
10217#define TIMER_ID 0x19
10218#define TIMER_COUNT_EXPECTED 100
10219#define TIMER_COUNT_TOLERANCE 10
10240 ok(
r,
"KillTimer failed in thread\n");
10242 ok(
r,
"SetTimer failed in thread\n");
10245 ok(
r,
"SetEvent failed in thread\n");
10262 ok(
info.id,
"SetTimer failed\n");
10283 ok(
id != 0,
"did not get id from SetTimer.\n");
10284 ok(
id==
TIMER_ID,
"SetTimer timer ID different\n");
10293 "did not get expected count for minimum timeout (%d != ~%d).\n",
10297 if (pSetSystemTimer)
10303 ok(
id != 0,
"did not get id from SetSystemTimer.\n");
10304 ok(
id==
TIMER_ID,
"SetTimer timer ID different\n");
10314 ||
broken(syscount > 4000 && syscount < 12000) ,
10315 "did not get expected count for minimum timeout (%d != ~%d).\n",
10317 todo_wine ok(
count == 0,
"did not get expected count for callback timeout (%d != 0).\n",
10319 ok(pKillSystemTimer(
info.hWnd,
id),
"KillSystemTimer failed\n");
10335 ok(
id != 0,
"did not get id from SetTimer.\n");
10337 ok(id2 ==
id,
"did not get same id from SetTimer when replacing (%li expected %li).\n", id2,
id);
10340 ok(
count == 0,
"did not get zero count as expected (%i).\n",
count);
10343 ok(
count == 1,
"did not get one count as expected (%i).\n",
count);
10347 ok(
count == 1,
"killing replaced timer did not work (%i).\n",
count);
10356 ok(
id != 0,
"did not get id from SetTimer.\n");
10363 "did not get expected count for minimum timeout (%d != ~%d).\n",
10368 if (pSetCoalescableTimer)
10372 ok(
id != 0,
"SetCoalescableTimer failed with %u.\n",
GetLastError());
10376 ok(
count > 1,
"expected count > 1, got %d.\n",
count);
10380 win_skip(
"SetCoalescableTimer not available.\n");
10387 if (!
ids[
i])
break;
10402 ok(
id != 0,
"did not get id from SetTimer.\n");
10411 ok(
count == 1,
"did not get one count as expected (%i).\n",
count);
10525 msg.wParam = object_id;
10527 msg.descr =
"WEH_2";
10546 msg.message = nCode;
10550 msg.descr =
"CBT_2";
10568 msg.descr =
"CBT_2";
10585 msg.message = nCode;
10589 msg.descr =
"CBT_2";
10602 assert(pNotifyWinEvent);
10604 hwnd =
CreateWindowExA(0,
"static",
NULL,
WS_POPUP, 0,0,0,0,0,0,0,
NULL);
10606 trace(
"created thread window %p\n",
hwnd);
10636 hwnd =
CreateWindowExA(0,
"static",
NULL,
WS_POPUP, 0,0,0,0,0,0,0,
NULL);
10638 trace(
"created thread window %p\n",
hwnd);
10667 hwnd =
CreateWindowExA(0,
"static",
NULL,
WS_POPUP, 0,0,0,0,0,0,0,
NULL);
10669 trace(
"created thread window %p\n",
hwnd);
10714 skip(
"cannot set global hook\n" );
10744 ok(!
IsWindow(hwnd2),
"window should be destroyed on thread exit\n");
10747 if (!pSetWinEventHook || !pNotifyWinEvent || !pUnhookWinEvent)
10773 hhook = pSetWinEventHook(
10775 EVENT_OBJECT_LOCATIONCHANGE,
10808 ok(!
IsWindow(hwnd2),
"window should be destroyed on thread exit\n");
10812 hhook = pSetWinEventHook(EVENT_MIN, EVENT_MAX, 0,
10852 ok(!
IsWindow(hwnd2),
"window should be destroyed on thread exit\n");
10860 win_skip(
"Skipping WH_MOUSE_LL test on this platform\n");
10861 goto skip_mouse_ll_hook_test;
10890 ok(!
IsWindow(hwnd2),
"window should be destroyed on thread exit\n");
10892skip_mouse_ll_hook_test:
10904 ok(
hhook != 0,
"local hook does not require hModule set to 0\n");
10912 ok(!
hhook,
"global hook requires hModule != 0\n");
10918 ok(!
hhook,
"SetWinEventHook with invalid proc should fail\n");
10929 if (!pSetWinEventHook || !pUnhookWinEvent)
return;
10933 hwinevent_hook = pSetWinEventHook(EVENT_MIN, EVENT_MAX, 0,
win_event_proc,
10935 ok(!hwinevent_hook,
"WINEVENT_INCONTEXT requires hModule != 0\n");
10942 hwinevent_hook = pSetWinEventHook(EVENT_MIN, EVENT_MAX, 0,
win_event_proc,
10944 ok(!hwinevent_hook,
"WINEVENT_INCONTEXT requires hModule != 0\n");
10955 ok(!hwinevent_hook,
"SetWinEventHook with invalid event range should fail\n");
10961 ok(!hwinevent_hook,
"SetWinEventHook with invalid event range should fail\n");
10965 hwinevent_hook = pSetWinEventHook(EVENT_MIN, EVENT_MAX, 0,
win_event_proc,
10967 ok(!hwinevent_hook,
"SetWinEventHook with invalid tid should fail\n");
10974 ok(hwinevent_hook != 0,
"SetWinEventHook error %d\n",
GetLastError());
10976 ret = pUnhookWinEvent(hwinevent_hook);
10983 hwinevent_hook = pSetWinEventHook(EVENT_MIN, EVENT_MAX, 0,
win_event_proc,
10985 ok(hwinevent_hook != 0,
"SetWinEventHook error %d\n",
GetLastError());
10987 ret = pUnhookWinEvent(hwinevent_hook);
10992 ok(!pUnhookWinEvent((
HWINEVENTHOOK)0xdeadbeef),
"UnhookWinEvent succeeded\n");
11013 ok(
b,
"PeekMessage failed\n");
11026 hook_hwnd =
CreateWindowA(
"Static",
NULL,
WS_POPUP, 0, 0, 200, 60,
NULL,
NULL,
NULL,
NULL);
11041 ok(
b,
"UnhokWindowsHookEx failed\n");
11072 100, 100, 200, 200, 0, 0, 0,
NULL);
11073 ok (
hwnd != 0,
"Failed to create overlapped window\n");
11076 10, 10, 150, 150,
hwnd, 0, 0,
NULL);
11077 ok (hchild != 0,
"Failed to create child\n");
11083 trace(
"start scroll\n");
11087 trace(
"end scroll\n");
11095 trace(
"start scroll\n");
11098 trace(
"end scroll\n");
11106 trace(
"start scroll\n");
11112 trace(
"end scroll\n");
11120 trace(
"start scroll with ScrollWindow\n");
11122 trace(
"end scroll\n");
11161 100, 100, 200, 200, 0, 0, 0,
NULL);
11170 0, 0, 50, 50, child1, (
HMENU)child_id++, 0,
NULL);
11225 ok(
test == child1,
"wrong parent %p\n",
test);
11229 ok(
test == child1,
"wrong parent %p\n",
test);
11247 trace(
"parent %p, child1 %p, child2 %p, child3 %p, child4 %p\n",
11248 parent, child1, child2, child3, child4);
11252 ok(
test == child4,
"wrong capture window %p\n",
test);
11261 ok(!
IsWindow(child1),
"child1 still exists\n");
11262 ok(!
IsWindow(child2),
"child2 still exists\n");
11263 ok(!
IsWindow(child3),
"child3 still exists\n");
11264 ok(!
IsWindow(child4),
"child4 still exists\n");
11267 ok(!
test,
"wrong capture window %p\n",
test);
11291 100, 100, 200, 200, 0, 0, 0,
NULL);
11311 if (++
count > 10)
break;
11316 trace(
"now without DispatchMessage\n");
11333 ok( !
count,
"Got multiple WM_PAINTs\n" );
11334 if (++
count > 10)
break;
11350 ok( !
hdc,
"got valid hdc %p from BeginPaint\n",
hdc );
11353 ok( !
count,
"Got multiple WM_PAINTs\n" );
11354 if (++
count > 10)
break;
11407 100, 100, 200, 200, 0, 0, 0,
NULL);
11411 info.timeout = 1000;
11412 info.ret = 0xdeadbeef;
11416 ok(
info.ret == 1,
"SendMessageTimeout failed\n" );
11420 info.ret = 0xdeadbeef;
11425 ok(
info.ret == 0,
"SendMessageTimeout succeeded\n" );
11430 info.ret = 0xdeadbeef;
11440 info.timeout = 0x7fffffff;
11441 info.ret = 0xdeadbeef;
11446 ok(
info.ret == 1,
"SendMessageTimeout failed\n" );
11449 info.timeout = 0x80000000;
11450 info.ret = 0xdeadbeef;
11457 ok(
info.ret == 1,
"SendMessageTimeout failed\n" );
11462 ok(
info.ret == 0,
"SendMessageTimeout succeeded\n" );
11468 info.timeout = 100;
11469 info.ret = 0xdeadbeef;
11474 ok(
info.ret == 0,
"SendMessageTimeout failed\n" );
11482#define ID_EDIT 0x1234
11602 static LONG defwndproc_counter = 0;
11614 msg.descr =
"edit";
11617 defwndproc_counter++;
11619 defwndproc_counter--;
11648 100, 100, 200, 200, 0, 0, 0,
NULL);
11649 ok (
parent != 0,
"Failed to create parent window\n");
11654 ok(
hwnd != 0,
"Failed to create edit window\n");
11696 ok(
hwnd != 0,
"Failed to create edit window\n");
11700 "wrong dlg_code %08x\n", dlg_code);
11761#define EV_SENDMSG 1
11775 trace(
"thread: looping\n");
11785 trace(
"thread: exiting\n");
11789 trace(
"thread: sending message\n");
11796 trace(
"unexpected return: %04x\n",
ret);
11815 100, 100, 200, 200, 0, 0, 0,
NULL);
11835 trace(
"QS_RAWINPUT not supported on this platform\n");
11836 qs_all_input &= ~QS_RAWINPUT;
11837 qs_input &= ~QS_RAWINPUT;
11844 ok(qstatus == 0,
"wrong qstatus %08x\n", qstatus);
11846 trace(
"signalling to send message\n");
11853 ok(qstatus == 0 ||
broken(qstatus) ,
"GetQueueStatus should fail: %08x\n", qstatus);
11859 qstatus &= ~MAKELONG( 0x4000, 0x4000 );
11861 "wrong qstatus %08x\n", qstatus);
11866 "PeekMessageA should have returned FALSE instead of msg %04x\n",
11871 ok(qstatus == 0,
"wrong qstatus %08x\n", qstatus);
11878 skip(
"queuing key events not supported\n" );
11884 "wrong qstatus %08x\n", qstatus);
11890 "wrong qstatus %08x\n", qstatus);
11896 "wrong qstatus %08x\n", qstatus);
11898 trace(
"signalling to send message\n");
11904 "wrong qstatus %08x\n", qstatus);
11910 win_skip(
"PM_QS_* flags not supported in PeekMessage\n" );
11914 "PeekMessageA should have returned FALSE instead of msg %04x\n",
11918 win_skip(
"PM_QS_* flags not supported in PeekMessage\n" );
11925 "wrong qstatus %08x\n", qstatus);
11927 trace(
"signalling to send message\n");
11933 "wrong qstatus %08x\n", qstatus);
11938 "PeekMessageA should have returned FALSE instead of msg %04x\n",
11944 "wrong qstatus %08x\n", qstatus);
11949 "got %d and %04x wParam %08lx instead of TRUE and WM_CHAR wParam 'z'\n",
11955 "wrong qstatus %08x\n", qstatus);
11960 "PeekMessageA should have returned FALSE instead of msg %04x\n",
11966 "wrong qstatus %08x\n", qstatus);
11971 "got %d and %04x instead of TRUE and WM_PAINT\n",
ret,
msg.message);
11977 "wrong qstatus %08x\n", qstatus);
11982 "PeekMessageA should have returned FALSE instead of msg %04x\n",
11988 "wrong qstatus %08x\n", qstatus);
11990 trace(
"signalling to send message\n");
11996 "wrong qstatus %08x\n", qstatus);
12002 "wrong qstatus %08x\n", qstatus);
12007 "got %d and %04x wParam %08lx instead of TRUE and WM_CHAR wParam 'z'\n",
12013 "wrong qstatus %08x\n", qstatus);
12018 "PeekMessageA should have returned FALSE instead of msg %04x\n",
12024 "wrong qstatus %08x\n", qstatus);
12030 "wrong qstatus %08x\n", qstatus);
12032 trace(
"signalling to send message\n");
12038 "wrong qstatus %08x\n", qstatus);
12043 "PeekMessageA should have returned FALSE instead of msg %04x\n",
12049 "wrong qstatus %08x\n", qstatus);
12052 if (qs_all_input & QS_RAWINPUT)
12057 "got %d and %04x wParam %08lx instead of TRUE and WM_KEYDOWN wParam 'N'\n",
12063 "wrong qstatus %08x\n", qstatus);
12066 if (qs_all_input & QS_RAWINPUT)
12071 "got %d and %04x wParam %08lx instead of TRUE and WM_KEYUP wParam 'N'\n",
12077 "wrong qstatus %08x\n", qstatus);
12082 "PeekMessageA should have returned FALSE instead of msg %04x\n",
12088 "wrong qstatus %08x\n", qstatus);
12093 "got %d and %04x wParam %08lx instead of TRUE and WM_CHAR wParam 'z'\n",
12099 "wrong qstatus %08x\n", qstatus);
12104 "PeekMessageA should have returned FALSE instead of msg %04x\n",
12110 "wrong qstatus %08x\n", qstatus);
12119 "wrong qstatus %08x\n", qstatus);
12125 "wrong qstatus %08x\n", qstatus);
12130 "got %d and %04x instead of TRUE and WM_USER\n",
ret,
msg.message);
12135 "wrong qstatus %08x\n", qstatus);
12140 "got %d and %04x instead of TRUE and WM_QUIT\n",
ret,
msg.message);
12141 ok(
msg.wParam == 0x1234abcd,
"got wParam %08lx instead of 0x1234abcd\n",
msg.wParam);
12142 ok(
msg.lParam == 0,
"got lParam %08lx instead of 0\n",
msg.lParam);
12148 "wrong qstatus %08x\n", qstatus);
12154 "PeekMessageA should have returned FALSE instead of msg %04x\n",
12160 "wrong qstatus %08x\n", qstatus);
12176 "got %d and %04x wParam %08lx instead of TRUE and WM_CHAR wParam 'z'\n",
12186 "got %d and %04x wParam %08lx instead of TRUE and WM_KEYDOWN wParam 'N'\n",
12190 ok(qstatus == 0,
"wrong qstatus %08x\n", qstatus);
12201 if (qstatus & (
QS_KEY << 16))
12205 "got %d and %04x wParam %08lx instead of TRUE and WM_KEYDOWN wParam 'N'\n",
12216 "got %d and %04x wParam %08lx instead of TRUE and WM_CHAR wParam 'z'\n",
12219 ok(qstatus == 0,
"wrong qstatus %08x\n", qstatus);
12230 trace(
"signalling to send message\n");
12235 "wrong qstatus %08x\n", qstatus);
12237 if (qstatus & (
QS_KEY << 16))
12241 "got %d and %04x wParam %08lx instead of TRUE and WM_KEYDOWN wParam 'N'\n",
12252 "got %d and %04x wParam %08lx instead of TRUE and WM_CHAR wParam 'z'\n",
12255 ok(qstatus == 0,
"wrong qstatus %08x\n", qstatus);
12283 trace(
"signalling to exit\n");
12318 DWORD time1, time2, time3;
12322 time1 = time2 = time3 = 0;
12329 trace(
"Window for test_PeekMessage2 %p\n",
hwnd);
12346 skip(
"queuing mouse events not supported\n" );
12351 trace(
"1st move event: %04x %x %d %d\n",
msg.message,
msg.time,
msg.pt.x,
msg.pt.y);
12369 ok(
ret,
"no message available\n");
12371 trace(
"2nd move event: %04x %x %d %d\n",
msg.message,
msg.time,
msg.pt.x,
msg.pt.y);
12377 ok(time2 > time1,
"message time not advanced: %x %x\n", time1, time2);
12387 ok(
ret,
"no message available\n");
12389 trace(
"3rd move event: %04x %x %d %d\n",
msg.message,
msg.time,
msg.pt.x,
msg.pt.y);
12395 ok(time3 > time2,
"message time not advanced: %x %x\n", time2, time3);
12396 ok(x3 !=
x2 && y3 !=
y2,
"coords not changed: (%d %d) (%d %d)\n",
x2,
y2, x3, y3);
12413 ok(
hwnd !=
NULL,
"expected hwnd != NULL\n");
12421 ok(
msg.message ==
WM_TIMER,
"msg.message = %u instead of WM_TIMER\n",
msg.message);
12424 ok(
ret &&
msg.message ==
WM_TIMER,
"msg.message = %u instead of WM_TIMER\n",
msg.message);
12426 ok(
ret &&
msg.message ==
WM_TIMER,
"msg.message = %u instead of WM_TIMER\n",
msg.message);
12428 ok(
ret &&
msg.message ==
WM_USER,
"msg.message = %u instead of WM_USER\n",
msg.message);
12430 ok(!
ret,
"expected PeekMessage to return FALSE, got %u\n",
ret);
12434 ok(
msg.message ==
WM_TIMER,
"msg.message = %u instead of WM_TIMER\n",
msg.message);
12437 ok(
ret &&
msg.message ==
WM_TIMER,
"msg.message = %u instead of WM_TIMER\n",
msg.message);
12439 ok(
ret &&
msg.message ==
WM_USER,
"msg.message = %u instead of WM_USER\n",
msg.message);
12441 ok(!
ret,
"expected PeekMessage to return FALSE, got %u\n",
ret);
12447 ok(
msg.message ==
WM_TIMER,
"msg.message = %u instead of WM_TIMER\n",
msg.message);
12450 ok(
ret &&
msg.message ==
WM_TIMER,
"msg.message = %u instead of WM_TIMER\n",
msg.message);
12452 ok(
ret &&
msg.message ==
WM_USER,
"msg.message = %u instead of WM_USER\n",
msg.message);
12454 ok(!
ret,
"expected PeekMessage to return FALSE, got %u\n",
ret);
12461 ok(
msg.message ==
WM_TIMER,
"msg.message = %u instead of WM_TIMER\n",
msg.message);
12463 ok(
ret &&
msg.message ==
WM_USER,
"msg.message = %u instead of WM_USER\n",
msg.message);
12465 ok(
ret &&
msg.message ==
WM_TIMER,
"msg.message = %u instead of WM_TIMER\n",
msg.message);
12467 ok(!
ret,
"expected PeekMessage to return FALSE, got %u\n",
ret);
12474 ok(
msg.message ==
WM_TIMER,
"msg.message = %u instead of WM_TIMER\n",
msg.message);
12477 ok(
ret &&
msg.message ==
WM_USER,
"msg.message = %u instead of WM_USER\n",
msg.message);
12479 ok(
ret &&
msg.message ==
WM_TIMER,
"msg.message = %u instead of WM_TIMER\n",
msg.message);
12481 ok(
ret &&
msg.message ==
WM_USER + 1,
"msg.message = %u instead of WM_USER + 1\n",
msg.message);
12483 ok(!
ret,
"expected PeekMessage to return FALSE, got %u\n",
ret);
12489 ok(
msg.message ==
WM_TIMER,
"msg.message = %u instead of WM_TIMER\n",
msg.message);
12493 ok(
ret &&
msg.message ==
WM_USER,
"msg.message = %u instead of WM_USER\n",
msg.message);
12495 ok(
ret &&
msg.message ==
WM_USER + 1,
"msg.message = %u instead of WM_USER + 1\n",
msg.message);
12497 ok(
ret &&
msg.message ==
WM_TIMER,
"msg.message = %u instead of WM_TIMER\n",
msg.message);
12499 ok(
ret &&
msg.message ==
WM_USER + 1,
"msg.message = %u instead of WM_USER + 1\n",
msg.message);
12501 ok(
ret &&
msg.message ==
WM_USER,
"msg.message = %u instead of WM_USER\n",
msg.message);
12503 ok(!
ret,
"expected PeekMessage to return FALSE, got %u\n",
ret);
12510 ok(
msg.message ==
WM_TIMER,
"msg.message = %u instead of WM_TIMER\n",
msg.message);
12513 ok(
ret &&
msg.message ==
WM_TIMER,
"msg.message = %u instead of WM_TIMER\n",
msg.message);
12515 ok(
ret &&
msg.message ==
WM_USER,
"msg.message = %u instead of WM_USER\n",
msg.message);
12517 ok(!
ret,
"expected PeekMessage to return FALSE, got %u\n",
ret);
12522 ok(
msg.message ==
WM_TIMER,
"msg.message = %u instead of WM_TIMER\n",
msg.message);
12524 ok(
ret &&
msg.message ==
WM_USER,
"msg.message = %u instead of WM_USER\n",
msg.message);
12526 ok(
ret &&
msg.message ==
WM_TIMER,
"msg.message = %u instead of WM_TIMER\n",
msg.message);
12528 ok(!
ret,
"expected PeekMessage to return FALSE, got %u\n",
ret);
12545 msg.descr =
"dialog";
12596 ok(!
ret,
"got %x message\n",
msg.message);
12600 ok(
msg.message ==
WM_QUIT,
"Received message 0x%04x instead of WM_QUIT\n",
msg.message);
12601 ok(
msg.wParam == 0xbeef,
"wParam was 0x%lx instead of 0xbeef\n",
msg.wParam);
12608 ok(
msg.message ==
WM_USER,
"Received message 0x%04x instead of WM_USER\n",
msg.message);
12613 ok(
msg.message ==
WM_QUIT,
"Received message 0x%04x instead of WM_QUIT\n",
msg.message);
12614 ok(
msg.wParam == 0xbeef,
"wParam was 0x%lx instead of 0xbeef\n",
msg.wParam);
12624 ok(
msg.message ==
WM_QUIT,
"Received message 0x%04x instead of WM_QUIT\n",
msg.message);
12625 ok(
msg.wParam == 0xdead,
"wParam was 0x%lx instead of 0xdead\n",
msg.wParam);
12633 ok(
msg.message ==
WM_QUIT,
"Received message 0x%04x instead of WM_QUIT\n",
msg.message);
12634 ok(
msg.wParam == 0xdead,
"wParam was 0x%lx instead of 0xdead\n",
msg.wParam);
12638 ok(
msg.message ==
WM_USER,
"Received message 0x%04x instead of WM_USER\n",
msg.message);
12643 ok(
ret == 1,
"expected 1, got %d\n",
ret);
12647 ok(
ret,
"PeekMessage failed\n");
12648 ok(
msg.message ==
WM_QUIT,
"Received message 0x%04x instead of WM_QUIT\n",
msg.message);
12649 ok(
msg.wParam == 0x1234,
"wParam was 0x%lx instead of 0x1234\n",
msg.wParam);
12650 ok(
msg.lParam == 0,
"lParam was 0x%lx instead of 0\n",
msg.lParam);
12666 rmsg.
descr =
"stop/quit";
12669 ok(!
msg.hwnd,
"The WM_QUIT hwnd was %p instead of NULL\n",
msg.hwnd);
12689 ok(
hwnd != 0,
"Failed to create window\n");
12752 DWORD start_ticks, end_ticks;
12774 s_msg.
descr =
"msg_loop";
12783 if (inject_mouse_move && start_ticks +
timeout / 2 >= end_ticks)
12788 inject_mouse_move =
FALSE;
12790 }
while (start_ticks +
timeout >= end_ticks);
12798 RECT rc_parent, rc_child;
12799 UINT default_hover_time, hover_width = 0, hover_height = 0;
12801#define track_hover(track_hwnd, track_hover_time) \
12802 tme.cbSize = sizeof(tme); \
12803 tme.dwFlags = TME_HOVER; \
12804 tme.hwndTrack = track_hwnd; \
12805 tme.dwHoverTime = track_hover_time; \
12806 SetLastError(0xdeadbeef); \
12807 ret = pTrackMouseEvent(&tme); \
12808 ok(ret, "TrackMouseEvent(TME_HOVER) error %d\n", GetLastError())
12810#define track_query(expected_track_flags, expected_track_hwnd, expected_hover_time) \
12811 tme.cbSize = sizeof(tme); \
12812 tme.dwFlags = TME_QUERY; \
12813 tme.hwndTrack = (HWND)0xdeadbeef; \
12814 tme.dwHoverTime = 0xdeadbeef; \
12815 SetLastError(0xdeadbeef); \
12816 ret = pTrackMouseEvent(&tme); \
12817 ok(ret, "TrackMouseEvent(TME_QUERY) error %d\n", GetLastError());\
12818 ok(tme.cbSize == sizeof(tme), "wrong tme.cbSize %u\n", tme.cbSize); \
12819 ok(tme.dwFlags == (expected_track_flags), \
12820 "wrong tme.dwFlags %08x, expected %08x\n", tme.dwFlags, (expected_track_flags)); \
12821 ok(tme.hwndTrack == (expected_track_hwnd), \
12822 "wrong tme.hwndTrack %p, expected %p\n", tme.hwndTrack, (expected_track_hwnd)); \
12823 ok(tme.dwHoverTime == (expected_hover_time), \
12824 "wrong tme.dwHoverTime %u, expected %u\n", tme.dwHoverTime, (expected_hover_time))
12826#define track_hover_cancel(track_hwnd) \
12827 tme.cbSize = sizeof(tme); \
12828 tme.dwFlags = TME_HOVER | TME_CANCEL; \
12829 tme.hwndTrack = track_hwnd; \
12830 tme.dwHoverTime = 0xdeadbeef; \
12831 SetLastError(0xdeadbeef); \
12832 ret = pTrackMouseEvent(&tme); \
12833 ok(ret, "TrackMouseEvent(TME_HOVER | TME_CANCEL) error %d\n", GetLastError())
12835 default_hover_time = 0xdeadbeef;
12839 "SystemParametersInfo(SPI_GETMOUSEHOVERTIME) error %u\n",
GetLastError());
12840 if (!
ret) default_hover_time = 400;
12841 trace(
"SPI_GETMOUSEHOVERTIME returned %u ms\n", default_hover_time);
12846 "SystemParametersInfo(SPI_GETMOUSEHOVERWIDTH) error %u\n",
GetLastError());
12847 if (!
ret) hover_width = 4;
12851 "SystemParametersInfo(SPI_GETMOUSEHOVERHEIGHT) error %u\n",
GetLastError());
12852 if (!
ret) hover_height = 4;
12853 trace(
"hover rect is %u x %d\n", hover_width, hover_height);
12863 50, 50, 200, 200,
hwnd,
12876 ret = pTrackMouseEvent(&tme);
12877 ok(!
ret,
"TrackMouseEvent should fail\n");
12881 tme.
cbSize =
sizeof(tme);
12886 ret = pTrackMouseEvent(&tme);
12887 ok(!
ret,
"TrackMouseEvent should fail\n");
12891 tme.
cbSize =
sizeof(tme);
12896 ret = pTrackMouseEvent(&tme);
12897 ok(!
ret,
"TrackMouseEvent should fail\n");
12920 tme.
cbSize =
sizeof(tme);
12925 ret = pTrackMouseEvent(&tme);
12927 ok(tme.
cbSize ==
sizeof(tme),
"wrong tme.cbSize %u\n", tme.
cbSize);
12930 skip(
"Cursor not inside window, skipping TrackMouseEvent tests\n" );
12936 ok(tme.
dwHoverTime == default_hover_time,
"wrong tme.dwHoverTime %u, expected %u\n",
12947 Sleep(default_hover_time / 2);
12974#undef track_hover_cancel
13027 100, 100, 200, 200, 0, 0, 0,
NULL);
13028 ok(
hwnd != 0,
"Failed to create overlapped window\n" );
13035 trace(
"testing SetWindowRgn\n");
13306 static const struct
13312 INT wp_cmd, wp_flags;
13313 POINT wp_min, wp_max;
13437 RECT win_rc, work_rc = {0, 0, 0, 0};
13439#define WS_BASE (WS_CAPTION|WS_SYSMENU|WS_MINIMIZEBOX|WS_MAXIMIZEBOX|WS_POPUP|WS_CLIPSIBLINGS)
13446 ok(
style == 0,
"expected style 0, got %08x\n",
style);
13451 if (pGetMonitorInfoA && pMonitorFromPoint)
13458 hmon = pMonitorFromPoint(
pt, MONITOR_DEFAULTTOPRIMARY);
13489 static const char *
const sw_cmd_name[13] =
13491 "SW_HIDE",
"SW_SHOWNORMAL",
"SW_SHOWMINIMIZED",
"SW_SHOWMAXIMIZED",
13492 "SW_SHOWNOACTIVATE",
"SW_SHOW",
"SW_MINIMIZE",
"SW_SHOWMINNOACTIVE",
13493 "SW_SHOWNA",
"SW_RESTORE",
"SW_SHOWDEFAULT",
"SW_FORCEMINIMIZE",
13502 trace(
"%d: sending %s, current window style %08x\n",
i+1, sw_cmd_name[
idx],
style);
13504 ok(!
ret == !sw[
i].
ret,
"%d: cmd %s: expected ret %lu, got %lu\n",
i+1, sw_cmd_name[
idx], sw[
i].
ret,
ret);
13515 ok(wp.
flags == sw[
i].wp_flags,
"expected %#x, got %#x\n", sw[
i].wp_flags, wp.
flags);
13555 msg.descr =
"dialog";
13583 msg.descr =
"edit";
13600 msg.descr =
"dialog";
13614 ok( 0,
"should not be called since DefDlgProc is not used\n" );
13629 msg.descr =
"dialog";
13790#define set_selection(hctl, start, end) \
13791 ret = SendMessageA(hctl, EM_SETSEL, start, end); \
13792 ok(ret == 1, "EM_SETSEL returned %ld\n", ret);
13794#define check_selection(hctl, start, end) \
13795 ret = SendMessageA(hctl, EM_GETSEL, 0, 0); \
13796 ok(ret == MAKELRESULT(start, end), "wrong selection (%d - %d)\n", LOWORD(ret), HIWORD(ret));
13802 0, 0, 100, 100, 0, 0, 0,
NULL);
13803 ok(hdlg != 0,
"Failed to create custom dialog window\n");
13807 0, 0, 80, 20, hdlg, (
HMENU)1, 0,
NULL);
13808 ok(hedit1 != 0,
"Failed to create edit control\n");
13811 0, 40, 80, 20, hdlg, (
HMENU)2, 0,
NULL);
13812 ok(hedit2 != 0,
"Failed to create edit control\n");
13818 ok(hfocus == hdlg,
"wrong focus %p\n", hfocus);
13822 ok(hfocus == hedit2,
"wrong focus %p\n", hfocus);
13832 ok(hfocus == 0,
"wrong focus %p\n", hfocus);
13836 ok(
ret == 0,
"WM_SETFOCUS returned %ld\n",
ret);
13840 ok(hfocus == hedit1,
"wrong focus %p\n", hfocus);
13847 ok(
ret == 0,
"WM_SETFOCUS returned %ld\n",
ret);
13851 ok(hfocus == hedit1,
"wrong focus %p\n", hfocus);
13862#undef set_selection
13863#undef check_selection
13875 ok(
IsWindow(hdlg),
"CreateDialogParam failed\n");
13878 ok(hfocus == 0,
"wrong focus %p\n", hfocus);
13886 ok(
IsWindow(hdlg),
"CreateDialogParam failed\n");
13889 ok(hfocus == hdlg,
"wrong focus %p\n", hfocus);
13895 ok(
IsWindow(hdlg),
"CreateDialogParam failed\n");
13902 ok(
IsWindow(hdlg),
"CreateDialogParam failed\n");
13912 ok(
IsWindow(hdlg),
"CreateDialogParam failed\n");
13922 100, 100, 200, 200, 0, 0, 0,
NULL);
13923 ok (
parent != 0,
"Failed to create parent window\n");
13929 100, 100, 200, 200, 0, 0, 0,
NULL);
13930 ok (
child != 0,
"Failed to create child window\n");
13936 100, 100, 200, 200,
child, 0, 0,
NULL);
13937 ok (child2 != 0,
"Failed to create child window\n");
13954 const struct message seq[] = {
13979 const struct message seq[] = {
14000 HWND hparent, hother, hactive, hdlg, hchild;
14005 100, 100, 200, 200, 0, 0, 0,
NULL);
14006 ok (hparent != 0,
"Failed to create parent window\n");
14010 200, 100, 200, 200, 0, 0, 0,
NULL);
14011 ok (hother != 0,
"Failed to create parent window\n");
14022 ok(hother == hactive,
"Wrong window has focus (%p != %p)\n", hother, hactive);
14027 ok(
IsWindow(hdlg),
"CreateDialogParam failed\n");
14030 ok(hdlg == hactive,
"Wrong window has focus (%p != %p)\n", hdlg, hactive);
14034 ok(hparent == hactive,
"Wrong window has focus (parent != active) (active: %p, parent: %p, dlg: %p, other: %p)\n", hactive, hparent, hdlg, hother);
14042 0, 0, 100, 100, hparent, 0, 0,
NULL);
14043 ok(
IsWindow(hdlg),
"CreateDialogParam failed\n");
14048 ok(hactive == hother,
"Wrong foreground (%p != %p)\n", hactive, hother);
14050 ok(hactive == hother,
"Wrong active window (%p != %p)\n", hactive, hother);
14054 ok(hother == hactive,
"Wrong window has focus (other != active) (active: %p, parent: %p, dlg: %p, other: %p)\n", hactive, hparent, hdlg, hother);
14062 100, 100, 200, 200, 0, 0, 0,
NULL);
14063 ok (hparent != 0,
"Failed to create parent window\n");
14067 0, 0, 0, 0, 0, 0, 0,
NULL);
14068 ok (hchild != 0,
"Failed to create child window\n");
14075 ok(hother == hactive,
"Wrong foreground window (%p != %p)\n", hother, hactive);
14078 ok(
IsWindow(hdlg),
"CreateDialogParam failed\n");
14084 ok(hactive == hchild,
"Wrong foreground window (active: %p, parent: %p, dlg: %p, other: %p child: %p)\n", hactive, hparent, hdlg, hother, hchild);
14093 ok(hother == hactive,
"Wrong foreground window (%p != %p)\n", hother, hactive);
14096 ok(
IsWindow(hdlg),
"CreateDialogParam failed\n");
14102 ok(hactive == hparent,
"Wrong foreground window (active: %p, parent: %p, dlg: %p, other: %p child: %p)\n", hactive, hparent, hdlg, hother, hchild);
14117 100, 100, 200, 200, 0, 0, 0,
NULL);
14118 ok (
hwnd != 0,
"Failed to create overlapped window\n");
14238 100, 100, 200, 200, 0, 0, 0,
NULL);
14240 popup =
CreateWindowExA(0,
"TestWindowClass",
"Test SetActiveWindow",
14242 100, 100, 200, 200,
hwnd, 0, 0,
NULL);
14244 ok(
hwnd != 0,
"Failed to create overlapped window\n");
14245 ok(popup != 0,
"Failed to create popup window\n");
14249 trace(
"SetActiveWindow(0)\n");
14251 ok(
ret == popup,
"Failed to SetActiveWindow(0)\n");
14255 trace(
"SetActiveWindow(hwnd), hwnd visible\n");
14260 trace(
"SetActiveWindow(popup), hwnd visible, popup visible\n");
14262 ok(
ret ==
hwnd,
"Failed to SetActiveWindow(popup), popup visible\n");
14270 trace(
"SetActiveWindow(hwnd), hwnd not visible\n");
14272 ok(
ret ==
NULL,
"SetActiveWindow(hwnd), hwnd not visible, previous is %p\n",
ret );
14276 trace(
"SetActiveWindow(popup), hwnd not visible, popup not visible\n");
14278 ok(
ret ==
hwnd,
"Failed to SetActiveWindow(popup)\n");
14305 100, 100, 200, 200, 0, 0, 0,
NULL);
14306 ok (
hwnd != 0,
"Failed to create overlapped window\n");
14310 trace(
"SetForegroundWindow( 0 )\n");
14313 trace(
"SetForegroundWindow( GetDesktopWindow() )\n");
14316 "foreground top level window",
FALSE);
14337 WCHAR wch, bad_wch;
14349 if (!pGetCPInfoExA)
14351 win_skip(
"GetCPInfoExA is not available\n");
14355 pGetCPInfoExA(
cp, 0, &cpinfo );
14358 skip(
"Skipping DBCS WM_CHAR test in SBCS codepage '%s'\n", cpinfo.
CodePageName );
14362 dbch[0] = dbch[1] = 0;
14367 for (
k = 128;
k <= 255;
k++)
14387 skip(
"Skipping DBCS WM_CHAR test, no appropriate char found\n" );
14390 trace(
"using dbcs char %02x,%02x wchar %04x bad wchar %04x codepage '%s'\n",
14391 dbch[0], dbch[1], wch, bad_wch, cpinfo.
CodePageName );
14397 ok (
hwnd != 0,
"Failed to create overlapped window\n");
14398 ok (hwnd2 != 0,
"Failed to create overlapped window\n");
14401 memset( wmCharSeq, 0,
sizeof(wmCharSeq) );
14404 wmCharSeq[0].
wParam = wch;
14409 ok( !
ret,
"got message %x\n",
msg.message );
14412 ok(
ret,
"no message\n" );
14413 ok(
msg.message ==
WM_CHAR,
"unexpected message %x\n",
msg.message );
14414 ok(
msg.wParam == wch,
"bad wparam %lx/%x\n",
msg.wParam, wch );
14416 ok( !
ret,
"got message %x\n",
msg.message );
14421 ok( !
ret,
"got message %x\n",
msg.message );
14424 ok(
ret,
"no message\n" );
14425 ok(
msg.message ==
WM_CHAR,
"unexpected message %x\n",
msg.message );
14426 ok(
msg.wParam == wch,
"bad wparam %lx/%x\n",
msg.wParam, wch );
14428 ok( !
ret,
"got message %x\n",
msg.message );
14437 ok( !
ret,
"got message %x\n",
msg.message );
14446 ok( !
ret,
"got message %x\n",
msg.message );
14455 ok( !
ret,
"got message %x\n",
msg.message );
14464 ok( !
ret,
"got message %x\n",
msg.message );
14476 msg.wParam = dbch[0];
14480 msg.wParam = dbch[1];
14491 ok( !
ret,
"got message %x\n",
msg.message );
14499 ok( !
ret,
"got message %x\n",
msg.message );
14503 ok(
ret,
"no message\n" );
14504 ok(
msg.message ==
WM_CHAR,
"unexpected message %x\n",
msg.message );
14505 ok(
msg.wParam == wch,
"bad wparam %lx/%x\n",
msg.wParam, wch );
14507 ok( !
ret,
"got message %x\n",
msg.message );
14511 ok( !
ret,
"got message %x\n",
msg.message );
14526 msg.wParam = dbch[0];
14531 msg.wParam = dbch[1];
14552 ok( !
ret,
"got message %x\n",
msg.message );
14557 ok(
ret,
"no message\n" );
14559 ok(
msg.wParam == bad_wch,
"bad wparam %lx/%x\n",
msg.wParam, bad_wch );
14561 ok( !
ret,
"got message %x\n",
msg.message );
14564 ok(
ret,
"no message\n" );
14566 ok(
msg.wParam == bad_wch,
"bad wparam %lx/%x\n",
msg.wParam, bad_wch );
14568 ok( !
ret,
"got message %x\n",
msg.message );
14574 ok(
ret,
"no message\n" );
14575 ok(
msg.hwnd ==
hwnd,
"unexpected hwnd %p\n",
msg.hwnd );
14576 ok(
msg.message ==
WM_CHAR,
"unexpected message %x\n",
msg.message );
14577 ok(
msg.wParam == dbch[0],
"bad wparam %lx/%x\n",
msg.wParam, dbch[0] );
14579 ok(
ret,
"no message\n" );
14580 ok(
msg.hwnd ==
hwnd,
"unexpected hwnd %p\n",
msg.hwnd );
14581 ok(
msg.message ==
WM_CHAR,
"unexpected message %x\n",
msg.message );
14582 ok(
msg.wParam == dbch[1],
"bad wparam %lx/%x\n",
msg.wParam, dbch[0] );
14584 ok( !
ret,
"got message %x\n",
msg.message );
14589 ok(
ret,
"no message\n" );
14590 ok(
msg.hwnd ==
hwnd,
"unexpected hwnd %p\n",
msg.hwnd );
14591 ok(
msg.message ==
WM_CHAR,
"unexpected message %x\n",
msg.message );
14592 ok(
msg.wParam == dbch[0],
"bad wparam %lx/%x\n",
msg.wParam, dbch[0] );
14595 ok( !
ret,
"no message\n" );
14597 ok(
ret,
"no message\n" );
14598 ok(
msg.hwnd ==
hwnd,
"unexpected hwnd %p\n",
msg.hwnd );
14599 ok(
msg.message ==
WM_CHAR,
"unexpected message %x\n",
msg.message );
14600 ok(
msg.wParam == dbch[1],
"bad wparam %lx/%x\n",
msg.wParam, dbch[0] );
14602 ok( !
ret,
"got message %x\n",
msg.message );
14607 ok(
msg.hwnd ==
hwnd,
"unexpected hwnd %p\n",
msg.hwnd );
14608 ok(
msg.message ==
WM_CHAR,
"unexpected message %x\n",
msg.message );
14609 ok(
msg.wParam == dbch[0],
"bad wparam %lx/%x\n",
msg.wParam, dbch[0] );
14610 ok(
msg.lParam == 0xbeef,
"bad lparam %lx\n",
msg.lParam );
14615 ok(
ret,
"no message\n" );
14616 ok(
msg.hwnd ==
hwnd,
"unexpected hwnd %p\n",
msg.hwnd );
14617 ok(
msg.message ==
WM_CHAR,
"unexpected message %x\n",
msg.message );
14618 ok(
msg.wParam == dbch[1],
"bad wparam %lx/%x\n",
msg.wParam, dbch[0] );
14619 ok(
msg.lParam == 0xbeef,
"bad lparam %lx\n",
msg.lParam );
14623 ok( !
ret,
"got message %x\n",
msg.message );
14628 ok(
ret,
"no message\n" );
14629 ok(
msg.hwnd ==
hwnd,
"unexpected hwnd %p\n",
msg.hwnd );
14630 ok(
msg.message ==
WM_CHAR,
"unexpected message %x\n",
msg.message );
14631 ok(
msg.wParam == dbch[0],
"bad wparam %lx/%x\n",
msg.wParam, dbch[0] );
14633 ok(
ret,
"no message\n" );
14634 ok(
msg.hwnd ==
hwnd,
"unexpected hwnd %p\n",
msg.hwnd );
14635 ok(
msg.message ==
WM_CHAR,
"unexpected message %x\n",
msg.message );
14636 ok(
msg.wParam == dbch[0],
"bad wparam %lx/%x\n",
msg.wParam, dbch[0] );
14638 ok(
ret,
"no message\n" );
14639 ok(
msg.hwnd ==
hwnd,
"unexpected hwnd %p\n",
msg.hwnd );
14640 ok(
msg.message ==
WM_CHAR,
"unexpected message %x\n",
msg.message );
14641 ok(
msg.wParam == dbch[1],
"bad wparam %lx/%x\n",
msg.wParam, dbch[0] );
14643 ok(
ret,
"no message\n" );
14644 ok(
msg.hwnd ==
hwnd,
"unexpected hwnd %p\n",
msg.hwnd );
14645 ok(
msg.message ==
WM_CHAR,
"unexpected message %x\n",
msg.message );
14646 ok(
msg.wParam == dbch[1],
"bad wparam %lx/%x\n",
msg.wParam, dbch[0] );
14648 ok( !
ret,
"got message %x\n",
msg.message );
14659 HKL hkl_orig, hkl_greek;
14661 LCID thread_locale;
14667 skip(
"Default codepage %d\n",
cp );
14672 if (!hkl_greek || hkl_greek == hkl_orig )
14674 skip(
"Unable to load Greek keyboard layout\n" );
14679 100, 100, 200, 200, 0, 0, 0,
NULL );
14689 ok(
msg.hwnd ==
hwnd,
"unexpected hwnd %p\n",
msg.hwnd );
14690 ok(
msg.message ==
WM_CHAR,
"unexpected message %x\n",
msg.message );
14691 ok(
msg.wParam == 0x3b1,
"bad wparam %lx\n",
msg.wParam );
14692 ok(
msg.lParam == 0,
"bad lparam %lx\n",
msg.lParam );
14696 memset( seq, 0,
sizeof(seq) );
14709 ok(
msg.hwnd ==
hwnd,
"unexpected hwnd %p\n",
msg.hwnd );
14710 ok(
msg.message ==
WM_CHAR,
"unexpected message %x\n",
msg.message );
14711 ok(
msg.wParam == 0x61,
"bad wparam %lx\n",
msg.wParam );
14712 ok(
msg.lParam == 0,
"bad lparam %lx\n",
msg.lParam );
14730 ok(
msg.hwnd ==
hwnd,
"unexpected hwnd %p\n",
msg.hwnd );
14731 ok(
msg.message ==
WM_CHAR,
"unexpected message %x\n",
msg.message );
14732 ok(
msg.wParam == 0xe1,
"bad wparam %lx\n",
msg.wParam );
14733 ok(
msg.lParam == 0,
"bad lparam %lx\n",
msg.lParam );
14745#define ID_LISTBOX 0x000f
14858#define check_lb_state(a1, a2, a3, a4, a5) check_lb_state_dbg(a1, a2, a3, a4, a5, __LINE__)
14864 static LONG defwndproc_counter = 0;
14883 msg.lParam = lp ?
hash_Ly((
const char *)lp) : 0;
14886 msg.descr =
"listbox";
14890 defwndproc_counter++;
14892 defwndproc_counter--;
14898 int caret_index,
int top_index,
int line)
14906 ok_(__FILE__,
line)(
ret == cur_sel,
"expected cur sel %d, got %ld\n", cur_sel,
ret);
14909 broken(cur_sel == -1 && caret_index == 0 &&
ret == -1),
14910 "expected caret index %d, got %ld\n", caret_index,
ret);
14912 ok_(__FILE__,
line)(
ret == top_index,
"expected top index %d, got %ld\n", top_index,
ret);
14921 100, 100, 200, 200, 0, 0, 0,
NULL);
14935 ok(
ret == 0,
"expected 0, got %ld\n",
ret);
14937 ok(
ret == 1,
"expected 1, got %ld\n",
ret);
14939 ok(
ret == 2,
"expected 2, got %ld\n",
ret);
14946 trace(
"selecting item 0\n");
14948 ok(
ret == 0,
"expected 0, got %ld\n",
ret);
14953 trace(
"selecting item 1\n");
14955 ok(
ret == 1,
"expected 1, got %ld\n",
ret);
14959 trace(
"selecting item 2\n");
14961 ok(
ret == 2,
"expected 2, got %ld\n",
ret);
14965 trace(
"clicking on item 0\n");
14974 trace(
"deleting item 0\n");
14976 ok(
ret == 2,
"expected 2, got %ld\n",
ret);
14981 trace(
"deleting item 0\n");
14983 ok(
ret == 1,
"expected 1, got %ld\n",
ret);
14988 trace(
"deleting item 0\n");
14990 ok(
ret == 0,
"expected 0, got %ld\n",
ret);
14995 trace(
"deleting item 0\n");
15018 ok(
ret == 0,
"expected 0, got %ld\n",
ret);
15020 ok(
ret == 1,
"expected 1, got %ld\n",
ret);
15022 ok(
ret == 2,
"expected 2, got %ld\n",
ret);
15044 ok(
ret == 0,
"expected 0, got %ld\n",
ret);
15046 ok(
ret == 1,
"expected 1, got %ld\n",
ret);
15048 ok(
ret == 2,
"expected 2, got %ld\n",
ret);
15070 ok(
ret == 0,
"expected 0, got %ld\n",
ret);
15072 ok(
ret == 0,
"expected 0, got %ld\n",
ret);
15074 ok(
ret == 1,
"expected 1, got %ld\n",
ret);
15107 { WM_MENUCOMMAND,
sent },
15143 { WM_MENUCOMMAND,
sent },
15198 { WM_MENUCOMMAND,
sent },
15221 message == WM_UNINITMENUPOPUP ||
15238 msg.descr =
"parent_menu_proc";
15251 mi.fMask = MIM_STYLE;
15264 mi.fMask = MIM_STYLE;
15281 if (!pGetMenuInfo || !pSetMenuInfo)
15283 win_skip(
"GetMenuInfo and/or SetMenuInfo are not available\n");
15301 100, 100, 200, 200, 0, 0, 0,
NULL);
15317 ok(hmenu_popup != 0,
"GetSubMenu returned 0 for submenu 0\n");
15322 ok(hmenu_popup != 0,
"GetSubMenu returned 0 for submenu 0\n");
15327 trace(
"testing a popup menu command\n");
15342 skip(
"queuing key events not supported\n" );
15348 win_skip(
"menu tracking through VK_MENU not supported\n" );
15354 trace(
"testing submenu of a popup menu command\n");
15371 trace(
"testing single menu item command\n");
15391 ok(hmenu_popup != 0,
"GetSubMenu returned 0 for submenu 0\n");
15397 ok(hmenu_popup != 0,
"GetSubMenu returned 0 for submenu 0\n");
15402 trace(
"testing submenu of a popup menu command\n");
15432 100, 100, 100, 100, 0, 0, 0,
NULL );
15556 ok(!
strcmp(buffA,
"test_defwndproc"),
"unexpected window text, %s\n", buffA);
15560 ok(
res == 0,
"WM_SETTEXT was expected to fail, %ld\n",
res);
15563 ok(!
strcmp(buffA,
"test_defwndproc"),
"unexpected window text, %s\n", buffA);
15566 ok(
res == 0,
"WM_SETTEXT was expected to fail, %ld\n",
res);
15569 ok(!
strcmp(buffA,
"test_defwndproc"),
"unexpected window text, %s\n", buffA);
15621 ok(!
res,
"WM_NCXBUTTONUP returned %ld\n",
res);
15625 ok(!
res,
"WM_NCXBUTTONUP returned %ld\n",
res);
15629 ok(!
res,
"WM_NCXBUTTONUP returned %ld\n",
res);
15633 ok(!
res,
"WM_NCXBUTTONUP returned %ld\n",
res);
15648 ok(!gotwmquit,
"Unexpected WM_QUIT message!\n");
15664 ok(
ret,
"Failed to get desktop class.\n");
15667 memset(&cls, 0,
sizeof(cls));
15674 ok(
ret,
"Failed to register class.\n");
15680 skip(
"Failed to create window with desktop window procedure.\n");
15681 goto out_unregister;
15684 memset(&cls, 0,
sizeof(cls));
15686 ok(
ret,
"Failed to get class info.\n");
15697 SetRect(&default_rect, 0, 0, 100, 100);
15699 ok(!
res,
"Got unexpected result %ld.\n",
res);
15703 ok(!
res,
"Got unexpected result %ld.\n",
res);
15713#define clear_clipboard(hwnd) clear_clipboard_(__LINE__, (hwnd))
15725#define expect_HWND(expected, got) expect_HWND_(__LINE__, (expected), (got))
15735 static BOOL recursion_guard;
15739 recursion_guard =
TRUE;
15741 recursion_guard =
FALSE;
15748 static struct message wm_change_cb_chain[] =
15753 static const struct message wm_clipboard_destroyed[] =
15758 static struct message wm_clipboard_changed[] =
15763 static struct message wm_clipboard_changed_and_owned[] =
15810 ok_sequence(wm_clipboard_changed,
"clear clipbd (viewer=owner=1)",
FALSE);
15815 ok_sequence(wm_clipboard_changed_and_owned,
"clear clipbd (viewer=1, owner=2)",
FALSE);
15828 ok_sequence(wm_change_cb_chain,
"change chain (viewer=1, remove=2, next=3)",
FALSE);
15833 wm_change_cb_chain[0].
lParam = 0;
15834 ok_sequence(wm_change_cb_chain,
"change chain (viewer=1, remove=2, next=NULL)",
FALSE);
15863 ok_sequence(wm_clipboard_changed,
"recursive clear clipbd (viewer=1, owner=2)",
TRUE);
15871 ok_sequence(wm_clipboard_destroyed,
"clear clipbd (no viewer, owner=1)",
FALSE);
15881 static const struct
15899 static const WCHAR staticW[] = {
's',
't',
'a',
't',
'i',
'c',0};
15902 hwnd =
CreateWindowExW(0,
staticW,
NULL,
WS_POPUP, 0,0,0,0,0,0,0,
NULL);
15905 win_skip(
"Skipping some PostMessage tests on Win9x/WinMe\n");
15924 msg.wParam == 0x5678 &&
msg.lParam == 0x1234,
15925 "%d: got ret %d hwnd %p msg %04x wParam %08lx lParam %08lx instead of TRUE/0/WM_USER+2/0x5678/0x1234\n",
15929 msg.wParam == 0x1234 &&
msg.lParam == 0x5678,
15930 "%d: got ret %d hwnd %p msg %04x wParam %08lx lParam %08lx instead of TRUE/%p/WM_USER+1/0x1234/0x5678\n",
15944 if (
wParam == 0xbaadbeef)
15967 hwnd =
CreateWindowExA(0,
"static",
NULL,
WS_POPUP, 0, 0, 0, 0, 0, 0, 0,
NULL);
16018 win_skip(
"broadcasting test %d, timeout\n",
i);
16037 win_skip(
"broadcasting test %d, timeout\n",
i);
16105 memset( &cls, 0,
sizeof(cls) );
16115 ok( end_event != 0,
"failed to create end event, error %u\n",
GetLastError() );
16142 hwnd =
CreateWindowExA(0,
"TestClass",
NULL,
WS_POPUP|
WS_VISIBLE, 0, 0, 10, 10, 0, 0, 0,
NULL);
16148 hwnd =
CreateWindowExA(0,
"TestClass",
NULL,
WS_POPUP|
WS_VISIBLE, 0, 0, 10, 10, 0, 0, 0,
NULL);
16154 hwnd =
CreateWindowExA(0,
"TestClass",
NULL,
WS_POPUP|
WS_VISIBLE, 0, 0, 10, 10, 0, 0, 0,
NULL);
16164 hwnd =
CreateWindowExA(0,
"TestClass",
NULL,
WS_POPUP|
WS_VISIBLE, 0, 0, 10, 10, 0, 0, 0,
NULL);
16178 hwnd =
CreateWindowExA(0,
"TestClass",
NULL,
WS_POPUP|
WS_VISIBLE, 0, 0, 10, 10, 0, 0, 0,
NULL);
16185 hwnd =
CreateWindowExA(0,
"TestClass",
NULL,
WS_POPUP|
WS_VISIBLE, 0, 0, 10, 10, 0, 0, 0,
NULL);
16262 memset( &cls, 0,
sizeof(cls) );
16269 hwnd =
CreateWindowExA(0,
"TestClass",
NULL,
WS_POPUP, 0, 0, 10, 10, 0, 0, 0,
NULL);
16289 trace(
"not built as a GUI app, WaitForInputIdle may not be fully tested\n" );
16294 ok(end_event != 0,
"failed to create end event, error %u\n",
GetLastError());
16325 "%u: WaitForInputIdle error %08x expected %08x\n",
16329 "%u: WaitForInputIdle error %08x expected %08x\n",
16397 100, 100, 200, 200, 0, 0, 0,
NULL);
16398 ok(parent1 != 0,
"Failed to create parent1 window\n");
16401 400, 100, 200, 200, 0, 0, 0,
NULL);
16402 ok(parent2 != 0,
"Failed to create parent2 window\n");
16406 10, 10, 150, 150, parent1, 0, 0,
NULL);
16407 ok(
child != 0,
"Failed to create child window\n");
16435 20, 20, 100, 100, 0, 0, 0,
NULL);
16436 ok(popup != 0,
"Failed to create popup window\n");
16492 BYTE keyboard_state[256];
16496 100, 100, 200, 200, 0, 0, 0,
NULL);
16508 ok((key_state & 0x8000) == 0,
"unexpected key state %x\n", key_state);
16511 ok((key_state & 0x8000) == 0,
"unexpected key state %x\n", key_state);
16520 ok((key_state & 0x8000) == 0x8000,
"unexpected key state %x\n", key_state);
16523 ok((key_state & 0x8000) == 0x8000,
"unexpected key state %x\n", key_state);
16532 ok((key_state & 0x8000) == 0x8000,
"unexpected key state %x\n", key_state);
16535 ok((key_state & 0x8000) == 0x8000,
"unexpected key state %x\n", key_state);
16544 ok((key_state & 0x8000) == 0,
"unexpected key state %x\n", key_state);
16547 ok((key_state & 0x8000) == 0,
"unexpected key state %x\n", key_state);
16551 keyboard_state[0x41] = 0x80;
16555 ok((key_state & 0x8000) == 0,
"unexpected key state %x\n", key_state);
16564 ok((key_state & 0x8000) == 0x8000,
"unexpected key state %x\n", key_state);
16567 ok((key_state & 0x8000) == 0x8000,
"unexpected key state %x\n", key_state);
16571 keyboard_state[0x41] = 0;
16575 ok((key_state & 0x8000) == 0x8000,
"unexpected key state %x\n", key_state);
16584 ok((key_state & 0x8000) == 0,
"unexpected key state %x\n", key_state);
16587 ok((key_state & 0x8000) == 0,
"unexpected key state %x\n", key_state);
16670 msg.lParam = kdbhookstruct->
flags;
16671 msg.descr =
"KeyboardHookProc";
16677 "unexpected keycode %x\n", kdbhookstruct->
vkCode);
16689 DWORD queue_status;
16696 skip(
"hotkeys not supported\n");
16705 100, 100, 200, 200, 0, 0, 0,
NULL);
16734 ok(0,
"Couldn't find any free Windows Key + letter combination\n");
16764 if (!taskbar_window)
16766 skip(
"no taskbar?\n");
16785 ok((queue_status & (
QS_HOTKEY << 16)) ==
QS_HOTKEY << 16,
"expected QS_HOTKEY << 16 set, got %x\n", queue_status);
16798 ok((queue_status & (
QS_HOTKEY << 16)) == 0,
"expected QS_HOTKEY << 16 cleared, got %x\n", queue_status);
16801 ok((key_state & 0x8000) == 0x8000,
"unexpected key state %x\n", key_state);
16816 ok((queue_status & (
QS_HOTKEY << 16)) ==
QS_HOTKEY << 16,
"expected QS_HOTKEY << 16 set, got %x\n", queue_status);
16889 ok(
msg.hwnd !=
NULL,
"unexpected thread message %x\n",
msg.message);
16900 ok(
msg.hwnd ==
NULL,
"unexpected hwnd %p\n",
msg.hwnd);
16906 message.descr =
"test_hotkey thread message";
16910 ok(
msg.hwnd !=
NULL,
"unexpected thread message %x\n",
msg.message);
16918 ok(
msg.hwnd !=
NULL,
"unexpected thread message %x\n",
msg.message);
16927 ok(
msg.hwnd !=
NULL,
"unexpected thread message %x\n",
msg.message);
16991 0, 0, 0, 0, 0, 0, 0,
NULL);
16992 ok(
parent != 0,
"failed to create parent window\n");
16995 ok(
child != 0,
"failed to create child window\n");
17013 ok(old_focus ==
parent,
"expected old focus %p, got %p\n",
parent, old_focus);
17020 ok(old_focus ==
child,
"expected old focus %p, got %p\n",
child, old_focus);
17027 "expected ERROR_INVALID_WINDOW_HANDLE, got %d\n",
GetLastError());
17030 ok(old_focus == 0,
"expected old focus 0, got %p\n", old_focus);
17040 ok(old_focus == 0,
"expected old focus 0, got %p\n", old_focus);
17050 ok(old_focus == 0,
"expected old focus 0, got %p\n", old_focus);
17057 "expected ERROR_INVALID_WINDOW_HANDLE, got %d\n",
GetLastError());
17060 ok(old_active == 0,
"expected old focus 0, got %p\n", old_active);
17070 ok(old_active == 0,
"expected old focus 0, got %p\n", old_focus);
17080 ok(old_active == 0,
"expected old focus 0, got %p\n", old_active);
17102 ok(old_focus ==
parent,
"expected old focus %p, got %p\n",
parent, old_focus);
17111 ok(old_active ==
parent,
"expected old focus %p, got %p\n",
parent, old_active);
17123 ok(old_parent ==
parent,
"expected old parent %p, got %p\n",
parent, old_parent);
17130 ok(old_focus ==
parent,
"expected old focus %p, got %p\n",
parent, old_focus);
17145 ok(old_focus == 0,
"expected old focus 0, got %p\n", old_focus);
17154 ok(old_active ==
parent,
"expected old active %p, got %p\n",
parent, old_active);
17171 { WM_STYLECHANGING,
sent },
17172 { WM_STYLECHANGED,
sent },
17178 { WM_STYLECHANGING,
sent },
17179 { WM_STYLECHANGED,
sent },
17204 ok(
info->ret,
"failed\n");
17222 if (!pUpdateLayeredWindow)
17224 win_skip(
"UpdateLayeredWindow not supported\n" );
17233 100, 100, 300, 300, 0, 0, 0,
NULL);
17234 ok(
hwnd != 0,
"failed to create window\n" );
17249 ok( !
ret,
"UpdateLayeredWindow should fail on non-layered window\n" );
17289 ok( (
rect.right == 200 &&
rect.bottom == 250) ||
17295 ok( !
ret,
"UpdateLayeredWindow should fail on non-layered window\n" );
17301 ok( !
ret,
"UpdateLayeredWindow should fail on non-layered window\n" );
17310 ok( (
rect.right == 200 &&
rect.bottom == 250) ||
17317 info.size.cx = 250;
17318 info.size.cy = 300;
17323 ok(
info.ret,
"UpdateLayeredWindow failed in other thread\n" );
17330 ok( (
rect.right == 250 &&
rect.bottom == 300) ||
17352 case WM_UNINITMENUPOPUP:
17421 ok(
ret ==
TRUE,
"TrackPopupMenu failed\n");
17456 ok(
ret == 0,
"TrackPopupMenu succeeded\n");
17481 trace(
"thread: starting\n");
17484 trace(
"thread: call PostMessage\n");
17487 trace(
"thread: call PostMessage\n");
17490 trace(
"thread: call SendMessage\n");
17493 trace(
"thread: call SendMessage\n");
17503 trace(
"thread: starting\n");
17506 trace(
"thread: call PostMessage\n");
17509 trace(
"thread: call PostMessage\n");
17513 trace(
"thread: call SetParent\n");
17516 trace(
"thread: call SendMessage\n");
17519 trace(
"thread: call SendMessage\n");
17536 100, 100, 200, 200, 0, 0, 0,
NULL);
17547 ok(
ret == 0,
"wrong status %08x\n",
ret);
17562 trace(
"main: call GetMessage\n");
17564 ok(
msg.message ==
WM_USER,
"expected WM_USER, got %04x\n",
msg.message);
17571 trace(
"main: call SendMessage\n");
17578 trace(
"main: call PeekMessage\n");
17580 ok(
msg.message ==
WM_USER+1,
"expected WM_USER+1, got %04x\n",
msg.message);
17590 ok(
ret == 0,
"wrong status %08x\n",
ret);
17592 trace(
"main: call PeekMessage\n");
17597 ok(
ret == 0,
"wrong status %08x\n",
ret);
17599 trace(
"main: call DestroyWindow\n");
17619 ok(
flags == (ISMEX_SEND | ISMEX_REPLIED),
"wrong flags %x\n",
flags );
17623 ok(
flags == ISMEX_NOTIFY,
"wrong flags %x\n",
flags );
17628 ok(
flags == ISMEX_NOTIFY,
"wrong flags %x\n",
flags );
17632 ok(
flags == ISMEX_CALLBACK,
"wrong flags %x\n",
flags );
17637 ok(
flags == (ISMEX_CALLBACK | ISMEX_REPLIED) ||
flags == ISMEX_SEND,
"wrong flags %x\n",
flags );
17641 ok(
flags == ISMEX_NOSEND,
"wrong flags %x\n",
flags );
17644 ok( !
ret,
"ReplyMessage succeeded\n" );
17677 memset(&cls, 0,
sizeof(cls));
17683 win =
CreateWindowA(
"InSendMessage_test",
NULL, 0, 0, 0, 0, 0,
NULL, 0,
NULL, 0 );
17710 100, 100, 200, 200, 0, 0, 0,
NULL);
17711 ok (
hwnd != 0,
"Failed to create overlapped window\n");
17778 100, 200, 200, 0, 0, 0,
NULL);
17779 ok (
hwnd != 0,
"Failed to create overlapped window\n");
17785 for (
i = 0;
i < 5;
i++)
17806 skip(
"Alt+Tab failed to bring up test window.\n");
17822 ok(
ret == -1,
"wrong ret %d\n",
ret);
17835#define X(f) p##f = (void*)GetProcAddress(hKernel32, #f)
17871 if (hModuleImm32) {
17872 pImmDisableIME = (
void *)
GetProcAddress(hModuleImm32,
"ImmDisableIME");
17873 if (pImmDisableIME)
17876 pImmDisableIME =
NULL;
17881 if (pSetWinEventHook)
17883 hEvent_hook = pSetWinEventHook(EVENT_MIN, EVENT_MAX,
17890 for (
event = EVENT_MIN;
event <= EVENT_MAX;
event++)
17891 ok(pIsWinEventHookInstalled(
event),
"IsWinEventHookInstalled(%u) failed\n",
event);
17907 pUnhookWinEvent = 0;
17960 if (!pTrackMouseEvent)
17961 win_skip(
"TrackMouseEvent is not available\n");
17994 ok(!pUnhookWinEvent(
hEvent_hook),
"UnhookWinEvent succeeded\n");
18014 if (hModuleImm32) {
18015 pImmDisableIME = (
void *)
GetProcAddress(hModuleImm32,
"ImmDisableIME");
18016 if (pImmDisableIME)
18019 pImmDisableIME =
NULL;
18038 ok(!pUnhookWinEvent(
hEvent_hook),
"UnhookWinEvent succeeded\n");
18146 skip(
"ROSTESTS-185: Skipping user32_winetest:msg_paint test_paintingloop because it hangs on WHS-Testbot. Set winetest_interactive to run it anyway.\n");
18158 if (!pTrackMouseEvent)
18159 win_skip(
"TrackMouseEvent is not available\n");
18187 if (pSetWinEventHook)
18189 hEvent_hook = pSetWinEventHook(EVENT_MIN, EVENT_MAX,
18196 for (
event = EVENT_MIN;
event <= EVENT_MAX;
event++)
18197 ok(pIsWinEventHookInstalled(
event),
"IsWinEventHookInstalled(%u) failed\n",
event);
18210 pUnhookWinEvent = 0;
int strcmp(const char *String1, const char *String2)
ACPI_SIZE strlen(const char *String)
static void startup(void)
static const char * wine_dbgstr_rect(const RECT *prc)
#define DBT_DEVICEREMOVEPENDING
#define DBT_DEVICETYPESPECIFIC
#define DBT_DEVNODES_CHANGED
#define DBT_CONFIGCHANGECANCELED
#define DBT_QUERYCHANGECONFIG
#define DBT_DEVICEQUERYREMOVE
#define DBT_DEVICEARRIVAL
#define DBT_DEVICEREMOVECOMPLETE
#define DBT_DEVICEQUERYREMOVEFAILED
#define DBT_NO_DISK_SPACE
#define DBT_LOW_DISK_SPACE
#define DBT_CONFIGMGPRIVATE
#define DBT_CONFIGCHANGED
static HINSTANCE instance
#define ERROR_CALL_NOT_IMPLEMENTED
#define ERROR_INVALID_PARAMETER
#define GetProcAddress(x, y)
#define INVALID_HANDLE_VALUE
#define HeapFree(x, y, z)
#define ERROR_INVALID_HANDLE
#define FILE_ATTRIBUTE_NORMAL
#define WideCharToMultiByte
#define MultiByteToWideChar
#define ERROR_ACCESS_DENIED
VOID WINAPI ReleaseActCtx(IN HANDLE hActCtx)
BOOL WINAPI DeactivateActCtx(IN DWORD dwFlags, IN ULONG_PTR ulCookie)
BOOL WINAPI QueryActCtxW(IN DWORD dwFlags, IN HANDLE hActCtx, IN PVOID pvSubInstance, IN ULONG ulInfoClass, IN PVOID pvBuffer, IN SIZE_T cbBuffer, IN OUT SIZE_T *pcbWrittenOrRequired OPTIONAL)
BOOL WINAPI GetCurrentActCtx(OUT PHANDLE phActCtx)
BOOL WINAPI ActivateActCtx(IN HANDLE hActCtx, OUT PULONG_PTR ulCookie)
VOID WINAPI RaiseException(_In_ DWORD dwExceptionCode, _In_ DWORD dwExceptionFlags, _In_ DWORD nNumberOfArguments, _In_opt_ const ULONG_PTR *lpArguments)
BOOL WINAPI DeleteFileA(IN LPCSTR lpFileName)
BOOL WINAPI WriteFile(IN HANDLE hFile, IN LPCVOID lpBuffer, IN DWORD nNumberOfBytesToWrite OPTIONAL, OUT LPDWORD lpNumberOfBytesWritten, IN LPOVERLAPPED lpOverlapped OPTIONAL)
HMODULE WINAPI GetModuleHandleW(LPCWSTR lpModuleName)
HMODULE WINAPI DECLSPEC_HOTPATCH GetModuleHandleA(LPCSTR lpModuleName)
HINSTANCE WINAPI DECLSPEC_HOTPATCH LoadLibraryA(LPCSTR lpLibFileName)
BOOL WINAPI DECLSPEC_HOTPATCH CreateProcessA(LPCSTR lpApplicationName, LPSTR lpCommandLine, LPSECURITY_ATTRIBUTES lpProcessAttributes, LPSECURITY_ATTRIBUTES lpThreadAttributes, BOOL bInheritHandles, DWORD dwCreationFlags, LPVOID lpEnvironment, LPCSTR lpCurrentDirectory, LPSTARTUPINFOA lpStartupInfo, LPPROCESS_INFORMATION lpProcessInformation)
BOOL WINAPI TerminateProcess(IN HANDLE hProcess, IN UINT uExitCode)
DWORD WINAPI QueueUserAPC(IN PAPCFUNC pfnAPC, IN HANDLE hThread, IN ULONG_PTR dwData)
HANDLE WINAPI DECLSPEC_HOTPATCH CreateThread(IN LPSECURITY_ATTRIBUTES lpThreadAttributes, IN DWORD dwStackSize, IN LPTHREAD_START_ROUTINE lpStartAddress, IN LPVOID lpParameter, IN DWORD dwCreationFlags, OUT LPDWORD lpThreadId)
DWORD WINAPI GetTickCount(VOID)
HANDLE WINAPI CreateActCtxW(PCACTCTXW pActCtx)
LCID WINAPI GetThreadLocale(void)
int WINAPI lstrcmpW(LPCWSTR str1, LPCWSTR str2)
int WINAPI lstrcmpA(LPCSTR str1, LPCSTR str2)
int WINAPI lstrcmpiA(LPCSTR str1, LPCSTR str2)
BOOL WINAPI GetCPInfoExA(UINT codepage, DWORD dwFlags, LPCPINFOEXA cpinfo)
INT WINAPI GetLocaleInfoW(LCID lcid, LCTYPE lctype, LPWSTR buffer, INT len)
static void test_window(IHTMLDocument2 *doc)
GLint GLint GLint GLint GLint x
GLuint GLuint GLsizei count
GLint GLint GLint GLint GLint GLint y
GLint GLenum GLsizei GLsizei GLsizei GLint GLsizei const GLvoid * data
GLdouble GLdouble GLdouble r
GLboolean GLboolean GLboolean b
GLenum GLuint GLenum GLsizei const GLchar * buf
GLubyte GLubyte GLubyte GLubyte w
GLsizei GLenum const GLvoid GLsizei GLenum GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLint GLint GLint GLshort GLshort GLshort GLubyte GLubyte GLubyte GLuint GLuint GLuint GLushort GLushort GLushort GLbyte GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLfloat GLint GLint GLint GLint GLshort GLshort GLshort GLshort GLubyte GLubyte GLubyte GLubyte GLuint GLuint GLuint GLuint GLushort GLushort GLushort GLushort GLboolean const GLdouble const GLfloat const GLint const GLshort const GLbyte const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLdouble const GLfloat const GLfloat const GLint const GLint const GLshort const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort GLenum GLenum GLenum GLfloat GLenum GLint GLenum GLenum GLenum GLfloat GLenum GLenum GLint GLenum GLfloat GLenum GLint GLint GLushort GLenum GLenum GLfloat GLenum GLenum GLint GLfloat const GLubyte GLenum GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLint GLint GLsizei GLsizei GLint GLenum GLenum const GLvoid GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLenum const GLdouble GLenum GLenum const GLfloat GLenum GLenum const GLint GLsizei GLuint GLfloat GLuint GLbitfield GLfloat GLint GLuint GLboolean GLenum GLfloat GLenum GLbitfield GLenum GLfloat GLfloat GLint GLint const GLfloat GLenum GLfloat GLfloat GLint GLint GLfloat GLfloat GLint GLint const GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat const GLdouble const GLfloat const GLdouble const GLfloat GLint i
GLsizei GLenum const GLvoid GLsizei GLenum GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLint GLint GLint GLshort GLshort GLshort GLubyte GLubyte GLubyte GLuint GLuint GLuint GLushort GLushort GLushort GLbyte GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLfloat GLint GLint GLint GLint GLshort GLshort GLshort GLshort GLubyte GLubyte GLubyte GLubyte GLuint GLuint GLuint GLuint GLushort GLushort GLushort GLushort GLboolean const GLdouble const GLfloat const GLint const GLshort const GLbyte const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLdouble const GLfloat const GLfloat const GLint const GLint const GLshort const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort GLenum GLenum GLenum GLfloat GLenum GLint GLenum GLenum GLenum GLfloat GLenum GLenum GLint GLenum GLfloat GLenum GLint GLint GLushort GLenum GLenum GLfloat GLenum GLenum GLint GLfloat const GLubyte GLenum GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLint GLint GLsizei GLsizei GLint GLenum GLenum const GLvoid GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLenum const GLdouble GLenum GLenum const GLfloat GLenum GLenum const GLint GLsizei GLuint GLfloat GLuint GLbitfield GLfloat GLint GLuint GLboolean GLenum GLfloat GLenum GLbitfield GLenum GLfloat GLfloat GLint GLint const GLfloat GLenum GLfloat GLfloat GLint GLint GLfloat GLfloat GLint GLint const GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat const GLdouble * u
GLsizei GLenum const GLvoid GLsizei GLenum GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLint GLint GLint GLshort GLshort GLshort GLubyte GLubyte GLubyte GLuint GLuint GLuint GLushort GLushort GLushort GLbyte GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLfloat GLint GLint GLint GLint GLshort GLshort GLshort GLshort GLubyte GLubyte GLubyte GLubyte GLuint GLuint GLuint GLuint GLushort GLushort GLushort GLushort GLboolean const GLdouble const GLfloat const GLint const GLshort const GLbyte const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLdouble const GLfloat const GLfloat const GLint const GLint const GLshort const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort GLenum GLenum GLenum GLfloat GLenum GLint GLenum GLenum GLenum GLfloat GLenum GLenum GLint GLenum GLfloat GLenum GLint GLint GLushort GLenum GLenum GLfloat GLenum GLenum GLint GLfloat const GLubyte GLenum GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLint GLint GLsizei GLsizei GLint GLenum GLenum const GLvoid GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLenum const GLdouble GLenum GLenum const GLfloat GLenum GLenum const GLint GLsizei GLuint GLfloat GLuint GLbitfield GLfloat GLint GLuint GLboolean GLenum GLfloat GLenum GLbitfield GLenum GLfloat GLfloat GLint GLint const GLfloat GLenum GLfloat GLfloat GLint GLint GLfloat GLfloat GLint GLint const GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat const GLdouble const GLfloat const GLdouble const GLfloat GLint GLint GLint j
_Check_return_ _CRTIMP int __cdecl sscanf(_In_z_ const char *_Src, _In_z_ _Scanf_format_string_ const char *_Format,...)
#define trace_(file, line,...)
int WINAPI lstrlenA(LPCSTR lpString)
#define sprintf(buf, format,...)
static void test_create(void)
#define comment(fmt, arg1)
#define GET_PROC(dll, func)
static const WCHAR desc[]
static DWORD *static HFONT(WINAPI *pCreateFontIndirectExA)(const ENUMLOGFONTEXDVA *)
static HANDLE start_event
#define todo_wine_if(is_todo)
static const CLSID *static CLSID *static const GUID VARIANT VARIANT *static IServiceProvider DWORD *static HMENU
static const struct message WmMinimize_1[]
static INT_PTR CALLBACK StopQuitMsgCheckProcA(HWND hwnd, UINT message, WPARAM wp, LPARAM lp)
static const struct message sl_edit_lbutton_up[]
static void subclass_static(void)
static const WCHAR wszAnsi[]
static const struct message sl_edit_lbutton_down[]
static DWORD CALLBACK do_wait_idle_child_thread(void *arg)
static LRESULT CALLBACK static_hook_proc(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam)
static LRESULT WINAPI wmime_keydown_procA(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam)
static void test_nullCallback(void)
static WNDPROC old_edit_proc
static const struct message WmCreateDialogParamSeq_4[]
static void test_WaitForInputIdle(char *argv0)
static const struct message WmVkN[]
static void test_DispatchMessage(void)
static const struct message WmCreateMDIchildInvisibleParentSeq[]
static const struct message WmDestroyOverlappedSeq[]
static void cleanup_tests()
static const struct message WmCreateInvisibleMaxPopupSeq[]
static const struct message WmHotkeyPressLWIN[]
static const struct message WmSetMenuNonVisibleNoSizeChangeSeq[]
static const struct message auto_radio_button_VK_UP_parent[]
static const struct message WmSetStyleButtonSeq[]
static const struct message WmCreateMDIframeSeq[]
static const struct message WmSWP_MoveSeq[]
static const struct message WmChildPaintNc[]
static const struct message WmFirstDrawSetWindowPosSeq4[]
static const struct message WmSetFocus_3[]
static const struct message WmFirstDrawChildSeq2[]
static const struct message WmMinMax_3[]
static const struct message wm_lb_addstring_sort_ownerdraw[]
static void do_wait_idle_child(int arg)
static const struct message WmAltVkN[]
static const struct message WmCreateMDIchildInvisibleMaxSeq4[]
static const struct message WmShowNoActivate_1[]
static const struct message WmDispatchPaint[]
#define set_selection(hctl, start, end)
static void test_notify_message(void)
static const struct message WmRestore_2[]
static const struct message WmSetFocus_1[]
static void test_edit_messages(void)
static HHOOK recursive_hook
static const struct message WmDestroyMDIframeSeq[]
static const struct message WmTrackPopupMenuEmpty[]
static void test_dialog_messages(void)
static const struct message SetFocusComboBoxSeq[]
static const struct message WmCreateMDIchildVisibleSeq[]
static const struct message WmSHOWNAChildInvisParVis[]
static LRESULT MsgCheckProc(BOOL unicode, HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam)
static void test_SetFocus(void)
static const struct message WmWinEventAlertSeq_2[]
static INT_PTR CALLBACK wm_quit_dlg_proc(HWND hwnd, UINT message, WPARAM wp, LPARAM lp)
static const struct message wm_lb_setcursel_1[]
static void pump_msg_loop_timeout(DWORD timeout, BOOL inject_mouse_move)
static DWORD WINAPI send_message_thread(void *arg)
static DWORD CALLBACK send_msg_thread_2(void *param)
static LRESULT WINAPI MsgCheckProcW(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam)
static const struct message WmShowChildInvisibleParentSeq_3[]
static const struct message WmDestroyMDIchildInvisibleSeq[]
static void test_PeekMessage3(void)
static void subclass_edit(void)
static BOOL test_context_menu
static HWINEVENTHOOK hEvent_hook
static const struct message WmMinMax_2[]
static void test_InSendMessage(void)
static const struct message WmShowVisiblePopupSeq_2[]
static void init_procs(void)
static const struct message WmLButtonUpAutoSeq[]
static const struct message WmCreateChildPopupSeq[]
static const struct message WmShowChildInvisibleParentSeq_1r[]
static const struct message WmInvalidateParentChild[]
static const struct message WmLButtonUpBrokenSeq[]
static BOOL mdi_RegisterWindowClasses(void)
static void CALLBACK win_event_proc(HWINEVENTHOOK hevent, DWORD event, HWND hwnd, LONG object_id, LONG child_id, DWORD thread_id, DWORD event_time)
static LRESULT CALLBACK combobox_hook_proc(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam)
static void test_restore_messages(void)
static const struct message WmShowMaxPopupResizedSeq[]
static DWORD CALLBACK post_rbuttonup_msg(void *arg)
static const struct message WmInitEndSession_4[]
static void test_layered_window(void)
static const struct message WmMinimizeMDIchildVisibleSeq[]
static const struct message WmCreateMDIchildVisibleMaxSeq3[]
static const struct message WmAltVkN_2[]
static WNDPROC orig_edit_proc
static DWORD WINAPI SendMessage_thread_2(void *param)
static void test_button_messages(void)
static const char manifest_dep[]
static const struct message destroy_window_with_children[]
static const struct message WmSetRedrawFalseSeq[]
static const struct message WmSetFontStaticSeq[]
static INT_PTR WINAPI radio_test_dlg_proc(HWND hwnd, UINT msg, WPARAM wp, LPARAM lp)
static void test_invalid_window(void)
static const struct message WmInitEndSession[]
static WNDPROC old_combobox_proc
static const struct message WmVkAppsSeq[]
static void test_DestroyWindow(void)
static const struct message WmShowChildInvisibleParentSeq_2[]
static const struct message WmCreateMDIchildVisibleMaxSeq2[]
static void test_clipboard_viewers(void)
static const struct message WmSetStyleUserSeq[]
static const struct message WMSetFocusComboBoxSeq[]
static void test_paint_messages(void)
static const struct message WmHideChildSeq[]
static void test_static_messages(void)
static const struct message WmDestroyMDIchildVisibleMaxSeq1[]
static const struct message WmShowMaximized_2[]
BOOL(WINAPI * IS_WINEVENT_HOOK_INSTALLED)(DWORD)
#define track_query(expected_track_flags, expected_track_hwnd, expected_hover_time)
static const struct message SetCurSelComboSeq[]
static const struct message WmParentOnlyNcPaint[]
static const struct message SetForegroundWindowSeq[]
static void test_sys_menu(void)
static void test_desktop_winproc(void)
static void test_messages(void)
static const struct message WmDrawMenuBarSeq[]
static void test_recursive_activation(void)
static const struct message WmSetFontStaticSeq2[]
static const struct message WmCtrlVkN[]
static const struct message WmInvalidateErasePaint[]
static void test_autoradio_BM_CLICK(void)
static void test_WM_SETREDRAW(HWND hwnd)
static DWORD get_menu_style(HMENU hmenu)
static const struct message WmImeKeydownMsgSeq_0[]
static const struct message WmShiftF10Seq[]
static const struct message send_message_2[]
static const struct message ScrollWindowPaint1[]
static const struct message WmShowRestoreMaxOverlappedSeq[]
static const struct message WmMinMax_1[]
static const struct message WmShiftMouseButton[]
static const struct message WmTrackPopupMenuAbort[]
static const struct message WmCtrlAltVkN[]
static const struct message WmSetStateStaticSeq[]
static const struct message WmKeyDownSkippedSeq[]
static const struct message WmSetMenuNonVisibleSizeChangeSeq[]
static LRESULT WINAPI ShowWindowProcA(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam)
static void test_PostMessage(void)
static const struct message ScrollWindowPaint2[]
static DWORD CALLBACK wait_idle_thread(void *arg)
static void test_MsgWaitForMultipleObjects(HWND hwnd)
static const struct message WmSetParentStyle[]
static const struct message send_message_3[]
static void test_SetParent(void)
static const struct message WmHideChildInvisibleParentSeq[]
static const struct message WmWinEventAlertSeq[]
static const struct message WmSHOWNAChildInvisParInvis[]
static const struct message WmShowChildSeq_2[]
static void register_wmime_keydown_class(void)
static const struct message WmSWP_ResizePopupSeq[]
static const struct message WmKeyPressRepeat[]
static void CALLBACK apc_test_proc(ULONG_PTR param)
static const struct message WmKeyPressNormal[]
static INT_PTR CALLBACK TestModalDlgProcA(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam)
static const struct message WmShowChildInvisibleParentSeq_5[]
static void test_unicode_wm_char(void)
static DWORD WINAPI thread_proc(void *param)
static void test_SetWindowRgn(void)
static DWORD CALLBACK show_window_thread(LPVOID arg)
static LRESULT WINAPI test_dlg_proc4(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam)
static void test_wmime_keydown_message(void)
static const struct message WmShowRestoreMinOverlappedSeq[]
static HWINEVENTHOOK(WINAPI *pSetWinEventHook)(DWORD
static const struct message SetFocusButtonSeq2[]
static const struct message WmSetScrollRangeSeq[]
static void test_timers_exception(DWORD code)
static void test_timers_no_wnd(void)
static const struct message NCXBUTTONUPSeq2[]
static const struct message WmWinEventCaretSeq_2[]
static const struct message WmSetScrollRangeVSeq_empty[]
static void check_update_rgn_(int line, HWND hwnd, HRGN hrgn)
static BOOL ignore_message(UINT message)
static const struct message WmShowChildInvisibleParentSeq_3r[]
static const struct message SetActiveWindowSeq3[]
#define TIMER_COUNT_EXPECTED
static void test_keyflags(void)
static void test_autoradio_kbd_move(void)
static const struct message WmShowChildInvisibleParentSeq_4r[]
static CRITICAL_SECTION sequence_cs
static const struct message WmMaximizeMDIchildInvisibleSeq2[]
static void test_TrackMouseEvent(void)
static const struct message WmCreateMDIclientSeq[]
static const struct message WmWinEventsSeq[]
static const struct message WmShowChildSeq_4[]
#define test_msg_setpos(expected_list, flags, todo)
static const struct message WmShowMinNoActivate[]
static LRESULT WINAPI DispatchMessageCheckProc(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam)
static const WCHAR testWindowClassW[]
static const struct message WmInvalidateRgn[]
static void test_SendMessage_other_thread(int thread_n)
static void test_hv_scroll_1(HWND hwnd, INT ctl, DWORD clear, DWORD set, INT min, INT max)
static const struct message WmHide_1[]
#define expect_HWND(expected, got)
static const struct message SetActiveWindowSeq2[]
static LRESULT WINAPI PopupMsgCheckProcA(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam)
static const struct message auto_radio_button_BM_CLICK[]
static const struct message WmInvalidateParentChild2[]
static const struct message WmSWP_ShowOverlappedSeq[]
static const struct message WmCreateChildSeq[]
static void test_SetForegroundWindow(void)
static INT_PTR WINAPI test_dlg_proc(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam)
static const struct message WmEnableWindowSeq_3[]
static const struct message WmInitEndSession_2[]
#define check_lb_state(a1, a2, a3, a4, a5)
static const struct message DoubleSetCaptureSeq[]
static void test_quit_message(void)
static const struct message WmCreateDialogParamSeq_0[]
static const struct message WmSHOWNATopInvisible[]
static const struct message WmInitEndSession_3[]
static WNDPROC old_button_proc
static LRESULT WINAPI mdi_client_hook_proc(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam)
static const struct message WmRestoreMinimizedSeq[]
static void test_defwinproc(void)
static const struct message WmTrackPopupMenu[]
static const struct message auto_radio_button_VK_DOWN_radio3[]
void dump_region(HRGN hrgn)
static const struct message WmSetFontButtonSeq[]
static const struct message WmSwitchChild[]
static LRESULT CALLBACK combobox_lbox_subclass_proc(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam)
static DWORD WINAPI cbt_global_hook_thread_proc(void *param)
static const struct message WmUserKeyUpSkippedSeq[]
static void test_menu_messages(void)
static const struct message WmSetIcon_2[]
static const struct message WmSWP_ResizeNoZOrder[]
static const struct message WmCreateInvisiblePopupSeq[]
static const struct message WmInvalidatePaint[]
static DWORD get_input_codepage(void)
static const struct message WmFirstDrawChildSeq1[]
static LRESULT WINAPI mdi_frame_wnd_proc(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam)
static void CALLBACK callback_count(HWND hwnd, UINT uMsg, UINT_PTR idEvent, DWORD dwTime)
#define ok_sequence(exp, contx, todo)
static LRESULT WINAPI send_msg_delay_proc(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam)
static void create_manifest_file(const char *filename, const char *manifest)
static const struct message WmParentErasePaint[]
static const struct message WmSetCheckStaticSeq[]
static const struct message WmSetScrollRangeHSeq_empty[]
static const struct message WmKeyReleaseOnly[]
static const struct message WmCtrlShiftVkN[]
static const WCHAR dummy_window_text[]
static const struct message WmHotkeyReleaseLWIN[]
static LRESULT WINAPI TestDlgProcA(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam)
static const struct message WmFirstDrawSetWindowPosSeq1[]
static const struct message WmLButtonUpStaticSeq[]
static const struct message WmShowChildSeq[]
static const struct message WmGetTextLengthAfromW[]
static const struct message WmRestoreMDIchildInvisibleSeq[]
static const struct message auto_radio_button_VK_DOWN_dialog[]
static const struct message WmShowNormal[]
static const struct message WmFirstDrawSetWindowPosSeq3[]
static void test_msg_setpos_(const struct message *expected_list, UINT flags, BOOL todo, const char *file, int line)
static const struct message WmKeyDownWasDownSkippedSeq[]
static const struct message WmShowChildSeq_3[]
static void test_enddialog_seq(HWND dialog, HWND owner)
static const struct message WmSetStateUserSeq[]
static const struct message WmHide_3[]
static const struct message WmSetFocusStaticSeq[]
static const struct message wm_lb_click_0[]
static const struct message send_message_1[]
static void invisible_parent_tests(void)
static void test_scroll_messages(HWND hwnd)
static void test_TrackPopupMenuEmpty(void)
static const struct message WmMouseHoverSeq[]
static const struct message WmShowVisMaxPopupSeq[]
static void test_SetActiveWindow(void)
static const struct message WmGlobalHookSeq_1[]
static LRESULT WINAPI cancel_init_proc(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam)
static void test_PeekMessage2(void)
static const struct message WmSetStateOwnerdrawSeq[]
static const struct message WmMinimize_2[]
static const struct message WmFirstDrawSetWindowPosSeq5[]
static LRESULT WINAPI MsgCheckProcA(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam)
static const struct message WmShowMaxOverlappedSeq[]
static DWORD CALLBACK create_child_thread(void *param)
static const struct message WmSetRedrawTrueSeq[]
static const struct message WmCreateMaximizedChildSeq[]
static const struct message WmSetTextStaticSeq[]
static void test_WM_DEVICECHANGE(HWND hwnd)
static void flush_sequence(void)
static const struct message WmSetPosComboSeq[]
static void CALLBACK win_event_global_hook_proc(HWINEVENTHOOK hevent, DWORD event, HWND hwnd, LONG object_id, LONG child_id, DWORD thread_id, DWORD event_time)
static const struct message WmSetWindowRgn_no_redraw[]
static void test_enddialog_seq2(HWND dialog, HWND owner)
static const struct message WmPaint[]
static const struct message WmResizingChildWithMoveWindowSeq[]
static void test_message_conversion(void)
static void subclass_button(void)
static LPARAM g_broadcast_lparam
static void CALLBACK msg_callback(HWND hwnd, UINT msg, ULONG_PTR arg, LRESULT result)
static LRESULT CALLBACK get_text_len_proc(HWND hwnd, UINT msg, WPARAM wp, LPARAM lp)
static const struct message WmShowNA_2[]
static const struct message WmRestore_3[]
static LRESULT WINAPI HotkeyMsgCheckProcA(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam)
static void test_mdi_messages(void)
static const struct message WmShowCustomDialogSeq[]
#define test_radio(r1, s1, r2, s2, r3, s3)
static const struct message WmGetScrollRangeSeq[]
static const struct message WmModalDialogSeq_2[]
static void test_winevents(void)
static const struct message wm_popup_menu_3[]
static void test_radio_dbg(HWND radio1, int state1, HWND radio2, int state2, HWND radio3, int state3, int line)
static const struct message WmKillFocusOwnerdrawSeq[]
static LRESULT CALLBACK cbt_hook_proc(int nCode, WPARAM wParam, LPARAM lParam)
static const struct message WmErase[]
static const struct message WmWinEventCaretSeq[]
static void test_paintingloop(void)
static const struct message SetCurSelComboSeq2[]
static void test_recursive_hook(void)
static const struct message WmDestroyMDIclientSeq[]
static const struct message WmHotkeyPress[]
static void test_broadcast(void)
static const struct message WmHotkeyPrevious[]
static const struct message WmOptionalPaint[]
static const struct message WmHotkeyNew[]
static const struct message WmLButtonUpSeq[]
static const struct message WmShowPopupExtremeLocationSeq[]
static const struct message sl_edit_killfocus[]
static HHOOK hCBT_global_hook
static const struct @1767 wait_idle_expect[]
static const struct message WmSWP_FrameChanged_clip[]
static const struct message WmParentPaint[]
static BOOL paint_loop_done
static DWORD cbt_global_hook_thread_id
static LRESULT WINAPI rec_get_message_hook(int code, WPARAM w, LPARAM l)
static const struct message WmKeyUpSkippedSeq[]
static void flush_events(void)
static const struct message wm_lb_addstring_ownerdraw[]
static const struct message WmSetParentSeq_1[]
static LRESULT CALLBACK cbt_global_hook_proc(int nCode, WPARAM wParam, LPARAM lParam)
static const struct message WmNotifySeq[]
static void wait_for_thread(HANDLE thread)
static const struct message WmUser[]
static const struct message WmShowMaxPopupSeq[]
static const struct message WmCreateDialogParamSeq_2[]
static const struct message WmSetWindowRgn[]
static const struct message WmShowMaximized_3[]
static const struct message WmClearStateOwnerdrawSeq[]
static const struct message WmMaximizeMDIchildInvisibleParentSeq[]
static BOOL after_end_dialog
static const struct message WmEnableWindowSeq_1[]
#define MDI_FIRST_CHILD_ID
static INT_PTR CALLBACK TestModalDlgProc2(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam)
static const struct message WmExitThreadSeq[]
static void test_PeekMessage(void)
static const struct message NCXBUTTONUPSeq1[]
static const struct message WmImeKeydownMsgSeq_1[]
static void test_EndDialog(void)
static const struct message WmParentOnlyPaint[]
static const struct message WmShowChildInvisibleParentSeq_1[]
static WNDPROC lbox_window_proc
static const struct message WmSetCheckIgnoredSeq[]
static const struct message WmCreateCustomDialogSeq[]
static void set_radio(HWND radio1, int state1, HWND radio2, int state2, HWND radio3, int state3)
static const struct message WmShowPopupFirstDrawSeq_2[]
static LRESULT WINAPI mdi_child_wnd_proc(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam)
static const struct message WmShowChildInvisibleParentSeq_2r[]
static const struct message WmHide_2[]
static const struct message WmSetFocusOwnerdrawSeq[]
static const struct message WmShowMinOverlappedSeq[]
static const struct message WmQuitDialogSeq[]
#define TIMER_COUNT_TOLERANCE
static const struct message WmMaximizeMDIchildInvisibleSeq[]
static const struct message WmKillFocusStaticSeq[]
static void test_listbox_messages(void)
static DWORD WINAPI timer_thread_proc(LPVOID x)
static DWORD cbt_hook_thread_id
static const WCHAR wszUnicode[]
static const struct message WmSetIcon_1[]
static const struct message wm_lb_deletestring[]
static const struct message WmCreateMaxPopupSeq[]
static const struct message WmModalDialogSeq[]
static const struct message WmHideChildInvisibleParentSeq_2[]
static const struct message WmHideOverlappedSeq[]
static LRESULT CALLBACK insendmessage_wnd_proc(HWND hwnd, UINT msg, WPARAM wp, LPARAM lp)
static struct recvd_message * sequence
static const struct message WmClearStateButtonSeq[]
static LRESULT WINAPI ParentMsgCheckProcA(HWND, UINT, WPARAM, LPARAM)
static void test_scrollwindowex(void)
static void pump_msg_loop(HWND hwnd, HACCEL hAccel)
static LRESULT CALLBACK combobox_edit_subclass_proc(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam)
static LRESULT WINAPI parent_menu_proc(HWND hwnd, UINT message, WPARAM wp, LPARAM lp)
static const struct message WmRestoreMDIchildVisibleSeq_2[]
static const struct message WmGlobalHookSeq_2[]
static void test_DoubleSetCapture(void)
static const struct message WmInvalidateErasePaint2[]
static const struct message WmFirstDrawSetWindowPosSeq2[]
static const struct message WmKeyDownComboSeq[]
#define expect(EXPECTED, GOT)
static const struct message WmEmptySeq[]
static LRESULT CALLBACK edit_hook_proc(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam)
static const struct message WmSetScrollRangeHVSeq[]
static const struct message WmDisableButtonSeq[]
static const struct message wm_single_menu_item[]
static const struct message WmDefDlgSetFocus_1[]
static const struct message WmShowMaximized_1[]
static void test_showwindow(void)
static const struct message ml_edit_lbutton_up[]
static const struct message WmSetMenuVisibleSizeChangeSeq[]
static LRESULT CALLBACK recursive_viewer_proc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam)
static const struct message wm_popup_menu_2[]
static void CALLBACK callback_exception(HWND hwnd, UINT uMsg, UINT_PTR idEvent, DWORD dwTime)
static const struct message WmCtrlVkN_2[]
static void test_ShowWindow(void)
static const struct message wm_popup_menu_1[]
static BOOL is_our_logged_class(HWND hwnd)
static const struct message WmSetStyleStaticSeq[]
static const struct message WmInvalidateFull[]
static const struct message SetActiveWindowSeq0[]
static LRESULT CALLBACK KeyboardHookProc(int nCode, WPARAM wParam, LPARAM lParam)
static struct message WmContextMenuSeq[]
static const struct message WmGetUpdateRect[]
static void add_message_(int line, const struct recvd_message *msg)
static const struct message WmSetTextGroupSeq[]
static const struct message WmMinMax_4[]
static void test_TrackPopupMenu(void)
static LRESULT WINAPI recursive_activation_wndprocA(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam)
static const struct message NCRBUTTONDOWNSeq[]
static const struct message WmZOrder[]
static const struct message WmSWP_FrameChangedDeferErase[]
static const struct message WmInitEndSession_5[]
static LRESULT WINAPI broadcast_test_proc(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam)
static const struct message WmTrackPopupMenuEsc[]
static LRESULT CALLBACK wait_idle_proc(HWND hwnd, UINT msg, WPARAM wp, LPARAM lp)
static const struct message sl_edit_invisible[]
static const struct message WmShowVisiblePopupSeq_3[]
static const struct message SetCurSelComboSeq_edit[]
static const struct message WmMouseLLHookSeq[]
static void test_combobox_messages(void)
static const struct message WmEnableWindowSeq_4[]
static const struct message WmRestoreMinimizedOverlappedSeq[]
static const struct message WmEndCustomDialogSeq[]
static const struct message WmParentPaintNc[]
static int max_hook_depth
static const struct message WmVkF10Seq[]
static POINT SIZE POINT COLORREF
static WNDPROC pOldViewerProc
static const struct message WmSetTextButtonSeq[]
static BOOL test_DestroyWindow_flag
static const struct message WmCreateOverlappedSeq[]
static LRESULT WINAPI dlg_creation_edit_proc(HWND hwnd, UINT message, WPARAM wp, LPARAM lp)
static unsigned hash_Ly(const char *str)
static LRESULT WINAPI cancel_popup_proc(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam)
static void init_funcs(void)
static DWORD CALLBACK send_msg_thread(LPVOID arg)
static const struct message WmDefDlgSetFocus_2[]
static const struct message WmCtrlAltShiftVkN[]
static const struct message WmSWP_FrameChanged_noclip[]
static INT_PTR WINAPI test_dlg_proc2(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam)
static int log_all_parent_messages
static WNDPROC edit_window_proc
static DWORD WINAPI mouse_ll_global_thread_proc(void *param)
static const struct message WmShowChildInvisibleParentSeq_6[]
static const struct message WmLButtonDownStaticSeq[]
static const struct message WmShowNoActivate_2[]
static const struct message WmDestroyMDIchildVisibleSeq[]
static const struct message WmTrackPopupMenuCapture[]
static const struct message WmGetScrollInfoSeq[]
static const struct message SetActiveWindowSeq4[]
static const struct message WmShowMinimized_1[]
static const struct message WmLButtonDownSeq[]
static const struct message WmSHOWNATopVisible[]
static const struct message WmShowOverlappedSeq[]
#define check_update_rgn(hwnd, hrgn)
static const struct message WmF1Seq[]
static const struct message auto_radio_button_VK_UP_child[]
static const struct message WmDestroyChildSeq[]
static unsigned hash_Ly_W(const WCHAR *str)
static const struct message WmSHOWNAChildVisParInvis[]
static const struct message WmAltPressRelease[]
static const struct message WmSHOWNAChildVisParVis[]
static const struct message WmCreateDialogParamSeq_3[]
static const struct message WmCreateMDIchildInvisibleSeq[]
static void test_hotkey(void)
static const struct message WmSetLayeredStyle2[]
static BOOL RegisterWindowClasses(void)
#define check_selection(hctl, start, end)
static WNDPROC old_mdi_client_proc
static void test_timers_exceptions(void)
static void expect_HWND_(int line, HWND expected, HWND got)
static const struct message WmStopQuitSeq[]
static void test_button_bm_get_set_image(void)
static INT_PTR WINAPI test_dlg_proc3(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam)
static const struct message WmSetStyleOwnerdrawSeq[]
static const struct message SetFocusButtonSeq[]
static void test_dbcs_wm_char(void)
static void test_interthread_messages(void)
static LRESULT WINAPI listbox_hook_proc(HWND hwnd, UINT message, WPARAM wp, LPARAM lp)
static const struct message wm_lb_deletestring_reset[]
static void check_lb_state_dbg(HWND listbox, int count, int cur_sel, int caret_index, int top_index, int line)
static DWORD CALLBACK create_grand_child_thread(void *param)
#define clear_clipboard(hwnd)
static const struct message WmHotkeyCombined[]
static const struct message WmDestroyMDIchildVisibleMaxSeq2[]
static LRESULT CALLBACK MsgConversionProcW(HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam)
static VOID CALLBACK tfunc(HWND hwnd, UINT uMsg, UINT_PTR id, DWORD dwTime)
static void test_set_hook(void)
static void wait_move_event(HWND hwnd, int x, int y)
static const struct message sl_edit_lbutton_dblclk[]
static const struct message ml_edit_setfocus[]
static const struct message SetActiveWindowSeq1[]
static const struct message WmEnableWindowSeq_2[]
static const struct message wm_lb_addstring[]
static void set_menu_style(HMENU hmenu, DWORD style)
static const struct message auto_radio_button_VK_UP_radio1[]
static const struct message WmShowNA_1[]
static const char * get_winpos_flags(UINT flags)
static const struct message WmSetScrollRangeHV_NC_Seq[]
static const struct message WmHideMDIclientSeq[]
static const struct message WmShowMDIclientSeq[]
static DWORD CALLBACK update_layered_proc(void *param)
static const struct message WmCreateMDIchildVisibleMaxSeq1[]
static void test_setwindowpos(void)
static WNDPROC old_static_proc
static const struct message WmSetMenuVisibleNoSizeChangeSeq[]
static const struct message WmKeyReleaseNormal[]
static const struct message wm_lb_setcursel_0[]
static const struct message WmRestore_5[]
static void test_accelerators(void)
static const struct message wm_lb_setcursel_2[]
static DWORD WINAPI SendMessage_thread_1(void *param)
static const struct message WmCreatePopupSeq[]
static void dump_sequence(const struct message *expected, const char *context, const char *file, int line)
static void test_SendMessageTimeout(void)
static const struct message WmInvalidateParent[]
static const struct message WmSetWindowRgn_clear[]
static const struct message WmCreateVisibleChildSeq[]
static const struct message WmShowPopupFirstDrawSeq_1[]
static const struct message WmSWP_HideOverlappedSeq[]
static const struct message ml_edit_lbutton_down[]
static const struct message WmRestore_1[]
static const struct message WmSetStateButtonSeq[]
static const struct message WmSwitchNotMaximizedChild[]
static const struct message WmShiftVkN[]
static const struct message WmSetLayeredStyle[]
#define track_hover_cancel(track_hwnd)
static const struct message WmMaximizeMDIchildVisibleSeq[]
static const struct message WmSWP_ResizeSeq[]
static const struct message WmRestore_4[]
static void clear_clipboard_(int line, HWND hWnd)
static const struct message sl_edit_setfocus[]
static const struct message WmHideChildSeq2[]
static void test_hv_scroll_2(HWND hwnd, INT ctl, DWORD clear, DWORD set, INT min, INT max)
static const struct message WmMinimize_3[]
static const struct message WmHotkeyRelease[]
static const struct message auto_radio_button_VK_UP_dialog[]
static const struct message WmShowChildInvisibleParentSeq_4[]
static const struct message WmInvalidateErase[]
static const struct message WmKillFocusButtonSeq[]
static const struct message WmSetParentSeq_2[]
static void test_timers(void)
static LRESULT CALLBACK button_hook_proc(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam)
static const struct message WmSetTextInvisibleSeq[]
static LRESULT WINAPI PaintLoopProcA(HWND hWnd, UINT msg, WPARAM wParam, LPARAM lParam)
static const struct message WmShow[]
static const struct message WmSetFocusButtonSeq[]
static const struct message WmSetFocus_2[]
static void subclass_combobox(void)
static const struct message WmDestroyInvisibleChildSeq[]
static DWORD WINAPI win_event_global_thread_proc(void *param)
static const struct message WmRestoreMDIchildVisibleSeq[]
static const struct message WmChildActivateWindowSeq[]
static const struct message WmCreateDialogParamSeq_1[]
static void ok_sequence_(const struct message *expected_list, const char *context, BOOL todo, const char *file, int line)
#define track_hover(track_hwnd, track_hover_time)
static const char manifest_main[]
static const struct message WmChildActivateDisabledWindowSeq[]
static void dump(const void *ptr, unsigned len)
unsigned __int3264 UINT_PTR
HMONITOR WINAPI MonitorFromPoint(POINT, DWORD)
#define IMAGE_SUBSYSTEM_WINDOWS_GUI
#define BS_AUTORADIOBUTTON
#define WS_OVERLAPPEDWINDOW
#define WS_EX_NOPARENTNOTIFY
#define WS_EX_DLGMODALFRAME
#define LBS_OWNERDRAWVARIABLE
const char * winetest_platform
int winetest_get_mainargs(char ***pargv)
void winetest_wait_child_process(HANDLE process)
static const WCHAR staticW[]
static char argv0[MAX_PATH]
struct DRAW_ITEM_STRUCT::@1768::@1769 item
union DRAW_ITEM_STRUCT::@1768 u
CHAR lfFaceName[LF_FACESIZE]
BYTE LeadByte[MAX_LEADBYTES]
CHAR CodePageName[MAX_PATH]
DWORD WINAPI WaitForMultipleObjects(IN DWORD nCount, IN CONST HANDLE *lpHandles, IN BOOL bWaitAll, IN DWORD dwMilliseconds)
DWORD WINAPI WaitForSingleObject(IN HANDLE hHandle, IN DWORD dwMilliseconds)
VOID WINAPI DECLSPEC_HOTPATCH Sleep(IN DWORD dwMilliseconds)
VOID WINAPI InitializeCriticalSection(OUT LPCRITICAL_SECTION lpCriticalSection)
HANDLE WINAPI DECLSPEC_HOTPATCH CreateEventA(IN LPSECURITY_ATTRIBUTES lpEventAttributes OPTIONAL, IN BOOL bManualReset, IN BOOL bInitialState, IN LPCSTR lpName OPTIONAL)
HANDLE WINAPI DECLSPEC_HOTPATCH CreateEventW(IN LPSECURITY_ATTRIBUTES lpEventAttributes OPTIONAL, IN BOOL bManualReset, IN BOOL bInitialState, IN LPCWSTR lpName OPTIONAL)
BOOL WINAPI DECLSPEC_HOTPATCH SetEvent(IN HANDLE hEvent)
HANDLE WINAPI DECLSPEC_HOTPATCH OpenEventA(IN DWORD dwDesiredAccess, IN BOOL bInheritHandle, IN LPCSTR lpName)
BOOL WINAPI DECLSPEC_HOTPATCH ResetEvent(IN HANDLE hEvent)
TW_UINT32 TW_UINT16 TW_UINT16 MSG
static const CHAR manifest[]
DWORD WINAPI InSendMessageEx(LPVOID lpReserved)
BOOL WINAPI UpdateLayeredWindow(HWND hwnd, HDC hdcDst, POINT *pptDst, SIZE *psize, HDC hdcSrc, POINT *pptSrc, COLORREF crKey, BLENDFUNCTION *pbl, DWORD dwFlags)
int WINAPI GetWindowTextA(HWND hWnd, LPSTR lpString, int nMaxCount)
UINT WINAPI SendInput(UINT, LPINPUT, int)
void WINAPI NotifyWinEvent(DWORD, HWND, LONG, LONG)
#define WINEVENT_INCONTEXT
HWINEVENTHOOK WINAPI SetWinEventHook(UINT, UINT, HMODULE, WINEVENTPROC, DWORD, DWORD, UINT)
BOOL WINAPI UnhookWinEvent(HWINEVENTHOOK)
#define WINEVENT_OUTOFCONTEXT
#define EXCEPTION_SINGLE_STEP
DWORD WINAPI GetLastError(void)
#define STARTF_USESHOWWINDOW
HANDLE WINAPI GetCurrentThread(void)
DWORD WINAPI GetCurrentThreadId(void)
void WINAPI LeaveCriticalSection(LPCRITICAL_SECTION)
#define WAIT_IO_COMPLETION
DWORD WINAPI GetCurrentProcessId(void)
#define EXCEPTION_ARRAY_BOUNDS_EXCEEDED
void WINAPI EnterCriticalSection(LPCRITICAL_SECTION)
#define EXCEPTION_DATATYPE_MISALIGNMENT
void WINAPI DeleteCriticalSection(PCRITICAL_SECTION)
#define EXCEPTION_FLT_DENORMAL_OPERAND
#define EXCEPTION_FLT_INEXACT_RESULT
#define EXCEPTION_ILLEGAL_INSTRUCTION
#define EXCEPTION_ACCESS_VIOLATION
#define EXCEPTION_BREAKPOINT
#define EXCEPTION_FLT_DIVIDE_BY_ZERO
_In_ CLIPOBJ _In_ BRUSHOBJ _In_ LONG _In_ LONG _In_ LONG x2
_In_ CLIPOBJ _In_ BRUSHOBJ _In_ LONG _In_ LONG y1
_In_ CLIPOBJ _In_ BRUSHOBJ _In_ LONG x1
_In_ CLIPOBJ _In_ BRUSHOBJ _In_ LONG _In_ LONG _In_ LONG _In_ LONG y2
#define ERROR_INVALID_FILTER_PROC
#define ERROR_HOTKEY_NOT_REGISTERED
#define ERROR_INVALID_THREAD_ID
#define ERROR_HOOK_NEEDS_HMOD
#define ERROR_GEN_FAILURE
#define ERROR_WINDOW_OF_OTHER_THREAD
#define ERROR_NO_MORE_USER_HANDLES
#define ERROR_INVALID_HOOK_FILTER
#define ERROR_MESSAGE_SYNC_ONLY
#define ERROR_INVALID_WINDOW_HANDLE
#define ERROR_HOTKEY_ALREADY_REGISTERED
#define ERROR_MR_MID_NOT_FOUND
#define ERROR_INVALID_HOOK_HANDLE
#define ERROR_INVALID_FLAGS
HGDIOBJ WINAPI GetStockObject(_In_ int)
int WINAPI GetObjectW(_In_ HANDLE h, _In_ int c, _Out_writes_bytes_opt_(c) LPVOID pv)
int WINAPI GetClipBox(_In_ HDC, _Out_ LPRECT)
HRGN WINAPI CreateRectRgn(_In_ int, _In_ int, _In_ int, _In_ int)
HFONT WINAPI CreateFontIndirectA(_In_ const LOGFONTA *)
HGDIOBJ WINAPI GetCurrentObject(_In_ HDC, _In_ UINT)
HGDIOBJ WINAPI SelectObject(_In_ HDC, _In_ HGDIOBJ)
HDC WINAPI CreateCompatibleDC(_In_opt_ HDC hdc)
int WINAPI CombineRgn(_In_opt_ HRGN hrgnDest, _In_opt_ HRGN hrgnSrc1, _In_opt_ HRGN hrgnSrc2, _In_ int fnCombineMode)
HBITMAP WINAPI CreateCompatibleBitmap(_In_ HDC hdc, _In_ INT cx, _In_ INT cy)
DWORD WINAPI GetRegionData(_In_ HRGN hrgn, _In_ DWORD nCount, _Out_writes_bytes_to_opt_(nCount, return) LPRGNDATA lpRgnData)
BOOL WINAPI DeleteDC(_In_ HDC)
BOOL WINAPI SetRectRgn(_In_ HRGN, _In_ int, _In_ int, _In_ int, _In_ int)
int WINAPI GetRgnBox(_In_ HRGN, _Out_ LPRECT)
#define LOCALE_IDEFAULTANSICODEPAGE
HWND WINAPI GetFocus(void)
#define CBS_OWNERDRAWFIXED
HWND WINAPI SetCapture(_In_ HWND hWnd)
int WINAPI ReleaseDC(_In_opt_ HWND, _In_ HDC)
LRESULT WINAPI DispatchMessageA(_In_ const MSG *)
LRESULT WINAPI DefFrameProcA(_In_ HWND, _In_opt_ HWND, _In_ UINT, _In_ WPARAM, _In_ LPARAM)
#define WM_QUERYNEWPALETTE
BOOL WINAPI EndMenu(void)
#define SetWindowLongPtrA
BOOL WINAPI IsWindow(_In_opt_ HWND)
HWND WINAPI GetActiveWindow(void)
BOOL WINAPI ReplyMessage(_In_ LRESULT)
#define WM_CTLCOLORSTATIC
HMENU WINAPI CreatePopupMenu(void)
HKL WINAPI GetKeyboardLayout(_In_ DWORD)
LRESULT WINAPI DefMDIChildProcA(_In_ HWND, _In_ UINT, _In_ WPARAM, _In_ LPARAM)
BOOL WINAPI SetMenu(_In_ HWND, _In_opt_ HMENU)
BOOL WINAPI SendNotifyMessageW(_In_ HWND, _In_ UINT, _In_ WPARAM, _In_ LPARAM)
BOOL WINAPI RedrawWindow(_In_opt_ HWND, _In_opt_ LPCRECT, _In_opt_ HRGN, _In_ UINT)
void WINAPI mouse_event(_In_ DWORD, _In_ DWORD, _In_ DWORD, _In_ DWORD, _In_ ULONG_PTR)
BOOL WINAPI UnloadKeyboardLayout(_In_ HKL)
#define GetWindowLongPtrW
HICON WINAPI CreateIconIndirect(_In_ PICONINFO)
DWORD WINAPI GetQueueStatus(_In_ UINT)
BOOL WINAPI SetKeyboardState(_In_reads_(256) LPBYTE)
BOOL WINAPI TranslateMessage(_In_ const MSG *)
HWND WINAPI CreateWindowExA(_In_ DWORD dwExStyle, _In_opt_ LPCSTR lpClassName, _In_opt_ LPCSTR lpWindowName, _In_ DWORD dwStyle, _In_ int X, _In_ int Y, _In_ int nWidth, _In_ int nHeight, _In_opt_ HWND hWndParent, _In_opt_ HMENU hMenu, _In_opt_ HINSTANCE hInstance, _In_opt_ LPVOID lpParam)
BOOL WINAPI ShowWindow(_In_ HWND, _In_ int)
BOOL WINAPI ReleaseCapture(void)
BOOL WINAPI UnregisterClassA(_In_ LPCSTR, HINSTANCE)
HWND WINAPI GetForegroundWindow(void)
UINT WINAPI GetMenuState(_In_ HMENU, _In_ UINT, _In_ UINT)
LRESULT WINAPI DefWindowProcW(_In_ HWND, _In_ UINT, _In_ WPARAM, _In_ LPARAM)
int WINAPI GetMenuItemCount(_In_opt_ HMENU)
#define MOUSEEVENTF_LEFTUP
LONG WINAPI GetWindowLongA(_In_ HWND, _In_ int)
BOOL WINAPI AttachThreadInput(_In_ DWORD, _In_ DWORD, _In_ BOOL)
HWND WINAPI CreateDialogParamA(_In_opt_ HINSTANCE, _In_ LPCSTR, _In_opt_ HWND, _In_opt_ DLGPROC, _In_ LPARAM)
LRESULT WINAPI DefWindowProcA(_In_ HWND, _In_ UINT, _In_ WPARAM, _In_ LPARAM)
#define WM_DESTROYCLIPBOARD
BOOL WINAPI GetMessageW(_Out_ LPMSG, _In_opt_ HWND, _In_ UINT, _In_ UINT)
BOOL WINAPI PostMessageW(_In_opt_ HWND, _In_ UINT, _In_ WPARAM, _In_ LPARAM)
BOOL WINAPI GetIconInfo(_In_ HICON, _Out_ PICONINFO)
#define WM_CAPTURECHANGED
#define WM_WINDOWPOSCHANGING
BOOL WINAPI GetWindowPlacement(_In_ HWND, _Inout_ WINDOWPLACEMENT *)
#define SW_SCROLLCHILDREN
#define CreateWindowA(a, b, c, d, e, f, g, h, i, j, k)
BOOL WINAPI GetWindowRect(_In_ HWND, _Out_ LPRECT)
LONG WINAPI SetWindowLongA(_In_ HWND, _In_ int, _In_ LONG)
HHOOK WINAPI SetWindowsHookExW(_In_ int, _In_ HOOKPROC, _In_opt_ HINSTANCE, _In_ DWORD)
BOOL WINAPI SetWindowPos(_In_ HWND, _In_opt_ HWND, _In_ int, _In_ int, _In_ int, _In_ int, _In_ UINT)
BOOL WINAPI UnregisterHotKey(_In_opt_ HWND, _In_ int)
__analysis_noreturn void WINAPI PostQuitMessage(_In_ int)
HWND WINAPI SetParent(_In_ HWND, _In_opt_ HWND)
int WINAPI SetWindowRgn(_In_ HWND, _In_opt_ HRGN, _In_ BOOL)
int WINAPI GetClassNameA(_In_ HWND hWnd, _Out_writes_to_(nMaxCount, return) LPSTR lpClassName, _In_ int nMaxCount)
LONG WINAPI SetWindowLongW(_In_ HWND, _In_ int, _In_ LONG)
LONG WINAPI GetWindowLongW(_In_ HWND, _In_ int)
HMENU WINAPI CreateMenu(void)
#define WM_DWMNCRENDERINGCHANGED
BOOL WINAPI ValidateRect(_In_opt_ HWND, _In_opt_ LPCRECT)
#define DLGC_UNDEFPUSHBUTTON
ATOM WINAPI RegisterClassW(_In_ CONST WNDCLASSW *)
BOOL WINAPI SetForegroundWindow(_In_ HWND)
BOOL WINAPI CloseClipboard(void)
#define WM_GETTITLEBARINFOEX
HWND WINAPI GetClipboardOwner(void)
BOOL WINAPI GetCursorPos(_Out_ LPPOINT)
LRESULT WINAPI SendMessageA(_In_ HWND, _In_ UINT, _In_ WPARAM, _In_ LPARAM)
#define SW_SHOWNOACTIVATE
#define MOUSEEVENTF_RIGHTUP
HWND WINAPI GetCapture(void)
#define GetWindowLongPtrA
_Check_return_ BOOL WINAPI GetKeyboardState(_Out_writes_(256) PBYTE lpKeyState)
BOOL WINAPI OpenClipboard(_In_opt_ HWND)
BOOL WINAPI TrackMouseEvent(_Inout_ LPTRACKMOUSEEVENT)
UINT WINAPI GetMenuItemID(_In_ HMENU, _In_ int)
#define CB_FINDSTRINGEXACT
HMENU WINAPI GetSystemMenu(_In_ HWND, _In_ BOOL)
#define SWP_ASYNCWINDOWPOS
BOOL WINAPI SetCursorPos(_In_ int, _In_ int)
HCURSOR WINAPI LoadCursorW(_In_opt_ HINSTANCE, _In_ LPCWSTR)
BOOL WINAPI InsertMenuA(_In_ HMENU, _In_ UINT, _In_ UINT, _In_ UINT_PTR, _In_opt_ LPCSTR)
LRESULT WINAPI DefDlgProcA(_In_ HWND, _In_ UINT, _In_ WPARAM, _In_ LPARAM)
#define DLGC_DEFPUSHBUTTON
DWORD WINAPI MsgWaitForMultipleObjects(_In_ DWORD nCount, _In_reads_opt_(nCount) CONST HANDLE *pHandles, _In_ BOOL fWaitAll, _In_ DWORD dwMilliseconds, _In_ DWORD dwWakeMask)
int WINAPI MapWindowPoints(_In_opt_ HWND hWndFrom, _In_opt_ HWND hWndTo, _Inout_updates_(cPoints) LPPOINT lpPoints, _In_ UINT cPoints)
BOOL WINAPI SendMessageCallbackW(_In_ HWND, _In_ UINT, _In_ WPARAM, _In_ LPARAM, _In_ SENDASYNCPROC, _In_ ULONG_PTR)
HACCEL WINAPI LoadAcceleratorsA(_In_opt_ HINSTANCE, _In_ LPCSTR)
#define CB_GETCOMBOBOXINFO
HWND WINAPI GetDlgItem(_In_opt_ HWND, _In_ int)
BOOL WINAPI IsIconic(_In_ HWND)
#define MDIS_ALLCHILDSTYLES
BOOL WINAPI GetScrollRange(_In_ HWND, _In_ int, _Out_ LPINT, _Out_ LPINT)
UINT_PTR WINAPI SetTimer(_In_opt_ HWND, _In_ UINT_PTR, _In_ UINT, _In_opt_ TIMERPROC)
#define DialogBoxA(i, t, p, f)
HWND WINAPI SetClipboardViewer(_In_ HWND)
HHOOK WINAPI SetWindowsHookExA(_In_ int, _In_ HOOKPROC, _In_opt_ HINSTANCE, _In_ DWORD)
#define WM_MDIREFRESHMENU
HWND WINAPI GetDesktopWindow(void)
#define WM_IME_SETCONTEXT
#define MWMO_INPUTAVAILABLE
BOOL WINAPI IsZoomed(_In_ HWND)
DWORD WINAPI MsgWaitForMultipleObjectsEx(_In_ DWORD nCount, _In_reads_opt_(nCount) CONST HANDLE *pHandles, _In_ DWORD dwMilliseconds, _In_ DWORD dwWakeMask, _In_ DWORD dwFlags)
UINT_PTR WINAPI SetSystemTimer(HWND, UINT_PTR, UINT, TIMERPROC)
#define MOUSEEVENTF_LEFTDOWN
BOOL WINAPI GetClientRect(_In_ HWND, _Out_ LPRECT)
ATOM WINAPI RegisterClassA(_In_ CONST WNDCLASSA *)
BOOL WINAPI RegisterHotKey(_In_opt_ HWND, _In_ int, _In_ UINT, _In_ UINT)
HMENU WINAPI GetSubMenu(_In_ HMENU, _In_ int)
BOOL WINAPI InSendMessage(void)
BOOL WINAPI SendNotifyMessageA(_In_ HWND, _In_ UINT, _In_ WPARAM, _In_ LPARAM)
BOOL WINAPI KillSystemTimer(HWND, UINT_PTR)
HWND WINAPI SetFocus(_In_opt_ HWND)
BOOL WINAPI SetScrollRange(_In_ HWND, _In_ int, _In_ int, _In_ int, _In_ BOOL)
BOOL WINAPI DrawMenuBar(_In_ HWND)
BOOL WINAPI UnhookWindowsHookEx(_In_ HHOOK)
BOOL WINAPI IsChild(_In_ HWND, _In_ HWND)
HWND WINAPI SetActiveWindow(_In_ HWND)
#define USER_TIMER_MAXIMUM
BOOL WINAPI IsDialogMessageA(_In_ HWND, _In_ LPMSG)
LRESULT WINAPI SendMessageTimeoutA(_In_ HWND, _In_ UINT, _In_ WPARAM, _In_ LPARAM, _In_ UINT, _In_ UINT, _Out_opt_ PDWORD_PTR)
BOOL WINAPI PeekMessageW(_Out_ LPMSG, _In_opt_ HWND, _In_ UINT, _In_ UINT, _In_ UINT)
BOOL WINAPI GetComboBoxInfo(_In_ HWND, _Inout_ PCOMBOBOXINFO)
BOOL WINAPI PostThreadMessageW(_In_ DWORD, _In_ UINT, _In_ WPARAM, _In_ LPARAM)
HWND WINAPI CreateWindowExW(_In_ DWORD dwExStyle, _In_opt_ LPCWSTR lpClassName, _In_opt_ LPCWSTR lpWindowName, _In_ DWORD dwStyle, _In_ int X, _In_ int Y, _In_ int nWidth, _In_ int nHeight, _In_opt_ HWND hWndParent, _In_opt_ HMENU hMenu, _In_opt_ HINSTANCE hInstance, _In_opt_ LPVOID lpParam)
BOOL WINAPI EndPaint(_In_ HWND, _In_ const PAINTSTRUCT *)
HICON WINAPI LoadIconA(_In_opt_ HINSTANCE hInstance, _In_ LPCSTR lpIconName)
#define WM_QUERYENDSESSION
BOOL WINAPI ChangeClipboardChain(_In_ HWND, _In_ HWND)
DWORD WINAPI WaitForInputIdle(_In_ HANDLE, _In_ DWORD)
struct tagCOMBOBOXINFO COMBOBOXINFO
#define HCBT_CLICKSKIPPED
BOOL WINAPI SetMenuInfo(_In_ HMENU, _In_ LPCMENUINFO)
int WINAPI GetUpdateRgn(_In_ HWND, _In_ HRGN, _In_ BOOL)
BOOL WINAPI EmptyClipboard(void)
BOOL WINAPI UpdateWindow(_In_ HWND)
BOOL WINAPI GetMonitorInfoA(_In_ HMONITOR, _Inout_ LPMONITORINFO)
BOOL WINAPI ValidateRgn(_In_ HWND, _In_opt_ HRGN)
BOOL WINAPI EnableWindow(_In_ HWND, _In_ BOOL)
HKL WINAPI LoadKeyboardLayoutA(_In_ LPCSTR, _In_ UINT)
BOOL WINAPI SendMessageCallbackA(_In_ HWND, _In_ UINT, _In_ WPARAM, _In_ LPARAM, _In_ SENDASYNCPROC, _In_ ULONG_PTR)
HDC WINAPI GetDC(_In_opt_ HWND)
BOOL WINAPI InvalidateRgn(_In_ HWND, _In_opt_ HRGN, _In_ BOOL)
int WINAPI CountClipboardFormats(void)
BOOL WINAPI GetMenuInfo(_In_ HMENU, _Inout_ LPMENUINFO)
#define CreateWindowW(a, b, c, d, e, f, g, h, i, j, k)
BOOL WINAPI AppendMenuA(_In_ HMENU, _In_ UINT, _In_ UINT_PTR, _In_opt_ LPCSTR)
VOID WINAPI keybd_event(_In_ BYTE, _In_ BYTE, _In_ DWORD, _In_ ULONG_PTR)
BOOL WINAPI GetClassInfoA(_In_opt_ HINSTANCE, _In_ LPCSTR, _Out_ LPWNDCLASSA)
BOOL WINAPI SetRectEmpty(_Out_ LPRECT)
BOOL WINAPI IsWindowEnabled(_In_ HWND)
#define MAKEINTRESOURCEA(i)
HWND WINAPI GetParent(_In_ HWND)
BOOL WINAPI DestroyMenu(_In_ HMENU)
LRESULT WINAPI CallNextHookEx(_In_opt_ HHOOK, _In_ int, _In_ WPARAM, _In_ LPARAM)
HWND WINAPI GetWindow(_In_ HWND, _In_ UINT)
LRESULT WINAPI DispatchMessageW(_In_ const MSG *)
#define WPF_RESTORETOMAXIMIZED
#define SWP_NOOWNERZORDER
BOOL WINAPI SystemParametersInfoA(_In_ UINT uiAction, _In_ UINT uiParam, _Inout_opt_ PVOID pvParam, _In_ UINT fWinIni)
BOOL WINAPI PeekMessageA(_Out_ LPMSG, _In_opt_ HWND, _In_ UINT, _In_ UINT, _In_ UINT)
BOOL WINAPI OffsetRect(_Inout_ LPRECT, _In_ int, _In_ int)
#define WM_CTLCOLORLISTBOX
BOOL WINAPI TrackPopupMenu(_In_ HMENU, _In_ UINT, _In_ int, _In_ int, _Reserved_ int, _In_ HWND, _Reserved_ LPCRECT)
int WINAPI SetScrollInfo(_In_ HWND, _In_ int, _In_ LPCSCROLLINFO, _In_ BOOL)
SHORT WINAPI GetAsyncKeyState(_In_ int)
BOOL WINAPI InvalidateRect(_In_opt_ HWND, _In_opt_ LPCRECT, _In_ BOOL)
LRESULT(CALLBACK * WNDPROC)(HWND, UINT, WPARAM, LPARAM)
BOOL WINAPI PostThreadMessageA(_In_ DWORD, _In_ UINT, _In_ WPARAM, _In_ LPARAM)
HKL WINAPI ActivateKeyboardLayout(_In_ HKL, _In_ UINT)
BOOL WINAPI DestroyAcceleratorTable(_In_ HACCEL)
HDC WINAPI BeginPaint(_In_ HWND, _Out_ LPPAINTSTRUCT)
BOOL WINAPI KillTimer(_In_opt_ HWND, _In_ UINT_PTR)
#define SetWindowLongPtrW
LRESULT WINAPI CallWindowProcW(_In_ WNDPROC, _In_ HWND, _In_ UINT, _In_ WPARAM, _In_ LPARAM)
#define RDW_INTERNALPAINT
BOOL WINAPI GetMessageA(_Out_ LPMSG, _In_opt_ HWND, _In_ UINT, _In_ UINT)
BOOL WINAPI GetScrollInfo(_In_ HWND, _In_ int, _Inout_ LPSCROLLINFO)
BOOL WINAPI GetUpdateRect(_In_ HWND, _Out_opt_ LPRECT, _In_ BOOL)
HWND WINAPI FindWindowA(_In_opt_ LPCSTR, _In_opt_ LPCSTR)
#define WM_WINDOWPOSCHANGED
#define SWP_NOSENDCHANGING
BOOL WINAPI IsWindowVisible(_In_ HWND)
BOOL WINAPI DestroyWindow(_In_ HWND)
BOOL WINAPI EnableMenuItem(_In_ HMENU, _In_ UINT, _In_ UINT)
int WINAPI ScrollWindowEx(_In_ HWND, _In_ int, _In_ int, _In_opt_ LPCRECT, _In_opt_ LPCRECT, _In_opt_ HRGN, _Out_opt_ LPRECT, _In_ UINT)
BOOL WINAPI PostMessageA(_In_opt_ HWND, _In_ UINT, _In_ WPARAM, _In_ LPARAM)
BOOL WINAPI ScrollWindow(_In_ HWND, _In_ int, _In_ int, _In_opt_ LPCRECT, _In_opt_ LPCRECT)
BOOL WINAPI EqualRect(_In_ LPCRECT, _In_ LPCRECT)
int WINAPI GetSystemMetrics(_In_ int)
HWND WINAPI GetAncestor(_In_ HWND, _In_ UINT)
#define SW_SHOWMINNOACTIVE
BOOL WINAPI MoveWindow(_In_ HWND, _In_ int, _In_ int, _In_ int, _In_ int, _In_ BOOL)
LRESULT WINAPI CallWindowProcA(_In_ WNDPROC, _In_ HWND, _In_ UINT, _In_ WPARAM, _In_ LPARAM)
HWND WINAPI GetClipboardViewer(void)
#define WM_PALETTEISCHANGING
int WINAPI TranslateAcceleratorA(_In_ HWND, _In_ HACCEL, _In_ LPMSG)
INT_PTR WINAPI DialogBoxParamA(_In_opt_ HINSTANCE, _In_ LPCSTR, _In_opt_ HWND, _In_opt_ DLGPROC, _In_ LPARAM)
LRESULT WINAPI SendMessageW(_In_ HWND, _In_ UINT, _In_ WPARAM, _In_ LPARAM)
HMENU WINAPI GetMenu(_In_ HWND)
HCURSOR WINAPI LoadCursorA(_In_opt_ HINSTANCE, _In_ LPCSTR)
SHORT WINAPI GetKeyState(_In_ int)
BOOL WINAPI SetRect(_Out_ LPRECT, _In_ int, _In_ int, _In_ int, _In_ int)
BOOL WINAPI EndDialog(_In_ HWND, _In_ INT_PTR)
BOOL WINAPI DestroyIcon(_In_ HICON)
HMENU WINAPI LoadMenuA(_In_opt_ HINSTANCE, _In_ LPCSTR)