/[rdesktop]/sourceforge.net/trunk/seamlessrdp/ServerExe/main.c
This is repository of my old source code which isn't updated any more. Go to git.rot13.org for current projects!
ViewVC logotype

Diff of /sourceforge.net/trunk/seamlessrdp/ServerExe/main.c

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1111 by ossman_, Fri Mar 10 15:25:17 2006 UTC revision 1135 by ossman_, Wed Mar 15 13:45:42 2006 UTC
# Line 71  static BOOL CALLBACK Line 71  static BOOL CALLBACK
71  enum_cb(HWND hwnd, LPARAM lparam)  enum_cb(HWND hwnd, LPARAM lparam)
72  {  {
73          RECT rect;          RECT rect;
74          char title[150];          unsigned short title[150];
75          LONG styles;          LONG styles;
76          int state;          int state;
77          HWND parent;          HWND parent;
# Line 98  enum_cb(HWND hwnd, LPARAM lparam) Line 98  enum_cb(HWND hwnd, LPARAM lparam)
98                         hwnd,                         hwnd,
99                         rect.left, rect.top, rect.right - rect.left, rect.bottom - rect.top, 0);                         rect.left, rect.top, rect.right - rect.left, rect.bottom - rect.top, 0);
100    
101          GetWindowText(hwnd, title, sizeof(title));          GetWindowTextW(hwnd, title, sizeof(title) / sizeof(*title));
102    
103          /* FIXME: Strip title of dangerous characters */          vchannel_write("TITLE,0x%x,%s,0x%x", hwnd, vchannel_strfilter_unicode(title), 0);
   
         vchannel_write("TITLE,0x%x,%s,0x%x", hwnd, title, 0);  
104    
105          if (styles & WS_MAXIMIZE)          if (styles & WS_MAXIMIZE)
106                  state = 2;                  state = 2;
# Line 144  do_state(HWND hwnd, int state) Line 142  do_state(HWND hwnd, int state)
142  }  }
143    
144  static void  static void
145    do_position(HWND hwnd, int x, int y, int width, int height)
146    {
147            SetWindowPos(hwnd, NULL, x, y, width, height, SWP_NOACTIVATE | SWP_NOZORDER);
148    }
149    
150    static void
151    do_zchange(HWND hwnd, HWND behind)
152    {
153            if (behind == NULL)
154                    behind = HWND_TOP;
155            SetWindowPos(hwnd, behind, 0, 0, 0, 0, SWP_NOACTIVATE | SWP_NOMOVE | SWP_NOSIZE);
156    }
157    
158    static void
159  process_cmds(void)  process_cmds(void)
160  {  {
161          char line[VCHANNEL_MAX_LINE];          char line[VCHANNEL_MAX_LINE];
# Line 169  process_cmds(void) Line 181  process_cmds(void)
181                  if (strcmp(tok1, "SYNC") == 0)                  if (strcmp(tok1, "SYNC") == 0)
182                          do_sync();                          do_sync();
183                  else if (strcmp(tok1, "STATE") == 0)                  else if (strcmp(tok1, "STATE") == 0)
184                          do_state((HWND) strtol(tok2, NULL, 0), strtol(tok3, NULL, 0));                          do_state((HWND) strtoul(tok2, NULL, 0), strtol(tok3, NULL, 0));
185                    else if (strcmp(tok1, "POSITION") == 0)
186                            do_position((HWND) strtoul(tok2, NULL, 0), strtol(tok3, NULL, 0),
187                                        strtol(tok4, NULL, 0), strtol(tok5, NULL, 0), strtol(tok6, NULL,
188                                                                                             0));
189                    else if (strcmp(tok1, "ZCHANGE") == 0)
190                            do_zchange((HWND) strtoul(tok2, NULL, 0), (HWND) strtoul(tok3, NULL, 0));
191          }          }
192  }  }
193    

Legend:
Removed from v.1111  
changed lines
  Added in v.1135

  ViewVC Help
Powered by ViewVC 1.1.26