After more 2 000 000 (two million) views on forum for 1.5.0.x development versions... and 1.6.1.0, 1.6.3.0-dev versions
A new stable version, UltraVNC 1.6.4.0 and UltraVNC SC 1.6.4.0 have been released: https://forum.uvnc.com/viewtopic.php?t=38095
Feedback is always welcome
2025-12-05: Celebrating the 23th anniversary of the UltraVNC (26th anniversary since the laying of the foundation stone): https://forum.uvnc.com/viewtopic.php?t=38130
2025-12-03: Could you please complete our poll/survey? Renaming UltraVNC files and service to be more clear: https://forum.uvnc.com/viewtopic.php?t=38128
There was a problem to vote, it is solved now! Thanks in advance!
2025-12-02: We need help: English Wikipedia UltraVNC page has been requested to deletion: https://forum.uvnc.com/viewtopic.php?t=38127
Any help is welcome to improve the UltraVNC page and/or to comment on the Wikipedia Talk page
2025-05-06: Forum password change request: https://forum.uvnc.com/viewtopic.php?t=38078
2023-09-21: Important: Please update to latest version before to create a reply, a topic or an issue: https://forum.uvnc.com/viewtopic.php?t=37864
Development: UltraVNC development is always here... Any help is welcome
Feedback is welcome
Join us on social networks and share our announcements:
- Website: https://uvnc.com/
- GitHub: https://github.com/ultravnc
- Mastodon: https://mastodon.social/@ultravnc
- Bluesky/AT Protocol: https://bsky.app/profile/ultravnc.bsky.social
- Facebook: https://www.facebook.com/ultravnc1
- X/Twitter: https://x.com/ultravnc1
- Reddit community: https://www.reddit.com/r/ultravnc
- OpenHub: https://openhub.net/p/ultravnc
A new stable version, UltraVNC 1.6.4.0 and UltraVNC SC 1.6.4.0 have been released: https://forum.uvnc.com/viewtopic.php?t=38095
Feedback is always welcome
2025-12-05: Celebrating the 23th anniversary of the UltraVNC (26th anniversary since the laying of the foundation stone): https://forum.uvnc.com/viewtopic.php?t=38130
2025-12-03: Could you please complete our poll/survey? Renaming UltraVNC files and service to be more clear: https://forum.uvnc.com/viewtopic.php?t=38128
There was a problem to vote, it is solved now! Thanks in advance!
2025-12-02: We need help: English Wikipedia UltraVNC page has been requested to deletion: https://forum.uvnc.com/viewtopic.php?t=38127
Any help is welcome to improve the UltraVNC page and/or to comment on the Wikipedia Talk page
2025-05-06: Forum password change request: https://forum.uvnc.com/viewtopic.php?t=38078
2023-09-21: Important: Please update to latest version before to create a reply, a topic or an issue: https://forum.uvnc.com/viewtopic.php?t=37864
Development: UltraVNC development is always here... Any help is welcome
Feedback is welcome
Join us on social networks and share our announcements:
- Website: https://uvnc.com/
- GitHub: https://github.com/ultravnc
- Mastodon: https://mastodon.social/@ultravnc
- Bluesky/AT Protocol: https://bsky.app/profile/ultravnc.bsky.social
- Facebook: https://www.facebook.com/ultravnc1
- X/Twitter: https://x.com/ultravnc1
- Reddit community: https://www.reddit.com/r/ultravnc
- OpenHub: https://openhub.net/p/ultravnc
"Menu" button/menuitem in full screen title bar
-
Roy
"Menu" button/menuitem in full screen title bar
As titled. Currently there's no way to get the menu in full screen without using hotkey.
Sure. My ICL build applied this patch. Please check it out.
a Dirty Patch:
[EDIT] Patch revised. [/EDIT]
a Dirty Patch:
Code: Select all
Index: ClientConnection.cpp
===================================================================
RCS file: /cvsroot/ultravnc/ultravnc/vncviewer/ClientConnection.cpp,v
retrieving revision 1.147
diff -u -8 -p -r1.147 ClientConnection.cpp
--- ClientConnection.cpp 24 May 2006 13:14:40 -0000 1.147
+++ ClientConnection.cpp 30 May 2006 04:55:46 -0000
@@ -4763,16 +4771,17 @@ LRESULT CALLBACK ClientConnection::WndPr
{
switch (iMsg)
{
// case WM_TIMER:
// KillTimer(hwnd,_this->m_FTtimer);
// _this->m_FTtimer=0;
// _this->m_pFileTransfer->SendFileChunk();
// break;
+ case WM_COMMAND:
case WM_SYSCOMMAND:
{
switch (LOWORD(wParam))
{
case ID_SW:
if (!_this->m_SWselect)
{
_this->m_SWselect=true;
@@ -4865,25 +4874,31 @@ LRESULT CALLBACK ClientConnection::WndPr
}
if (_this->m_opts.m_ViewOnly) return 0;
_this->SendServerInput(false);
break;
case SC_MINIMIZE:
_this->SetDormant(true);
if (_this->m_hwndStatus)ShowWindow(_this->m_hwndStatus,SW_MINIMIZE);
+ if (!IsIconic(_this->m_hwndMain)) ShowWindow(_this->m_hwndMain,SW_MINIMIZE);
break;
case SC_MAXIMIZE: //Added by: Lars Werner (http://lars.werner.no)
_this->SetFullScreenMode(!_this->InFullScreenMode());
break;
case SC_RESTORE:
_this->SetDormant(false);
if (_this->m_hwndStatus)ShowWindow(_this->m_hwndStatus,SW_NORMAL);
+ if (!IsIconic(_this->m_hwndMain)&&_this->InFullScreenMode()) _this->SetFullScreenMode(!_this->InFullScreenMode());
+ break;
+
+ case SC_CLOSE:
+ SendMessage(_this->m_hwndMain,WM_CLOSE,(WPARAM)0,(LPARAM)0);
break;
case ID_NEWCONN:
_this->m_pApp->NewConnection();
return 0;
case ID_CONN_SAVE_AS:
_this->SaveConnection();
Index: FullScreenTitleBar.cpp
===================================================================
RCS file: /cvsroot/ultravnc/ultravnc/vncviewer/FullScreenTitleBar.cpp,v
retrieving revision 1.4
diff -u -8 -p -r1.4 FullScreenTitleBar.cpp
--- FullScreenTitleBar.cpp 21 May 2004 14:38:00 -0000 1.4
+++ FullScreenTitleBar.cpp 30 May 2006 12:54:00 -0000
@@ -139,17 +139,17 @@ void CTitleBar::CreateDisplay()
wndclass.hCursor = LoadCursor(NULL, IDC_ARROW);
wndclass.hbrBackground = (HBRUSH) GetStockObject(WHITE_BRUSH);
wndclass.lpszMenuName = (const TCHAR *) NULL;
wndclass.lpszClassName = _T("FSTITLEBAR");
RegisterClass(&wndclass);
//Create window without any titlbar
- DWORD winstyle = WS_POPUP | WS_SYSMENU ;
+ DWORD winstyle = WS_POPUP ;
int CenterX=(lpRect.right-lpRect.left)/2-tbWidth/2;
int HeightPlacement=-tbHeigth+1;
if(tbScrollWindow==FALSE)
HeightPlacement=0;
m_hWnd = CreateWindow(_T("FSTITLEBAR"),
@@ -399,23 +399,28 @@ LRESULT CALLBACK CTitleBar::WndProc(HWND
case WM_LBUTTONDBLCLK:
//If the default entries on the context menu is activated then doubleclick is restore :)
if(tbLastIsStandard==TRUE)
::SendMessage(TitleBarThis->m_hWnd,WM_COMMAND,MAKEWPARAM(tbIDC_MAXIMIZE,BN_CLICKED),NULL);
break;
case WM_RBUTTONDOWN:
{
- HMENU Menu=LoadMenu(TitleBarThis->hInstance,MAKEINTRESOURCE (tbMENUID));
- HMENU SubMenu=GetSubMenu(Menu,0);;
-
+ // HMENU Menu=LoadMenu(TitleBarThis->hInstance,MAKEINTRESOURCE (tbMENUID));
+ // HMENU SubMenu=GetSubMenu(Menu,0);
+ HMENU Menu=GetSystemMenu(TitleBarThis->Parent, FALSE);
POINT lpPoint;
::GetCursorPos(&lpPoint);
- int Pos=0;
+ ::EnableMenuItem(Menu,SC_RESTORE,MF_BYCOMMAND|MF_ENABLED); // Restore item
+ ::EnableMenuItem(Menu,SC_MAXIMIZE,MF_BYCOMMAND|MF_GRAYED); // Maximize item
+ ::EnableMenuItem(Menu,SC_MOVE,MF_BYCOMMAND|MF_GRAYED); // Move item
+ ::EnableMenuItem(Menu,SC_SIZE,MF_BYCOMMAND|MF_GRAYED); // Size item
+
+ /* int Pos=0;
//Set ID values to each item
for(int i=0;i<GetMenuItemCount(SubMenu);i++)
{
TCHAR Text[MAX_PATH];
ZeroMemory(Text,sizeof(LPTSTR));
int res=::GetMenuString(SubMenu, i, Text, MAX_PATH, MF_BYPOSITION);
@@ -440,22 +445,23 @@ LRESULT CALLBACK CTitleBar::WndProc(HWND
{
RealPos++;
if(RealPos==Pos-2)
::SetMenuDefaultItem(SubMenu, i, TRUE);
}
}
}
-
- TrackPopupMenu(SubMenu,TPM_LEFTALIGN, lpPoint.x, lpPoint.y, 0, TitleBarThis->m_hWnd, NULL);
+ */
+ // TrackPopupMenu(SubMenu,TPM_LEFTALIGN, lpPoint.x, lpPoint.y, 0, TitleBarThis->m_hWnd, NULL);
+ TrackPopupMenu(Menu,TPM_LEFTALIGN, lpPoint.x, lpPoint.y, 0, TitleBarThis->Parent, NULL);
SetForegroundWindow (TitleBarThis->m_hWnd);
- DestroyMenu (SubMenu);
- DestroyMenu (Menu);
+ // DestroyMenu (SubMenu);
+ // DestroyMenu (Menu);
break;
}
case WM_TIMER:
{
UINT TimerID=(UINT)wParam;
Last edited by roytam1 on 2006-05-30 13:04, edited 1 time in total.
This patch also fixes poping up Full Screen Title Bar's own system menu.redge wrote:roytam1,
you added system menu available from mice is a great feature working fine
Before applying this patch you can popup Full Screen Title Bar's own system menu by giving it focus and press [Alt]+[Space bar].
And you can close/move the Full Screen Title Bar by the items of its system menu.
Keyboard control geeks. xD

