Some fixes to module browsing.

diff --git a/dlls/kernel/toolhelp.c b/dlls/kernel/toolhelp.c
index d37f0a8..7b4cd80 100644
--- a/dlls/kernel/toolhelp.c
+++ b/dlls/kernel/toolhelp.c
@@ -379,17 +379,20 @@
         wine_server_set_reply( req, exe, sizeof(exe) );
         if ((ret = !wine_server_call_err( req )))
         {
-            lpme->th32ModuleID   = 0;  /* toolhelp internal id, never used */
+            const char* ptr;
+            lpme->th32ModuleID   = 1; /* toolhelp internal id, never used */
             lpme->th32ProcessID  = reply->pid;
-            lpme->GlblcntUsage   = 0; /* FIXME */
-            lpme->ProccntUsage   = 0; /* FIXME */
+            lpme->GlblcntUsage   = 0xFFFF; /* FIXME */
+            lpme->ProccntUsage   = 0xFFFF; /* FIXME */
             lpme->modBaseAddr    = reply->base;
             lpme->modBaseSize    = reply->size;
             lpme->hModule        = reply->base;
-            lpme->szModule[0]    = 0;  /* FIXME */
             len = WideCharToMultiByte( CP_ACP, 0, exe, wine_server_reply_size(reply) / sizeof(WCHAR),
-                                       lpme->szExePath, sizeof(lpme->szExePath), NULL, NULL );
+                                       lpme->szExePath, sizeof(lpme->szExePath) - 1, NULL, NULL );
             lpme->szExePath[len] = 0;
+            if ((ptr = strrchr(lpme->szExePath, '\\'))) ptr++;
+            else ptr = lpme->szExePath;
+            lstrcpynA( lpme->szModule, ptr, sizeof(lpme->szModule) );
         }
     }
     SERVER_END_REQ;