'always-on-bottom-windows'를 만드는 방법이나 창을 바탕 화면에 고정하는 방법을 아는 사람이 있습니까? 초점과 마우스 클릭을 받아야하지만 Z 순서의 맨 아래에 있어야합니다. 사용자가 모두 최소화하거나 데스크톱 작업을 표시 할 때도 데스크톱에 머무를 수 있다면 좋을 것입니다.'always-on-bottom-window'만드는 법
델파이 및 C# 솔루션 (또는 부분 솔루션/힌트) 모두 훌륭합니다.
'always-on-bottom-windows'를 만드는 방법이나 창을 바탕 화면에 고정하는 방법을 아는 사람이 있습니까? 초점과 마우스 클릭을 받아야하지만 Z 순서의 맨 아래에 있어야합니다. 사용자가 모두 최소화하거나 데스크톱 작업을 표시 할 때도 데스크톱에 머무를 수 있다면 좋을 것입니다.'always-on-bottom-window'만드는 법
델파이 및 C# 솔루션 (또는 부분 솔루션/힌트) 모두 훌륭합니다.
경고 SetParent를 호출하고 창을 바탕 화면의 자식으로 설정하면이 작업을 수행 할 수 있습니다. 이렇게하면, 당신은 당신의 자식 창에 바탕 화면의 입력 큐를 결합하기는 Win32 창 관리자의 원인이이 나쁜 일입니다 - 또한 Raymond Chen explains why.
, HWND_BOTTOM로를 SetWindowPos를 호출하면 불완전 있음을 유의하십시오. 창이 zorder를 바꿀 때마다이 작업을 수행해야합니다. WM_WINDOWPOSCHANGING 이벤트를 처리하고, 자세한 정보는 SWP_NOZORDER를보십시오.
SetWindowPos는 AlwaysOnTop 창을 만들 수 있습니다. 대부분 반대 결과를 줄 수 있습니다. 이 라인을 따라 뭔가를보십시오 :
[DllImport("user32.dll")]
static extern bool SetWindowPos(IntPtr hWnd, IntPtr hWndInsertAfter, int X,
int Y, int cx, int cy, uint uFlags);
public const uint SWP_NOSIZE = 0x0001;
public const uint SWP_NOMOVE = 0x0002;
public const uint SWP_NOACTIVATE = 0x0010;
public const int HWND_BOTTOM = 1;
SetWindowPos(hWnd, HWND_BOTTOM, 0, 0, 0, 0, SWP_NOSIZE | SWP_NOMOVE | SWP_NOACTIVATE);
참고 :
편집 : - a duplicate이 트릭을하고 뭔가 흥미로운 것을 발견 여부를 확인하기 위해이 라인을 따라 몇 가지 검색을 완료.
다른 SO 질문에 대한 링크 +1, 그것은 OP를 시작하는 모든 것을 포함해야합니다. – mghie
다음은 ATL 창을위한 솔루션입니다. C#을 신청할 수 있다면 도움이 될 것입니다.
BEGIN_MSG_MAP(...)
...
MESSAGE_HANDLER(WM_WINDOWPOSCHANGING, OnWindowPosChanging)
...
END_MSG_MAP()
LRESULT OnWindowPosChanging(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled)
{
if (_bStayOnBottom)
{
auto pwpos = (WINDOWPOS*)lParam;
pwpos->hwndInsertAfter = HWND_BOTTOM;
pwpos->flags &= (~SWP_NOZORDER);
}
return 0;
}
위대한 작품! 고맙습니다! – Andy
숨겨진 응용 프로그램 창을 메인 창 사이의 상호 작용이 물건을 더 복잡하게 만들 것입니다 때문에, 뭔가하지만 델파이를 사용해야 가능합니다. 대부분이 forms.pas의 사적인 내용으로 변경하기가 어렵습니다. – mghie
바탕 화면 표시를 사용할 때 불가능합니다. 그러나 Minimize All을 사용할 때 - MinimizeBox 속성을 false로 설정하면 폼 최소화를 비활성화 할 수 있습니다. – configurator
중복 : http://stackoverflow.com/questions/365094/window-on-desktop –