diff --git a/src/main.cpp b/src/main.cpp index 9fea113..448a12b 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -117,6 +117,7 @@ int WINAPI WinMain( } ShowWindow(wnd, nShowCmd); + SetCursor(NULL); if (!CxbxrExec(wnd, cxbxPath, xbePath)) { return 0; diff --git a/src/wndproc.cpp b/src/wndproc.cpp index d668d28..4b10deb 100644 --- a/src/wndproc.cpp +++ b/src/wndproc.cpp @@ -60,6 +60,11 @@ LRESULT WINAPI MainWndProc(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam) HANDLE remoteThread = CreateRemoteThread(g_cxbxHandle, NULL, 0, (LPTHREAD_START_ROUTINE) loadLibraryFunc, remoteMem, NULL, NULL); CloseHandle(remoteThread); + + LPVOID setCursorFunc = (LPVOID) GetProcAddress(GetModuleHandle(TEXT("user32.dll")), "SetCursor"); + DWORD nullCursor = 0; + HANDLE cursorThread = CreateRemoteThread(g_cxbxHandle, NULL, 0, (LPTHREAD_START_ROUTINE) setCursorFunc, &nullCursor, NULL, NULL); + CloseHandle(cursorThread); return 0; } break;