I need to create a watermark window(markHwnd) for some application windows on desktop, the watermark window style is:
uint dwStyle = Win32API.WS_CLIPSIBLINGS |
Win32API.WS_CLIPCHILDREN |
Win32API.WS_POPUP;
uint dwExStyle = Win32API.WS_EX_LAYERED |
Win32API.WS_EX_TRANSPARENT |
Win32API.WS_EX_NOACTIVATE |
Win32API.WS_EX_NOPARENTNOTIFY |
Win32API.WS_EX_TOOLWINDOW;
markHwnd = Win32API.CreateWindowEx(dwExStyle, wndclassRegResult, ti.ToString(), dwStyle, 0, 0, 0, 0,IntPtr.Zero, IntPtr.Zero, wndclasshInstance, IntPtr.Zero);
Then I will set it to be an owned window of the application window(targetHwnd), there're two choices:
- SetWindowLongPtr(markHwnd, (int)Win32API.GWL.GWL_HWNDPARENT, targetHwnd);
- SetParent(markHwnd, targetHwnd);
Which one is suggested?