After more 1 000 000 (one 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 welcome

Celebrating the 22th anniversary of the UltraVNC (25th anniversary since the laying of the foundation stone): https://forum.uvnc.com/viewtopic.php?t=38031

Important: Please update to latest version before to create a reply, a topic or an issue: https://forum.uvnc.com/viewtopic.php?t=37864

Forum password change request: https://forum.uvnc.com/viewtopic.php?t=38078

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

Search found 3 matches

by RomekAtomek
2020-07-07 23:15
Forum: Developer discussions (mainly user-mode)
Topic: Code quality
Replies: 1
Views: 21961

Code quality

What does it mean?

vncDesktopThread.cpp line 676

switch (m_desktop->m_current_monitor)
{
case MULTI_MON_PRIMARY:
break;
case MULTI_MON_SECOND:
break;
case MULTI_MON_THIRD:
break;
}
by RomekAtomek
2020-07-06 17:01
Forum: Developer discussions (mainly user-mode)
Topic: Code quality
Replies: 1
Views: 21989

Code quality

Is there a reason to call GetDIBits twice in the vncdesktop.cpp file?

line 1118

result = ::GetDIBits(m_hmemdc, m_membitmap, 0, 1, NULL, &m_bminfo.bmi, DIB_RGB_COLORS);
if (result == 0) {
vnclog.Print(LL_INTERR, VNCLOG("unable to get display format\n"));
return ERROR_DESKTOP_NO_DISPLAYFORMAT ...
by RomekAtomek
2020-07-03 19:46
Forum: Developer discussions (mainly user-mode)
Topic: LoadLibrary
Replies: 1
Views: 21434

LoadLibrary

Hi,

The user32.dll library is loaded twice in the constructor vncDesktopThread. What is a cause of it?

vncDesktopThread() {
m_returnsig = NULL;
user32 = LoadLibrary("user32.dll"); // here
MyGetCursorInfo=NULL;
if (user32) MyGetCursorInfo=(_GetCursorInfo )GetProcAddress(user32, "GetCursorInfo ...