ReactOS  0.4.14-dev-98-gb0d4763
hardware.c
Go to the documentation of this file.
1 /*
2  * PROJECT: ReactOS System Control Panel Applet
3  * LICENSE: GPL - See COPYING in the top level directory
4  * FILE: dll/cpl/sysdm/hardware.c
5  * PURPOSE: Hardware devices
6  * COPYRIGHT: Copyright Thomas Weidenmueller <w3seek@reactos.org>
7  * Copyright 2006 Ged Murphy <gedmurphy@gmail.com>
8  *
9  */
10 
11 #include "precomp.h"
12 
14 
15 static BOOL
17 {
18 /* Hack for ROS to start our devmgmt until we have MMC */
19 #ifdef __REACTOS__
20  return ((INT_PTR)ShellExecuteW(NULL, L"open", L"devmgmt.exe", NULL, NULL, SW_SHOWNORMAL) > 32);
21 #else
22  HMODULE hDll;
23  PDEVMGREXEC DevMgrExec;
24  BOOL Ret;
25 
26  hDll = LoadLibrary(_TEXT("devmgr.dll"));
27  if(!hDll)
28  return FALSE;
29 
30  DevMgrExec = (PDEVMGREXEC)GetProcAddress(hDll, "DeviceManager_ExecuteW");
31  if(!DevMgrExec)
32  {
33  FreeLibrary(hDll);
34  return FALSE;
35  }
36 
37  /* Run the Device Manager */
38  Ret = DevMgrExec(hWndParent, hApplet, NULL /* ??? */, SW_SHOW);
39  FreeLibrary(hDll);
40  return Ret;
41 #endif /* __REACTOS__ */
42 }
43 
44 static VOID
46 {
47  SHELLEXECUTEINFO shInputDll;
48 
49  memset(&shInputDll, 0x0, sizeof(SHELLEXECUTEINFO));
50 
51  shInputDll.cbSize = sizeof(shInputDll);
52  shInputDll.hwnd = hWndParent;
53  shInputDll.lpVerb = _T("open");
54  shInputDll.lpFile = _T("rundll32.exe");
55  shInputDll.lpParameters = _T("shell32.dll,Control_RunDLL hdwwiz.cpl");
56 
57  if (ShellExecuteEx(&shInputDll) == 0)
58  {
60  _T("Can't start hdwwiz.cpl"),
61  NULL,
63  }
64 }
65 
66 /* Property page dialog callback */
69  UINT uMsg,
70  WPARAM wParam,
71  LPARAM lParam)
72 {
74 
75  switch (uMsg)
76  {
77  case WM_INITDIALOG:
78  break;
79 
80  case WM_COMMAND:
81  switch (LOWORD(wParam))
82  {
84  if (!LaunchDeviceManager(hwndDlg))
85  {
86  /* FIXME */
87  }
88  return TRUE;
89 
91  LaunchHardwareWizard(hwndDlg);
92  return TRUE;
93 
97  hwndDlg,
99  return TRUE;
100  }
101  break;
102  }
103 
104  return FALSE;
105 }
#define ShellExecuteEx
Definition: shellapi.h:690
#define MAKEINTRESOURCE
Definition: winuser.h:591
#define TRUE
Definition: types.h:120
static VOID LaunchHardwareWizard(HWND hWndParent)
Definition: hardware.c:45
#define LoadLibrary
Definition: winbase.h:3686
GLint x0
Definition: linetemp.h:95
#define UNREFERENCED_PARAMETER(P)
Definition: ntbasedef.h:323
#define CALLBACK
Definition: compat.h:27
HINSTANCE hApplet
Definition: access.c:17
UINT_PTR WPARAM
Definition: windef.h:207
int32_t INT_PTR
Definition: typedefs.h:62
#define BOOL
Definition: nt_native.h:43
WPARAM wParam
Definition: combotst.c:138
#define DialogBox
Definition: winuser.h:5662
unsigned int BOOL
Definition: ntddk_ex.h:94
#define IDC_HARDWARE_DEVICE_MANAGER
Definition: resource.h:84
smooth NULL
Definition: ftsmooth.c:416
#define IDC_HARDWARE_WIZARD
Definition: resource.h:81
LONG_PTR LPARAM
Definition: windef.h:208
#define _TEXT(x)
Definition: tchar.h:1543
#define SW_SHOW
Definition: winuser.h:769
BOOL(WINAPI * PDEVMGREXEC)(HWND hWndParent, HINSTANCE hInst, PVOID Unknown, int nCmdShow)
Definition: hardware.c:13
#define _T(x)
Definition: vfdio.h:22
#define FreeLibrary(x)
Definition: compat.h:405
LPCSTR lpParameters
Definition: shellapi.h:314
#define WINAPI
Definition: msvc.h:8
static const WCHAR L[]
Definition: oid.c:1250
#define MB_ICONERROR
Definition: winuser.h:781
#define MessageBox
Definition: winuser.h:5723
#define WM_COMMAND
Definition: winuser.h:1722
INT_PTR CALLBACK HardProfDlgProc(HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM lParam)
Definition: hardprof.c:735
#define IDC_HARDWARE_PROFILE
Definition: resource.h:82
#define SW_SHOWNORMAL
Definition: winuser.h:764
HINSTANCE hInst
Definition: dxdiag.c:13
unsigned int UINT
Definition: ndis.h:50
#define MB_OK
Definition: winuser.h:784
#define IDD_HARDWAREPROFILES
Definition: resource.h:172
HINSTANCE WINAPI ShellExecuteW(HWND hwnd, LPCWSTR lpVerb, LPCWSTR lpFile, LPCWSTR lpParameters, LPCWSTR lpDirectory, INT nShowCmd)
Definition: shlexec.cpp:2208
INT_PTR CALLBACK HardwarePageProc(HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM lParam)
Definition: hardware.c:68
#define GetProcAddress(x, y)
Definition: compat.h:410
static BOOL LaunchDeviceManager(HWND hWndParent)
Definition: hardware.c:16
#define memset(x, y, z)
Definition: compat.h:39
#define WM_INITDIALOG
Definition: winuser.h:1721
LPARAM lParam
Definition: combotst.c:139
#define LOWORD(l)
Definition: pedump.c:82