Fixed declarations of BroadcastSystemMessage and TranslateAccelerator
in winuser.h. Added GetWindowModuleFileName.

diff --git a/controls/menu.c b/controls/menu.c
index f82341c..766697a 100644
--- a/controls/menu.c
+++ b/controls/menu.c
@@ -4754,7 +4754,7 @@
  *      TranslateAcceleratorA     (USER32.@)
  *      TranslateAcceleratorW     (USER32.@)
  */
-INT WINAPI TranslateAccelerator( HWND hWnd, HACCEL hAccel, LPMSG msg )
+INT WINAPI TranslateAcceleratorW( HWND hWnd, HACCEL hAccel, LPMSG msg )
 {
     /* YES, Accel16! */
     LPACCEL16 lpAccelTbl;
diff --git a/dlls/user/msg16.c b/dlls/user/msg16.c
index 0b6156c..e975569 100644
--- a/dlls/user/msg16.c
+++ b/dlls/user/msg16.c
@@ -468,7 +468,7 @@
     /* msg32.hwnd not used */
     msg32.wParam  = msg->wParam;
     msg32.lParam  = msg->lParam;
-    return TranslateAccelerator( WIN_Handle32(hwnd), HACCEL_32(hAccel), &msg32 );
+    return TranslateAcceleratorW( WIN_Handle32(hwnd), HACCEL_32(hAccel), &msg32 );
 }
 
 
diff --git a/dlls/user/user32.spec b/dlls/user/user32.spec
index ef3fe23..0cc6900 100644
--- a/dlls/user/user32.spec
+++ b/dlls/user/user32.spec
@@ -10,8 +10,8 @@
 @ stdcall BeginPaint(long ptr)
 # @ stub BlockInput
 @ stdcall BringWindowToTop(long)
-@ stdcall BroadcastSystemMessage(long ptr long long long)
-@ stdcall BroadcastSystemMessageA(long ptr long long long) BroadcastSystemMessage
+@ stdcall BroadcastSystemMessage(long ptr long long long) BroadcastSystemMessageA
+@ stdcall BroadcastSystemMessageA(long ptr long long long)
 @ stdcall BroadcastSystemMessageW(long ptr long long long)
 @ stdcall CalcChildScroll(long long)
 @ stdcall CallMsgFilter(ptr long) CallMsgFilterA
@@ -583,9 +583,9 @@
 @ stdcall ToUnicode(long long ptr wstr long long)
 @ stdcall TrackPopupMenu(long long long long long long ptr)
 @ stdcall TrackPopupMenuEx(long long long long long ptr)
-@ stdcall TranslateAccelerator(long long ptr)
-@ stdcall TranslateAcceleratorA(long long ptr) TranslateAccelerator
-@ stdcall TranslateAcceleratorW(long long ptr) TranslateAccelerator
+@ stdcall TranslateAccelerator(long long ptr) TranslateAcceleratorW
+@ stdcall TranslateAcceleratorA(long long ptr) TranslateAcceleratorW
+@ stdcall TranslateAcceleratorW(long long ptr)
 @ stdcall TranslateMDISysAccel(long ptr)
 @ stdcall TranslateMessage(ptr)
 @ stdcall UnhookWindowsHook(long ptr)
diff --git a/include/oleidl.h b/include/oleidl.h
index 6b76ba2..e4d57b9 100644
--- a/include/oleidl.h
+++ b/include/oleidl.h
@@ -260,6 +260,9 @@
 
 #endif  /* __IOleInPlaceObject_INTERFACE_DEFINED__ */
 
+#ifdef __WINESRC__
+#undef TranslateAccelerator
+#endif
 #ifndef __IOleInPlaceUIWindow_FWD_DEFINED__
 #define __IOleInPlaceUIWindow_FWD_DEFINED__
 typedef struct IOleInPlaceUIWindow IOleInPlaceUIWindow;
diff --git a/include/oleidl.idl b/include/oleidl.idl
index df6eb9c..be323f6 100644
--- a/include/oleidl.idl
+++ b/include/oleidl.idl
@@ -96,6 +96,11 @@
 }
 
 
+/* avoid conflict with Wine Unicode macros */
+cpp_quote("#ifdef __WINESRC__")
+cpp_quote("#undef TranslateAccelerator")
+cpp_quote("#endif")
+
 /*****************************************************************************
  * IOleInPlaceActiveObject interface
  */
