/[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 1162 by ossman_, Fri Mar 17 16:23:08 2006 UTC revision 1163 by ossman_, Mon Mar 20 10:31:58 2006 UTC
# Line 106  enum_cb(HWND hwnd, LPARAM lparam) Line 106  enum_cb(HWND hwnd, LPARAM lparam)
106          else          else
107                  parent = NULL;                  parent = NULL;
108    
109          vchannel_write("CREATE,0x%p,0x%p,0x%x", hwnd, parent, 0);          vchannel_write("CREATE", "0x%p,0x%p,0x%x", hwnd, parent, 0);
110    
111          if (!GetWindowRect(hwnd, &rect))          if (!GetWindowRect(hwnd, &rect))
112          {          {
# Line 114  enum_cb(HWND hwnd, LPARAM lparam) Line 114  enum_cb(HWND hwnd, LPARAM lparam)
114                  return TRUE;                  return TRUE;
115          }          }
116    
117          vchannel_write("POSITION,0x%p,%d,%d,%d,%d,0x%x",          vchannel_write("POSITION", "0x%p,%d,%d,%d,%d,0x%x",
118                         hwnd,                         hwnd,
119                         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);
120    
121          GetWindowTextW(hwnd, title, sizeof(title) / sizeof(*title));          GetWindowTextW(hwnd, title, sizeof(title) / sizeof(*title));
122    
123          vchannel_write("TITLE,0x%x,%s,0x%x", hwnd, vchannel_strfilter_unicode(title), 0);          vchannel_write("TITLE", "0x%x,%s,0x%x", hwnd, vchannel_strfilter_unicode(title), 0);
124    
125          if (styles & WS_MAXIMIZE)          if (styles & WS_MAXIMIZE)
126                  state = 2;                  state = 2;
# Line 129  enum_cb(HWND hwnd, LPARAM lparam) Line 129  enum_cb(HWND hwnd, LPARAM lparam)
129          else          else
130                  state = 0;                  state = 0;
131    
132          vchannel_write("STATE,0x%p,0x%x,0x%x", hwnd, state, 0);          vchannel_write("STATE", "0x%p,0x%x,0x%x", hwnd, state, 0);
133    
134          return TRUE;          return TRUE;
135  }  }
# Line 139  do_sync(void) Line 139  do_sync(void)
139  {  {
140          vchannel_block();          vchannel_block();
141    
142          vchannel_write("SYNCBEGIN,0x0");          vchannel_write("SYNCBEGIN", "0x0");
143    
144          EnumWindows(enum_cb, 0);          EnumWindows(enum_cb, 0);
145    
146          vchannel_write("SYNCEND,0x0");          vchannel_write("SYNCEND", "0x0");
147    
148          vchannel_unblock();          vchannel_unblock();
149  }  }
150    
151  static void  static void
152  do_state(HWND hwnd, int state)  do_state(unsigned int serial, HWND hwnd, int state)
153  {  {
154          g_set_state_fn(hwnd, state);          g_set_state_fn(hwnd, state);
155  }  }
156    
157  static void  static void
158  do_position(HWND hwnd, int x, int y, int width, int height)  do_position(unsigned int serial, HWND hwnd, int x, int y, int width, int height)
159  {  {
160          g_move_window_fn(hwnd, x, y, width, height);          g_move_window_fn(hwnd, x, y, width, height);
161  }  }
162    
163  static void  static void
164  do_zchange(HWND hwnd, HWND behind)  do_zchange(unsigned int serial, HWND hwnd, HWND behind)
165  {  {
166          g_zchange_fn(hwnd, behind);          g_zchange_fn(hwnd, behind);
167  }  }
168    
169  static void  static void
170  do_focus(HWND hwnd)  do_focus(unsigned int serial, HWND hwnd)
171  {  {
172          g_focus_fn(hwnd);          g_focus_fn(hwnd);
173  }  }
# Line 196  process_cmds(void) Line 196  process_cmds(void)
196                  if (strcmp(tok1, "SYNC") == 0)                  if (strcmp(tok1, "SYNC") == 0)
197                          do_sync();                          do_sync();
198                  else if (strcmp(tok1, "STATE") == 0)                  else if (strcmp(tok1, "STATE") == 0)
199                          do_state((HWND) strtoul(tok2, NULL, 0), strtol(tok3, NULL, 0));                          do_state(strtoul(tok2, NULL, 0), (HWND) strtoul(tok3, NULL, 0),
200                                     strtol(tok4, NULL, 0));
201                  else if (strcmp(tok1, "POSITION") == 0)                  else if (strcmp(tok1, "POSITION") == 0)
202                          do_position((HWND) strtoul(tok2, NULL, 0), strtol(tok3, NULL, 0),                          do_position(strtoul(tok2, NULL, 0), (HWND) strtoul(tok3, NULL, 0),
203                                      strtol(tok4, NULL, 0), strtol(tok5, NULL, 0), strtol(tok6, NULL,                                      strtol(tok4, NULL, 0), strtol(tok5, NULL, 0), strtol(tok6, NULL,
204                                                                                           0));                                                                                           0),
205                                        strtol(tok7, NULL, 0));
206                  else if (strcmp(tok1, "ZCHANGE") == 0)                  else if (strcmp(tok1, "ZCHANGE") == 0)
207                          do_zchange((HWND) strtoul(tok2, NULL, 0), (HWND) strtoul(tok3, NULL, 0));                          do_zchange(strtoul(tok2, NULL, 0), (HWND) strtoul(tok3, NULL, 0),
208                                       (HWND) strtoul(tok4, NULL, 0));
209                  else if (strcmp(tok1, "FOCUS") == 0)                  else if (strcmp(tok1, "FOCUS") == 0)
210                          do_focus((HWND) strtoul(tok2, NULL, 0));                          do_focus(strtoul(tok2, NULL, 0), (HWND) strtoul(tok3, NULL, 0));
211          }          }
212  }  }
213    
# Line 218  wndproc(HWND hwnd, UINT message, WPARAM Line 221  wndproc(HWND hwnd, UINT message, WPARAM
221                          /* These get reset on each reconnect */                          /* These get reset on each reconnect */
222                          SystemParametersInfo(SPI_SETDRAGFULLWINDOWS, TRUE, NULL, 0);                          SystemParametersInfo(SPI_SETDRAGFULLWINDOWS, TRUE, NULL, 0);
223                          SystemParametersInfo(SPI_SETSCREENSAVEACTIVE, FALSE, NULL, 0);                          SystemParametersInfo(SPI_SETSCREENSAVEACTIVE, FALSE, NULL, 0);
224                          vchannel_write("HELLO,0x%08x", 1);                          vchannel_write("HELLO", "0x%08x", 1);
225                  }                  }
226          }          }
227    
# Line 313  WinMain(HINSTANCE instance, HINSTANCE pr Line 316  WinMain(HINSTANCE instance, HINSTANCE pr
316    
317          vchannel_open();          vchannel_open();
318    
319          vchannel_write("HELLO,0x%08x", 0);          vchannel_write("HELLO", "0x%08x", 0);
320    
321          set_hooks_fn();          set_hooks_fn();
322    

Legend:
Removed from v.1162  
changed lines
  Added in v.1163

  ViewVC Help
Powered by ViewVC 1.1.26