From 5189835be7bc4d5b4d5cba9bf2fefe44c079e7dc Mon Sep 17 00:00:00 2001 From: Johannes Anderwald Date: Wed, 16 Apr 2008 11:01:25 +0000 Subject: [PATCH] - start implementing dxdiag - does not do anything yet svn path=/trunk/; revision=32985 --- reactos/base/applications/applications.rbuild | 3 + reactos/base/applications/dxdiag/display.c | 26 +++ reactos/base/applications/dxdiag/dxdiag.c | 201 ++++++++++++++++++ .../base/applications/dxdiag/dxdiag.rbuild | 24 +++ reactos/base/applications/dxdiag/dxdiag.rc | 16 ++ reactos/base/applications/dxdiag/help.c | 26 +++ reactos/base/applications/dxdiag/input.c | 26 +++ .../base/applications/dxdiag/lang/de-DE.rc | 71 +++++++ .../base/applications/dxdiag/lang/en-US.rc | 71 +++++++ reactos/base/applications/dxdiag/music.c | 26 +++ reactos/base/applications/dxdiag/network.c | 26 +++ reactos/base/applications/dxdiag/precomp.h | 29 +++ .../base/applications/dxdiag/res/dxdiag.ico | Bin 0 -> 29926 bytes reactos/base/applications/dxdiag/resource.h | 39 ++++ reactos/base/applications/dxdiag/rsrc.rc | 8 + reactos/base/applications/dxdiag/sound.c | 26 +++ reactos/base/applications/dxdiag/system.c | 26 +++ 17 files changed, 644 insertions(+) create mode 100644 reactos/base/applications/dxdiag/display.c create mode 100644 reactos/base/applications/dxdiag/dxdiag.c create mode 100644 reactos/base/applications/dxdiag/dxdiag.rbuild create mode 100644 reactos/base/applications/dxdiag/dxdiag.rc create mode 100644 reactos/base/applications/dxdiag/help.c create mode 100644 reactos/base/applications/dxdiag/input.c create mode 100644 reactos/base/applications/dxdiag/lang/de-DE.rc create mode 100644 reactos/base/applications/dxdiag/lang/en-US.rc create mode 100644 reactos/base/applications/dxdiag/music.c create mode 100644 reactos/base/applications/dxdiag/network.c create mode 100644 reactos/base/applications/dxdiag/precomp.h create mode 100644 reactos/base/applications/dxdiag/res/dxdiag.ico create mode 100644 reactos/base/applications/dxdiag/resource.h create mode 100644 reactos/base/applications/dxdiag/rsrc.rc create mode 100644 reactos/base/applications/dxdiag/sound.c create mode 100644 reactos/base/applications/dxdiag/system.c diff --git a/reactos/base/applications/applications.rbuild b/reactos/base/applications/applications.rbuild index d12576a6868..5171e945b45 100644 --- a/reactos/base/applications/applications.rbuild +++ b/reactos/base/applications/applications.rbuild @@ -16,6 +16,9 @@ + + + diff --git a/reactos/base/applications/dxdiag/display.c b/reactos/base/applications/dxdiag/display.c new file mode 100644 index 00000000000..e03678a0880 --- /dev/null +++ b/reactos/base/applications/dxdiag/display.c @@ -0,0 +1,26 @@ +/* + * PROJECT: ReactX Diagnosis Application + * LICENSE: LGPL - See COPYING in the top level directory + * FILE: base/applications/dxdiag/display.c + * PURPOSE: ReactX diagnosis display page + * COPYRIGHT: Copyright 2008 Johannes Anderwald + * + */ + +#include "precomp.h" + +INT_PTR CALLBACK +DisplayPageWndProc(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam) +{ + UNREFERENCED_PARAMETER(lParam); + UNREFERENCED_PARAMETER(wParam); + switch (message) { + case WM_INITDIALOG: + { + SetWindowPos(hDlg, NULL, 10, 32, 0, 0, SWP_NOACTIVATE | SWP_NOOWNERZORDER | SWP_NOSIZE | SWP_NOZORDER); + return TRUE; + } + } + + return FALSE; +} diff --git a/reactos/base/applications/dxdiag/dxdiag.c b/reactos/base/applications/dxdiag/dxdiag.c new file mode 100644 index 00000000000..527174f63b2 --- /dev/null +++ b/reactos/base/applications/dxdiag/dxdiag.c @@ -0,0 +1,201 @@ +/* + * PROJECT: ReactX Diagnosis Application + * LICENSE: LGPL - See COPYING in the top level directory + * FILE: base/applications/dxdiag/dxdiag.c + * PURPOSE: ReactX diagnosis application entry + * COPYRIGHT: Copyright 2008 Johannes Anderwald + * + */ + +#include "precomp.h" + +/* globals */ +HINSTANCE hInst = 0; +HWND hTabCtrlWnd; + +//--------------------------------------------------------------- +VOID +DestroyTabCtrlDialogs(PDXDIAG_CONTEXT pContext) +{ + UINT Index; + + for(Index = 0; Index < 7; Index++) + { + if (pContext->hDialogs[Index]) + DestroyWindow(pContext->hDialogs[Index]); + } +} + +//--------------------------------------------------------------- +VOID +InsertTabCtrlItem(HWND hDlgCtrl, INT Position, UINT uId) +{ + WCHAR szName[100]; + TCITEMW item; + + /* load item name */ + szName[0] = L'\0'; + if (!LoadStringW(hInst, uId, szName, 100)) + return; + szName[99] = L'\0'; + + /* setup item info */ + memset(&item, 0, sizeof(TCITEM)); + item.mask = TCIF_TEXT; + item.pszText = szName; + + (void)TabCtrl_InsertItemW(hDlgCtrl, Position, &item); +} + +VOID +TabCtrl_OnSelChange(PDXDIAG_CONTEXT pContext) +{ + INT Index; + INT CurSel; + + /* retrieve new page */ + CurSel = TabCtrl_GetCurSel(hTabCtrlWnd); + if (CurSel < 0 || CurSel > 7) + return; + + /* show active page */ + for(Index = 0; Index < 7; Index++) + { + if (Index == CurSel) + ShowWindow(pContext->hDialogs[Index], SW_SHOW); + else + ShowWindow(pContext->hDialogs[Index], SW_HIDE); + } + + /* make sure its displayed */ + BringWindowToTop(pContext->hDialogs[CurSel]); +} + + +VOID +InitializeTabCtrl(HWND hwndDlg, PDXDIAG_CONTEXT pContext) +{ + /* create the dialogs */ + pContext->hDialogs[0] = CreateDialogParamW(hInst, MAKEINTRESOURCEW(IDD_SYSTEM_DIALOG), hwndDlg, SystemPageWndProc, (LPARAM)pContext); + pContext->hDialogs[1] = CreateDialogParamW(hInst, MAKEINTRESOURCEW(IDD_DISPLAY_DIALOG), hwndDlg, DisplayPageWndProc, (LPARAM)pContext); + pContext->hDialogs[2] = CreateDialogParamW(hInst, MAKEINTRESOURCEW(IDD_SOUND_DIALOG), hwndDlg, SoundPageWndProc, (LPARAM)pContext); + pContext->hDialogs[3] = CreateDialogParamW(hInst, MAKEINTRESOURCEW(IDD_MUSIC_DIALOG), hwndDlg, MusicPageWndProc, (LPARAM)pContext); + pContext->hDialogs[4] = CreateDialogParamW(hInst, MAKEINTRESOURCEW(IDD_INPUT_DIALOG), hwndDlg, InputPageWndProc, (LPARAM)pContext); + pContext->hDialogs[5] = CreateDialogParamW(hInst, MAKEINTRESOURCEW(IDD_NETWORK_DIALOG), hwndDlg, NetworkPageWndProc, (LPARAM)pContext); + pContext->hDialogs[6] = CreateDialogParamW(hInst, MAKEINTRESOURCEW(IDD_HELP_DIALOG), hwndDlg, HelpPageWndProc, (LPARAM)pContext); + + /* insert tab ctrl items */ + hTabCtrlWnd = GetDlgItem(hwndDlg, IDC_TAB_CONTROL); + InsertTabCtrlItem(hTabCtrlWnd, 0, IDS_SYSTEM_DIALOG); + InsertTabCtrlItem(hTabCtrlWnd, 1, IDS_DISPLAY_DIALOG); + InsertTabCtrlItem(hTabCtrlWnd, 2, IDS_SOUND_DIALOG); + InsertTabCtrlItem(hTabCtrlWnd, 3, IDS_MUSIC_DIALOG); + InsertTabCtrlItem(hTabCtrlWnd, 4, IDS_INPUT_DIALOG); + InsertTabCtrlItem(hTabCtrlWnd, 5, IDS_NETWORK_DIALOG); + InsertTabCtrlItem(hTabCtrlWnd, 6, IDS_HELP_DIALOG); + + TabCtrl_OnSelChange(pContext); +} + +VOID +InitializeDxDiagDialog(HWND hwndDlg) +{ + PDXDIAG_CONTEXT pContext; + HICON hIcon; + + pContext = HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, sizeof(DXDIAG_CONTEXT)); + if (!pContext) + return; + + /* store the context */ + SetWindowLongPtr(hwndDlg, DWLP_USER, (LONG_PTR)pContext); + + /* initialize the tab ctrl */ + InitializeTabCtrl(hwndDlg, pContext); + + /* load application icon */ + hIcon = LoadImageW(hInst, MAKEINTRESOURCEW(IDI_APPICON), IMAGE_ICON, 16, 16, 0); + if (!hIcon) + return; + /* display icon */ + SendMessage(hwndDlg, WM_SETICON, ICON_SMALL, (LPARAM)hIcon); +} + + +INT_PTR CALLBACK +DxDiagWndProc(HWND hwndDlg, UINT message, WPARAM wParam, LPARAM lParam) +{ + LPNMHDR pnmh; + PDXDIAG_CONTEXT pContext; + + pContext = (PDXDIAG_CONTEXT)GetWindowLongPtr(hwndDlg, DWLP_USER); + + switch (message) + { + case WM_INITDIALOG: + InitializeDxDiagDialog(hwndDlg); + return TRUE; + case WM_COMMAND: + if (LOWORD(wParam) == IDC_BUTTON_SAVE_INFO) + { + //TODO + /* handle save information */ + return TRUE; + } + + if (LOWORD(wParam) == IDC_BUTTON_NEXT) + { + //TODO + /* handle next button */ + return TRUE; + } + + if (LOWORD(wParam) == IDC_BUTTON_HELP) + { + //TODO + /* handle help button */ + return TRUE; + } + + if (LOWORD(wParam) == IDCANCEL || LOWORD(wParam) == IDC_BUTTON_EXIT) { + EndDialog(hwndDlg, LOWORD(wParam)); + return TRUE; + } + break; + + case WM_NOTIFY: + pnmh = (LPNMHDR)lParam; + if ((pnmh->hwndFrom == hTabCtrlWnd) && (pnmh->idFrom == IDC_TAB_CONTROL) && (pnmh->code == TCN_SELCHANGE)) + { + TabCtrl_OnSelChange(pContext); + } + break; + case WM_DESTROY: + DestroyTabCtrlDialogs(pContext); + return DefWindowProc(hwndDlg, message, wParam, lParam); + } + return 0; +} + +int APIENTRY WinMain(HINSTANCE hInstance, + HINSTANCE hPrevInstance, + LPSTR lpCmdLine, + int nCmdShow) +{ + + INITCOMMONCONTROLSEX InitControls; + + UNREFERENCED_PARAMETER(hPrevInstance); + UNREFERENCED_PARAMETER(lpCmdLine); + UNREFERENCED_PARAMETER(nCmdShow); + + InitControls.dwSize = sizeof(INITCOMMONCONTROLSEX); + InitControls.dwICC = ICC_TAB_CLASSES | ICC_LISTVIEW_CLASSES; + InitCommonControlsEx(&InitControls); + + hInst = hInstance; + + DialogBox(hInst, MAKEINTRESOURCE(IDD_MAIN_DIALOG), NULL, (DLGPROC) DxDiagWndProc); + + return 0; +} diff --git a/reactos/base/applications/dxdiag/dxdiag.rbuild b/reactos/base/applications/dxdiag/dxdiag.rbuild new file mode 100644 index 00000000000..7f481fbf8c0 --- /dev/null +++ b/reactos/base/applications/dxdiag/dxdiag.rbuild @@ -0,0 +1,24 @@ + + + + . + + + 0x600 + 0x501 + kernel32 + user32 + advapi32 + comctl32 + shell32 + system.c + display.c + sound.c + music.c + input.c + network.c + help.c + dxdiag.c + dxdiag.rc + precomp.h + diff --git a/reactos/base/applications/dxdiag/dxdiag.rc b/reactos/base/applications/dxdiag/dxdiag.rc new file mode 100644 index 00000000000..f82fd2375c4 --- /dev/null +++ b/reactos/base/applications/dxdiag/dxdiag.rc @@ -0,0 +1,16 @@ +#include +#include + +#include "resource.h" + +LANGUAGE LANG_NEUTRAL, SUBLANG_NEUTRAL + +#define REACTOS_VERSION_DLL +#define REACTOS_STR_FILE_DESCRIPTION "ReactX Diagnosis Tool\0" +#define REACTOS_STR_INTERNAL_NAME "dxdiag\0" +#define REACTOS_STR_ORIGINAL_FILENAME "dxdiag.exe\0" +#include + +IDI_APPICON ICON "res/dxdiag.ico" + +#include "rsrc.rc" diff --git a/reactos/base/applications/dxdiag/help.c b/reactos/base/applications/dxdiag/help.c new file mode 100644 index 00000000000..08d09f7a174 --- /dev/null +++ b/reactos/base/applications/dxdiag/help.c @@ -0,0 +1,26 @@ +/* + * PROJECT: ReactX Diagnosis Application + * LICENSE: LGPL - See COPYING in the top level directory + * FILE: base/applications/dxdiag/dxdiag.c + * PURPOSE: ReactX diagnosis help page + * COPYRIGHT: Copyright 2008 Johannes Anderwald + * + */ + +#include "precomp.h" + +INT_PTR CALLBACK +HelpPageWndProc(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam) +{ + UNREFERENCED_PARAMETER(lParam); + UNREFERENCED_PARAMETER(wParam); + switch (message) { + case WM_INITDIALOG: + { + SetWindowPos(hDlg, NULL, 10, 32, 0, 0, SWP_NOACTIVATE | SWP_NOOWNERZORDER | SWP_NOSIZE | SWP_NOZORDER); + return TRUE; + } + } + + return FALSE; +} diff --git a/reactos/base/applications/dxdiag/input.c b/reactos/base/applications/dxdiag/input.c new file mode 100644 index 00000000000..8eb5a6bfbfe --- /dev/null +++ b/reactos/base/applications/dxdiag/input.c @@ -0,0 +1,26 @@ +/* + * PROJECT: ReactX Diagnosis Application + * LICENSE: LGPL - See COPYING in the top level directory + * FILE: base/applications/dxdiag/input.c + * PURPOSE: ReactX diagnosis input page + * COPYRIGHT: Copyright 2008 Johannes Anderwald + * + */ + +#include "precomp.h" + +INT_PTR CALLBACK +InputPageWndProc(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam) +{ + UNREFERENCED_PARAMETER(lParam); + UNREFERENCED_PARAMETER(wParam); + switch (message) { + case WM_INITDIALOG: + { + SetWindowPos(hDlg, NULL, 10, 32, 0, 0, SWP_NOACTIVATE | SWP_NOOWNERZORDER | SWP_NOSIZE | SWP_NOZORDER); + return TRUE; + } + } + + return FALSE; +} diff --git a/reactos/base/applications/dxdiag/lang/de-DE.rc b/reactos/base/applications/dxdiag/lang/de-DE.rc new file mode 100644 index 00000000000..97580fc90e9 --- /dev/null +++ b/reactos/base/applications/dxdiag/lang/de-DE.rc @@ -0,0 +1,71 @@ +LANGUAGE LANG_GERMAN, SUBLANG_NEUTRAL + +IDD_MAIN_DIALOG DIALOGEX DISCARDABLE 0, 0, 378, 220 +STYLE DS_SHELLFONT | DS_CENTER | WS_MINIMIZEBOX | WS_POPUP | + WS_CLIPSIBLINGS | WS_CLIPCHILDREN | WS_CAPTION | WS_SYSMENU | + WS_THICKFRAME +CAPTION "ReactX-Diagnoseprogramm" +FONT 8, "MS Shell Dlg" +BEGIN + CONTROL "Tab1",IDC_TAB_CONTROL,"SysTabControl32",WS_TABSTOP,2,2,374,195 + PUSHBUTTON "&Hilfe", IDC_BUTTON_HELP, 2, 201, 50, 14, WS_CHILD | WS_VISIBLE | WS_TABSTOP + DEFPUSHBUTTON "&Nächste Seite", IDC_BUTTON_NEXT, 137, 201, 50, 14, WS_CHILD | WS_VISIBLE | WS_TABSTOP + PUSHBUTTON "Alle &Informationen speichern...", IDC_BUTTON_SAVE_INFO, 200, 201, 110, 14, WS_CHILD | WS_VISIBLE | WS_TABSTOP + PUSHBUTTON "&Beenden", IDC_BUTTON_EXIT, 323, 201, 50, 14, WS_CHILD | WS_VISIBLE | WS_TABSTOP +END + +IDD_SYSTEM_DIALOG DIALOGEX DISCARDABLE 0, 0, 362, 175 +STYLE DS_SHELLFONT | DS_CONTROL | WS_CHILD | WS_CLIPCHILDREN +FONT 8, "MS Shell Dlg" +BEGIN +END + +IDD_DISPLAY_DIALOG DIALOGEX DISCARDABLE 0, 0, 362, 175 +STYLE DS_SHELLFONT | DS_CONTROL | WS_CHILD | WS_CLIPCHILDREN +FONT 8, "MS Shell Dlg" +BEGIN +END + + +IDD_SOUND_DIALOG DIALOGEX DISCARDABLE 0, 0, 362, 175 +STYLE DS_SHELLFONT | DS_CONTROL | WS_CHILD | WS_CLIPCHILDREN +FONT 8, "MS Shell Dlg" +BEGIN +END + +IDD_MUSIC_DIALOG DIALOGEX DISCARDABLE 0, 0, 362, 175 +STYLE DS_SHELLFONT | DS_CONTROL | WS_CHILD | WS_CLIPCHILDREN +FONT 8, "MS Shell Dlg" +BEGIN +END + + +IDD_INPUT_DIALOG DIALOGEX DISCARDABLE 0, 0, 362, 175 +STYLE DS_SHELLFONT | DS_CONTROL | WS_CHILD | WS_CLIPCHILDREN +FONT 8, "MS Shell Dlg" +BEGIN +END + +IDD_NETWORK_DIALOG DIALOGEX DISCARDABLE 0, 0, 362, 175 +STYLE DS_SHELLFONT | DS_CONTROL | WS_CHILD | WS_CLIPCHILDREN +FONT 8, "MS Shell Dlg" +BEGIN +END + +IDD_HELP_DIALOG DIALOGEX DISCARDABLE 0, 0, 362, 175 +STYLE DS_SHELLFONT | DS_CONTROL | WS_CHILD | WS_CLIPCHILDREN +FONT 8, "MS Shell Dlg" +BEGIN +END + +STRINGTABLE DISCARDABLE +BEGIN + IDS_MAIN_DIALOG "ReactX Diagnoseprogramm" + IDS_SYSTEM_DIALOG "System" + IDS_DISPLAY_DIALOG "Anzeige" + IDS_SOUND_DIALOG "Sound" + IDS_MUSIC_DIALOG "Musik" + IDS_INPUT_DIALOG "Eingabe" + IDS_NETWORK_DIALOG "Netzwerk" + IDS_HELP_DIALOG "Hilfe" +END diff --git a/reactos/base/applications/dxdiag/lang/en-US.rc b/reactos/base/applications/dxdiag/lang/en-US.rc new file mode 100644 index 00000000000..ea3849e359b --- /dev/null +++ b/reactos/base/applications/dxdiag/lang/en-US.rc @@ -0,0 +1,71 @@ +LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US + +IDD_MAIN_DIALOG DIALOGEX DISCARDABLE 0, 0, 378, 220 +STYLE DS_SHELLFONT | DS_CENTER | WS_MINIMIZEBOX | WS_POPUP | + WS_CLIPSIBLINGS | WS_CLIPCHILDREN | WS_CAPTION | WS_SYSMENU | + WS_THICKFRAME +CAPTION "ReactX-Diagnoseprogramm" +FONT 8, "MS Shell Dlg" +BEGIN + CONTROL "Tab1",IDC_TAB_CONTROL,"SysTabControl32",WS_TABSTOP,2,2,374,195 + PUSHBUTTON "&Help", IDC_BUTTON_HELP, 2, 201, 50, 14, WS_CHILD | WS_VISIBLE | WS_TABSTOP + DEFPUSHBUTTON "&Next Page", IDC_BUTTON_NEXT, 137, 201, 50, 14, WS_CHILD | WS_VISIBLE | WS_TABSTOP + PUSHBUTTON "&Save All Information...", IDC_BUTTON_SAVE_INFO, 201, 201, 110, 14, WS_CHILD | WS_VISIBLE | WS_TABSTOP + PUSHBUTTON "&Exit", IDC_BUTTON_EXIT, 323, 201, 50, 14, WS_CHILD | WS_VISIBLE | WS_TABSTOP +END + +IDD_SYSTEM_DIALOG DIALOGEX DISCARDABLE 0, 0, 362, 175 +STYLE DS_SHELLFONT | DS_CONTROL | WS_CHILD | WS_CLIPCHILDREN +FONT 8, "MS Shell Dlg" +BEGIN +END + +IDD_DISPLAY_DIALOG DIALOGEX DISCARDABLE 0, 0, 362, 175 +STYLE DS_SHELLFONT | DS_CONTROL | WS_CHILD | WS_CLIPCHILDREN +FONT 8, "MS Shell Dlg" +BEGIN +END + + +IDD_SOUND_DIALOG DIALOGEX DISCARDABLE 0, 0, 362, 175 +STYLE DS_SHELLFONT | DS_CONTROL | WS_CHILD | WS_CLIPCHILDREN +FONT 8, "MS Shell Dlg" +BEGIN +END + +IDD_MUSIC_DIALOG DIALOGEX DISCARDABLE 0, 0, 362, 175 +STYLE DS_SHELLFONT | DS_CONTROL | WS_CHILD | WS_CLIPCHILDREN +FONT 8, "MS Shell Dlg" +BEGIN +END + + +IDD_INPUT_DIALOG DIALOGEX DISCARDABLE 0, 0, 362, 175 +STYLE DS_SHELLFONT | DS_CONTROL | WS_CHILD | WS_CLIPCHILDREN +FONT 8, "MS Shell Dlg" +BEGIN +END + +IDD_NETWORK_DIALOG DIALOGEX DISCARDABLE 0, 0, 362, 175 +STYLE DS_SHELLFONT | DS_CONTROL | WS_CHILD | WS_CLIPCHILDREN +FONT 8, "MS Shell Dlg" +BEGIN +END + +IDD_HELP_DIALOG DIALOGEX DISCARDABLE 0, 0, 362, 175 +STYLE DS_SHELLFONT | DS_CONTROL | WS_CHILD | WS_CLIPCHILDREN +FONT 8, "MS Shell Dlg" +BEGIN +END + +STRINGTABLE DISCARDABLE +BEGIN + IDS_MAIN_DIALOG "ReactX Diagnostic Tool" + IDS_SYSTEM_DIALOG "System" + IDS_DISPLAY_DIALOG "Display" + IDS_SOUND_DIALOG "Sound" + IDS_MUSIC_DIALOG "Music" + IDS_INPUT_DIALOG "Input" + IDS_NETWORK_DIALOG "Network" + IDS_HELP_DIALOG "Help" +END diff --git a/reactos/base/applications/dxdiag/music.c b/reactos/base/applications/dxdiag/music.c new file mode 100644 index 00000000000..8bf67314f9b --- /dev/null +++ b/reactos/base/applications/dxdiag/music.c @@ -0,0 +1,26 @@ +/* + * PROJECT: ReactX Diagnosis Application + * LICENSE: LGPL - See COPYING in the top level directory + * FILE: base/applications/dxdiag/music.c + * PURPOSE: ReactX diagnosis music page + * COPYRIGHT: Copyright 2008 Johannes Anderwald + * + */ + +#include "precomp.h" + +INT_PTR CALLBACK +MusicPageWndProc(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam) +{ + UNREFERENCED_PARAMETER(lParam); + UNREFERENCED_PARAMETER(wParam); + switch (message) { + case WM_INITDIALOG: + { + SetWindowPos(hDlg, NULL, 10, 32, 0, 0, SWP_NOACTIVATE | SWP_NOOWNERZORDER | SWP_NOSIZE | SWP_NOZORDER); + return TRUE; + } + } + + return FALSE; +} diff --git a/reactos/base/applications/dxdiag/network.c b/reactos/base/applications/dxdiag/network.c new file mode 100644 index 00000000000..24d5f821a3b --- /dev/null +++ b/reactos/base/applications/dxdiag/network.c @@ -0,0 +1,26 @@ +/* + * PROJECT: ReactX Diagnosis Application + * LICENSE: LGPL - See COPYING in the top level directory + * FILE: base/applications/dxdiag/dxdiag.c + * PURPOSE: ReactX diagnosis network page + * COPYRIGHT: Copyright 2008 Johannes Anderwald + * + */ + +#include "precomp.h" + +INT_PTR CALLBACK +NetworkPageWndProc(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam) +{ + UNREFERENCED_PARAMETER(lParam); + UNREFERENCED_PARAMETER(wParam); + switch (message) { + case WM_INITDIALOG: + { + SetWindowPos(hDlg, NULL, 10, 32, 0, 0, SWP_NOACTIVATE | SWP_NOOWNERZORDER | SWP_NOSIZE | SWP_NOZORDER); + return TRUE; + } + } + + return FALSE; +} diff --git a/reactos/base/applications/dxdiag/precomp.h b/reactos/base/applications/dxdiag/precomp.h new file mode 100644 index 00000000000..b71f1abbe4b --- /dev/null +++ b/reactos/base/applications/dxdiag/precomp.h @@ -0,0 +1,29 @@ +#ifndef PRECOMP_H__ +#define PRECOMP_H__ + +#include +#include + +#include "resource.h" + +typedef struct +{ + HWND hDialogs[7]; + +}DXDIAG_CONTEXT, *PDXDIAG_CONTEXT; + + +/* globals */ +extern HINSTANCE hInst; + +/* dialog wnd proc */ +INT_PTR CALLBACK SystemPageWndProc(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam); +INT_PTR CALLBACK DisplayPageWndProc(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam); +INT_PTR CALLBACK SoundPageWndProc(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam); +INT_PTR CALLBACK MusicPageWndProc(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam); +INT_PTR CALLBACK InputPageWndProc(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam); +INT_PTR CALLBACK NetworkPageWndProc(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam); +INT_PTR CALLBACK HelpPageWndProc(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam); + + +#endif diff --git a/reactos/base/applications/dxdiag/res/dxdiag.ico b/reactos/base/applications/dxdiag/res/dxdiag.ico new file mode 100644 index 0000000000000000000000000000000000000000..6ac41378e4dcdb060ba8f65500bc15c2010abee9 GIT binary patch literal 29926 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�M?9XjD|xx|@~7dB;bqMm+ap$)?3z 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 +#include "resource.h" + +LANGUAGE LANG_NEUTRAL, SUBLANG_NEUTRAL + +#include "lang/de-DE.rc" +#include "lang/en-US.rc" diff --git a/reactos/base/applications/dxdiag/sound.c b/reactos/base/applications/dxdiag/sound.c new file mode 100644 index 00000000000..83db305ce6e --- /dev/null +++ b/reactos/base/applications/dxdiag/sound.c @@ -0,0 +1,26 @@ +/* + * PROJECT: ReactX Diagnosis Application + * LICENSE: LGPL - See COPYING in the top level directory + * FILE: base/applications/dxdiag/sound.c + * PURPOSE: ReactX diagnosis sound page + * COPYRIGHT: Copyright 2008 Johannes Anderwald + * + */ + +#include "precomp.h" + +INT_PTR CALLBACK +SoundPageWndProc(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam) +{ + UNREFERENCED_PARAMETER(lParam); + UNREFERENCED_PARAMETER(wParam); + switch (message) { + case WM_INITDIALOG: + { + SetWindowPos(hDlg, NULL, 10, 32, 0, 0, SWP_NOACTIVATE | SWP_NOOWNERZORDER | SWP_NOSIZE | SWP_NOZORDER); + return TRUE; + } + } + + return FALSE; +} diff --git a/reactos/base/applications/dxdiag/system.c b/reactos/base/applications/dxdiag/system.c new file mode 100644 index 00000000000..5c2bbc0d974 --- /dev/null +++ b/reactos/base/applications/dxdiag/system.c @@ -0,0 +1,26 @@ +/* + * PROJECT: ReactX Diagnosis Application + * LICENSE: LGPL - See COPYING in the top level directory + * FILE: base/applications/dxdiag/system.c + * PURPOSE: ReactX diagnosis system page + * COPYRIGHT: Copyright 2008 Johannes Anderwald + * + */ + +#include "precomp.h" + +INT_PTR CALLBACK +SystemPageWndProc(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam) +{ + UNREFERENCED_PARAMETER(lParam); + UNREFERENCED_PARAMETER(wParam); + switch (message) { + case WM_INITDIALOG: + { + SetWindowPos(hDlg, NULL, 10, 32, 0, 0, SWP_NOACTIVATE | SWP_NOOWNERZORDER | SWP_NOSIZE | SWP_NOZORDER); + return TRUE; + } + } + + return FALSE; +}