diff --git a/include/winuser.h b/include/winuser.h
index 43684f9..7afd746 100644
--- a/include/winuser.h
+++ b/include/winuser.h
@@ -3817,13 +3817,16 @@
 BOOL      WINAPI AppendMenuA(HMENU,UINT,UINT_PTR,LPCSTR);
 BOOL      WINAPI AppendMenuW(HMENU,UINT,UINT_PTR,LPCWSTR);
 #define     AppendMenu WINELIB_NAME_AW(AppendMenu)
-UINT      WINAPI ArrangeIconicWindows(HWND);
-HDWP      WINAPI BeginDeferWindowPos(INT);
-HDC       WINAPI BeginPaint(HWND,LPPAINTSTRUCT);
-BOOL      WINAPI BringWindowToTop(HWND);
-void      WINAPI CalcChildScroll(HWND, INT);
-BOOL      WINAPI CallMsgFilterA(LPMSG,INT);
-BOOL      WINAPI CallMsgFilterW(LPMSG,INT);
+UINT        WINAPI ArrangeIconicWindows(HWND);
+HDWP        WINAPI BeginDeferWindowPos(INT);
+HDC         WINAPI BeginPaint(HWND,LPPAINTSTRUCT);
+BOOL        WINAPI BringWindowToTop(HWND);
+LONG        WINAPI BroadcastSystemMessageA(DWORD,LPDWORD,UINT,WPARAM,LPARAM);
+LONG        WINAPI BroadcastSystemMessageW(DWORD,LPDWORD,UINT,WPARAM,LPARAM);
+#define     BroadcastSystemMessage WINELIB_NAME_A(BroadcastSystemMessage)
+void        WINAPI CalcChildScroll(HWND, INT);
+BOOL        WINAPI CallMsgFilterA(LPMSG,INT);
+BOOL        WINAPI CallMsgFilterW(LPMSG,INT);
 #define     CallMsgFilter WINELIB_NAME_AW(CallMsgFilter)
 LRESULT     WINAPI CallNextHookEx(HHOOK,INT,WPARAM,LPARAM);
 LRESULT     WINAPI CallWindowProcA(WNDPROC,HWND,UINT,WPARAM,LPARAM);
@@ -4133,6 +4136,9 @@
 #define     GetWindowLongPtrA GetWindowLongA
 #define     GetWindowLongPtrW GetWindowLongW
 #define     GetWindowLongPtr WINELIB_NAME_AW(GetWindowLongPtr)
+UINT        WINAPI GetWindowModuleFileNameA(HWND,LPSTR,UINT);
+UINT        WINAPI GetWindowModuleFileNameW(HWND,LPWSTR,UINT);
+#define     GetWindowModuleFileName WINELIB_NAME_AW(GetWindowModuleFileName)
 BOOL        WINAPI GetWindowPlacement(HWND,LPWINDOWPLACEMENT);
 BOOL        WINAPI GetWindowRect(HWND,LPRECT);
 INT         WINAPI GetWindowRgn(HWND,HRGN);
@@ -4384,18 +4390,20 @@
 LONG        WINAPI TabbedTextOutA(HDC,INT,INT,LPCSTR,INT,INT,const INT*,INT);
 LONG        WINAPI TabbedTextOutW(HDC,INT,INT,LPCWSTR,INT,INT,const INT*,INT);
 #define     TabbedTextOut WINELIB_NAME_AW(TabbedTextOut)
-INT       WINAPI ToAscii(UINT,UINT,LPBYTE,LPWORD,UINT);
-INT       WINAPI ToAsciiEx(UINT,UINT,LPBYTE,LPWORD,UINT,HKL);
-BOOL      WINAPI TrackMouseEvent(LPTRACKMOUSEEVENT);
-BOOL      WINAPI TrackPopupMenu(HMENU,UINT,INT,INT,INT,HWND,const RECT*);
-INT       WINAPI TranslateAccelerator(HWND,HACCEL,LPMSG);
-BOOL      WINAPI TranslateMDISysAccel(HWND,LPMSG);
-BOOL      WINAPI TranslateMessage(const MSG*);
-BOOL      WINAPI UnhookWindowsHook(INT,HOOKPROC);
-BOOL      WINAPI UnhookWindowsHookEx(HHOOK);
-BOOL      WINAPI UnionRect(LPRECT,const RECT*,const RECT*);
-BOOL      WINAPI UnregisterClassA(LPCSTR,HINSTANCE);
-BOOL      WINAPI UnregisterClassW(LPCWSTR,HINSTANCE);
+INT         WINAPI ToAscii(UINT,UINT,LPBYTE,LPWORD,UINT);
+INT         WINAPI ToAsciiEx(UINT,UINT,LPBYTE,LPWORD,UINT,HKL);
+BOOL        WINAPI TrackMouseEvent(LPTRACKMOUSEEVENT);
+BOOL        WINAPI TrackPopupMenu(HMENU,UINT,INT,INT,INT,HWND,const RECT*);
+INT         WINAPI TranslateAcceleratorA(HWND,HACCEL,LPMSG);
+INT         WINAPI TranslateAcceleratorW(HWND,HACCEL,LPMSG);
+#define     TranslateAccelerator WINELIB_NAME_AW(TranslateAccelerator)
+BOOL        WINAPI TranslateMDISysAccel(HWND,LPMSG);
+BOOL        WINAPI TranslateMessage(const MSG*);
+BOOL        WINAPI UnhookWindowsHook(INT,HOOKPROC);
+BOOL        WINAPI UnhookWindowsHookEx(HHOOK);
+BOOL        WINAPI UnionRect(LPRECT,const RECT*,const RECT*);
+BOOL        WINAPI UnregisterClassA(LPCSTR,HINSTANCE);
+BOOL        WINAPI UnregisterClassW(LPCWSTR,HINSTANCE);
 #define     UnregisterClass WINELIB_NAME_AW(UnregisterClass)
 BOOL        WINAPI UpdateWindow(HWND);
 UINT        WINAPI UserRealizePalette(HDC);
diff --git a/programs/regedit/main.c b/programs/regedit/main.c
index d035794..d28965d 100644
--- a/programs/regedit/main.c
+++ b/programs/regedit/main.c
@@ -125,7 +125,7 @@
     d(SetWindowLongA)
     d(SetWindowTextA)
     d(ShowWindow)
-    d(TranslateAccelerator)
+    d(TranslateAcceleratorA)
     d(TranslateMessage)
     d(UpdateWindow)
     d(WinHelpA)
diff --git a/programs/regedit/main.h b/programs/regedit/main.h
index c345095..6131834 100644
--- a/programs/regedit/main.h
+++ b/programs/regedit/main.h
@@ -156,7 +156,7 @@
 d(SetWindowLongA)
 d(SetWindowTextA)
 d(ShowWindow)
-d(TranslateAccelerator)
+d(TranslateAcceleratorA)
 d(TranslateMessage)
 d(UpdateWindow)
 d(WinHelpA)
@@ -227,7 +227,7 @@
 #define SetWindowLongA pSetWindowLongA
 #define SetWindowTextA pSetWindowTextA
 #define ShowWindow pShowWindow
-#define TranslateAccelerator pTranslateAccelerator
+#define TranslateAcceleratorA pTranslateAcceleratorA
 #define TranslateMessage pTranslateMessage
 #define UpdateWindow pUpdateWindow
 #define WinHelpA pWinHelpA
diff --git a/windows/message.c b/windows/message.c
index 20b7b16..317a720 100644
--- a/windows/message.c
+++ b/windows/message.c
@@ -932,7 +932,7 @@
  *		BroadcastSystemMessage  (USER32.@)
  *		BroadcastSystemMessageA (USER32.@)
  */
-LONG WINAPI BroadcastSystemMessage(
+LONG WINAPI BroadcastSystemMessageA(
 	DWORD dwFlags,LPDWORD recipients,UINT uMessage,WPARAM wParam,
 	LPARAM lParam )
 {
diff --git a/windows/win.c b/windows/win.c
index 987abd2..cb8246d 100644
--- a/windows/win.c
+++ b/windows/win.c
@@ -3199,7 +3199,7 @@
 /******************************************************************************
  *		GetWindowModuleFileNameW (USER32.@)
  */
-UINT WINAPI GetWindowModuleFileNameW( HWND hwnd, LPSTR lpszFileName, UINT cchFileNameMax)
+UINT WINAPI GetWindowModuleFileNameW( HWND hwnd, LPWSTR lpszFileName, UINT cchFileNameMax)
 {
     FIXME("GetWindowModuleFileNameW(hwnd %p, lpszFileName %p, cchFileNameMax %u) stub!\n",
           hwnd, lpszFileName, cchFileNameMax);