[DEVMGMT]

The new device manager will be located in devmgr.dll

svn path=/trunk/; revision=68163
This commit is contained in:
Ged Murphy 2015-06-16 12:22:14 +00:00
parent a68dd56665
commit 5e1ecf69f1
49 changed files with 18 additions and 4654 deletions

View file

@ -0,0 +1,8 @@
list(APPEND SOURCE
devmgmt.cpp)
add_executable(devmgmt ${SOURCE} devmgmt.rc)
set_module_type(devmgmt win32gui UNICODE)
add_importlibs(devmgmt setupapi gdi32 user32 comctl32 advapi32 devmgr msvcrt kernel32)
add_cd_file(TARGET devmgmt DESTINATION reactos/system32 FOR all)

View file

@ -1,686 +0,0 @@
/*
* PROJECT: ReactOS Device Manager
* LICENSE: GPL - See COPYING in the top level directory
* FILE: base/applications/mscutils/devmgmt/deviceview.cpp
* PURPOSE: Implements the tree view which holds the devices
* COPYRIGHT: Copyright 2014 Ged Murphy <gedmurphy@gmail.com>
*
*/
#include "stdafx.h"
#include "devmgmt.h"
#include "DeviceView.h"
/* DATA *********************************************/
#define DEVICE_NAME_LEN 256
#define CLASS_NAME_LEN 256
#define CLASS_DESC_LEN 256
INT_PTR
WINAPI
DevicePropertiesExW(
IN HWND hWndParent OPTIONAL,
IN LPCWSTR lpMachineName OPTIONAL,
IN LPCWSTR lpDeviceID OPTIONAL,
IN DWORD dwFlags OPTIONAL,
IN BOOL bShowDevMgr
);
typedef INT_PTR(WINAPI *pDevicePropertiesExW)(HWND,LPCWSTR,LPCWSTR,DWORD,BOOL);
/* PUBLIC METHODS *************************************/
CDeviceView::CDeviceView(
HWND hMainWnd,
ListDevices List
) :
m_Devices(NULL),
m_hMainWnd(hMainWnd),
m_hTreeView(NULL),
m_hPropertyDialog(NULL),
m_hShortcutMenu(NULL),
m_ListDevices(List),
m_ShowHidden(FALSE)
{
m_Devices = new CDevices();
}
CDeviceView::~CDeviceView(void)
{
delete m_Devices;
m_Devices = NULL;
DestroyMenu(m_hShortcutMenu);
}
BOOL
CDeviceView::Initialize()
{
BOOL bSuccess;
/* Initialize the devices class */
bSuccess = m_Devices->Initialize();
if (bSuccess == FALSE) return FALSE;
/* Create Popup Menu */
m_hShortcutMenu = LoadMenu(g_hInstance,
MAKEINTRESOURCE(IDR_POPUP));
m_hShortcutMenu = GetSubMenu(m_hShortcutMenu,
0);
SetMenuDefaultItem(m_hShortcutMenu, IDC_PROP, FALSE);
/* Create the main treeview */
m_hTreeView = CreateWindowExW(WS_EX_CLIENTEDGE,
WC_TREEVIEW,
NULL,
WS_CHILD | WS_VISIBLE | WS_BORDER | TVS_HASLINES |
TVS_HASBUTTONS | TVS_SHOWSELALWAYS | TVS_LINESATROOT,
0, 0, 0, 0,
m_hMainWnd,
(HMENU)IDC_TREEVIEW,
g_hInstance,
NULL);
if (m_hTreeView)
{
/* Get the devices image list */
m_ImageList = m_Devices->GetImageList();
/* Set the image list against the treeview */
(VOID)TreeView_SetImageList(m_hTreeView,
m_ImageList,
TVSIL_NORMAL);
/* Give the treeview arrows instead of +/- boxes (on Win7) */
SetWindowTheme(m_hTreeView, L"explorer", NULL);
}
return !!(m_hTreeView);
}
BOOL
CDeviceView::Uninitialize()
{
EmptyDeviceView();
(VOID)m_Devices->Uninitialize();
return TRUE;
}
BOOL CDeviceView::HasChildItem(
_In_ HTREEITEM Item)
{
return (TreeView_GetChild(m_hTreeView, Item) != NULL);
}
BOOL CDeviceView::IsRootItem(
_In_ HTREEITEM Item)
{
return (TreeView_GetRoot(m_hTreeView) == Item);
}
BOOL CDeviceView::IsRootItemSelected()
{
return (TreeView_GetRoot(m_hTreeView) == TreeView_GetSelection(m_hTreeView));
}
VOID CDeviceView::EnableContextMenuItem(
_In_ UINT Id,
_In_ UINT Enabled)
{
EnableMenuItem(m_hShortcutMenu, Id, Enabled);
}
VOID
CDeviceView::ShowContextMenu(
_In_ INT xPos,
_In_ INT yPos)
{
HTREEITEM hSelected;
POINT pt;
RECT rc;
hSelected = TreeView_GetSelection(m_hTreeView);
if (TreeView_GetItemRect(m_hTreeView,
hSelected,
&rc,
TRUE))
{
if (GetCursorPos(&pt) &&
ScreenToClient(m_hTreeView, &pt) &&
PtInRect(&rc, pt))
{
TrackPopupMenuEx(m_hShortcutMenu,
TPM_RIGHTBUTTON,
xPos,
yPos,
m_hMainWnd,
NULL);
}
}
}
VOID
CDeviceView::Size(
_In_ INT x,
_In_ INT y,
_In_ INT cx,
_In_ INT cy
)
{
/* Resize the treeview */
SetWindowPos(m_hTreeView,
NULL,
x,
y,
cx,
cy,
SWP_NOZORDER);
}
VOID
CDeviceView::Refresh()
{
HANDLE hThread;
/* Run on a new thread to keep the gui responsive */
hThread = (HANDLE)_beginthreadex(NULL,
0,
&ListDevicesThread,
this,
0,
NULL);
if (hThread) CloseHandle(hThread);
}
VOID
CDeviceView::DisplayPropertySheet()
{
#ifndef __REACTOS__
pDevicePropertiesExW DevicePropertiesExW;
HMODULE hModule;
hModule = LoadLibraryW(L"devmgr.dll");
if (hModule == NULL) return;
DevicePropertiesExW = (pDevicePropertiesExW)GetProcAddress(hModule,
"DevicePropertiesExW");
if (DevicePropertiesExW == NULL)
{
FreeLibrary(hModule);
return;
}
#endif
TV_ITEM tvItem;
tvItem.hItem = TreeView_GetSelection(m_hTreeView);
tvItem.mask = TVIF_PARAM;
if (TreeView_GetItem(m_hTreeView, &tvItem) &&
(LPTSTR)tvItem.lParam != NULL)
{
DevicePropertiesExW(m_hTreeView,
NULL,
(LPTSTR)tvItem.lParam,
1,//DPF_EXTENDED,
FALSE);
}
#ifndef __REACTOS__
FreeLibrary(hModule);
#endif
}
VOID
CDeviceView::SetFocus()
{
}
/* PRIVATE METHODS ********************************************/
unsigned int __stdcall CDeviceView::ListDevicesThread(void *Param)
{
CDeviceView *This = (CDeviceView *)Param;
/* Clear any existing data */
This->EmptyDeviceView();
/* Reset the tree root */
This->m_hTreeRoot = NULL;
switch (This->m_ListDevices)
{
case DevicesByType:
(VOID)This->ListDevicesByType();
break;
case DevicesByConnection:
(VOID)This->ListDevicesByConnection();
break;
case ResourcesByType:
break;
case ResourcesByConnection:
break;
}
return 0;
}
BOOL
CDeviceView::ListDevicesByType()
{
HTREEITEM hDevItem = NULL;
GUID ClassGuid;
WCHAR ClassName[CLASS_NAME_LEN];
WCHAR ClassDescription[CLASS_DESC_LEN];
INT ClassIndex;
INT ClassImage;
LPTSTR DeviceId = NULL;
BOOL bSuccess;
/* Get the details of the root of the device tree */
bSuccess = m_Devices->GetDeviceTreeRoot(ClassName, CLASS_NAME_LEN, &ClassImage);
if (bSuccess)
{
/* Add the root of the device tree to the treeview */
m_hTreeRoot = InsertIntoTreeView(NULL,
ClassName,
NULL,
ClassImage,
0);
}
/* If something went wrong, bail */
if (m_hTreeRoot == NULL) return FALSE;
ClassIndex = 0;
do
{
/* Get the next device class */
bSuccess = m_Devices->EnumClasses(ClassIndex,
&ClassGuid,
ClassName,
CLASS_NAME_LEN,
ClassDescription,
CLASS_DESC_LEN,
&ClassImage);
if (bSuccess)
{
BOOL bDevSuccess, AddedParent;
HANDLE Handle = NULL;
WCHAR DeviceName[DEVICE_NAME_LEN];
INT DeviceIndex = 0;
BOOL MoreItems = FALSE;
BOOL DeviceHasProblem = FALSE;
ULONG DeviceStatus = 0;
ULONG ProblemNumber = 0;
ULONG OverlayImage = 0;
AddedParent = FALSE;
do
{
/* Enum all the devices that belong to this class */
bDevSuccess = m_Devices->EnumDevicesForClass(&Handle,
&ClassGuid,
DeviceIndex,
&MoreItems,
DeviceName,
DEVICE_NAME_LEN,
&DeviceId,
&DeviceStatus,
&ProblemNumber);
if (bDevSuccess)
{
/* Check if this is a hidden device */
if (DeviceStatus & DN_NO_SHOW_IN_DM)
{
if (m_ShowHidden == FALSE)
{
DeviceIndex++;
continue;
}
}
/* Check if the device has a problem */
if (DeviceStatus & DN_HAS_PROBLEM)
{
DeviceHasProblem = TRUE;
OverlayImage = 1;
}
/* The disabled overlay takes precidence over the problem overlay */
if (ProblemNumber == CM_PROB_HARDWARE_DISABLED)
{
OverlayImage = 2;
}
/* We have a device, we're gonna need to add the parent first */
if (AddedParent == FALSE)
{
/* Insert the new class under the root item */
hDevItem = InsertIntoTreeView(m_hTreeRoot,
ClassDescription,
NULL,
ClassImage,
0);
/* Don't add it again */
AddedParent = TRUE;
}
/* Add the device under the class item */
(VOID)InsertIntoTreeView(hDevItem,
DeviceName,
(LPARAM)DeviceId,
ClassImage,
OverlayImage);
/* Check if there's a problem with the device */
if (DeviceHasProblem)
{
/* Expand the class */
(VOID)TreeView_Expand(m_hTreeView,
hDevItem,
TVE_EXPAND);
}
}
DeviceIndex++;
} while (MoreItems);
/* Check if this class has any devices */
if (AddedParent == TRUE)
{
/* Sort the devices alphabetically */
(VOID)TreeView_SortChildren(m_hTreeView,
hDevItem,
0);
}
}
ClassIndex++;
} while (bSuccess);
/* Sort the classes alphabetically */
(VOID)TreeView_SortChildren(m_hTreeView,
m_hTreeRoot,
0);
/* Expand the root item */
(VOID)TreeView_Expand(m_hTreeView,
m_hTreeRoot,
TVE_EXPAND);
/* Pre-select the root item */
(VOID)TreeView_SelectItem(m_hTreeView,
m_hTreeRoot);
return 0;
}
BOOL
CDeviceView::ListDevicesByConnection()
{
WCHAR DeviceName[DEVICE_NAME_LEN];
INT ClassImage;
BOOL bSuccess;
/* Get the details of the root of the device tree */
bSuccess = m_Devices->GetDeviceTreeRoot(DeviceName, DEVICE_NAME_LEN, &ClassImage);
if (bSuccess)
{
/* Add the root of the device tree to the treeview */
m_hTreeRoot = InsertIntoTreeView(NULL,
DeviceName,
NULL,
ClassImage,
0);
}
/* Walk the device tree and add all the devices */
RecurseChildDevices(m_Devices->GetRootDevice(), m_hTreeRoot);
/* Expand the root item */
(VOID)TreeView_Expand(m_hTreeView,
m_hTreeRoot,
TVE_EXPAND);
return TRUE;
}
VOID
CDeviceView::RecurseChildDevices(
_In_ DEVINST ParentDevice,
_In_ HTREEITEM hParentTreeItem
)
{
HTREEITEM hDevItem = NULL;
DEVINST Device;
WCHAR DeviceName[DEVICE_NAME_LEN];
LPTSTR DeviceId = NULL;
INT ClassImage;
BOOL IsUnknown = FALSE;
BOOL IsHidden = FALSE;
ULONG DeviceStatus = 0;
ULONG ProblemNumber = 0;
UINT OverlayImage = 0;
BOOL bSuccess;
/* Check if the parent has any child devices */
if (m_Devices->GetChildDevice(ParentDevice, &Device) == FALSE)
return;
/* Lookup the info about this device */
bSuccess = m_Devices->GetDevice(Device,
DeviceName,
DEVICE_NAME_LEN,
&DeviceId,
&ClassImage,
&DeviceStatus,
&ProblemNumber);
if (bSuccess)
{
/* Check if this is a hidden device */
if ((m_ShowHidden == TRUE) || (!(DeviceStatus & DN_NO_SHOW_IN_DM)))
{
/* Check if the device has a problem */
if (DeviceStatus & DN_HAS_PROBLEM)
{
OverlayImage = 1;
}
/* The disabled overlay takes precidence over the problem overlay */
if (ProblemNumber == CM_PROB_HARDWARE_DISABLED)
{
OverlayImage = 2;
}
/* Add this device to the tree under its parent */
hDevItem = InsertIntoTreeView(hParentTreeItem,
DeviceName,
(LPARAM)DeviceId,
ClassImage,
0);
if (hDevItem)
{
/* Check if this child has any children itself */
RecurseChildDevices(Device, hDevItem);
}
}
}
for (;;)
{
/* Check if the parent device has anything at the same level */
bSuccess = m_Devices->GetSiblingDevice(Device, &Device);
if (bSuccess == FALSE) break;
/* Lookup the info about this device */
bSuccess = m_Devices->GetDevice(Device,
DeviceName,
DEVICE_NAME_LEN,
&DeviceId,
&ClassImage,
&DeviceStatus,
&ProblemNumber);
if (bSuccess)
{
/* Check if this is a hidden device */
if (DeviceStatus & DN_NO_SHOW_IN_DM)
{
if (m_ShowHidden == FALSE)
continue;
}
/* Check if the device has a problem */
if (DeviceStatus & DN_HAS_PROBLEM)
{
OverlayImage = 1;
}
/* The disabled overlay takes precidence over the problem overlay */
if (ProblemNumber == CM_PROB_HARDWARE_DISABLED)
{
OverlayImage = 2;
}
/* Add this device to the tree under its parent */
hDevItem = InsertIntoTreeView(hParentTreeItem,
DeviceName,
(LPARAM)DeviceId,
ClassImage,
0);
if (hDevItem)
{
/* Check if this child has any children itself */
RecurseChildDevices(Device, hDevItem);
}
}
}
(void)TreeView_SortChildren(m_hTreeView,
hParentTreeItem,
0);
}
HTREEITEM
CDeviceView::InsertIntoTreeView(
_In_ HTREEITEM hParent,
_In_z_ LPWSTR lpLabel,
_In_ LPARAM lParam,
_In_ INT DevImage,
_In_ UINT OverlayImage
)
{
TV_ITEMW tvi;
TV_INSERTSTRUCT tvins;
ZeroMemory(&tvi, sizeof(tvi));
ZeroMemory(&tvins, sizeof(tvins));
tvi.mask = TVIF_TEXT | TVIF_PARAM | TVIF_IMAGE | TVIF_SELECTEDIMAGE;
tvi.pszText = lpLabel;
tvi.cchTextMax = wcslen(lpLabel);
tvi.lParam = lParam;
tvi.iImage = DevImage;
tvi.iSelectedImage = DevImage;
if (OverlayImage != 0)
{
tvi.mask |= TVIF_STATE;
tvi.stateMask = TVIS_OVERLAYMASK;
tvi.state = INDEXTOOVERLAYMASK(OverlayImage);
}
tvins.item = tvi;
tvins.hParent = hParent;
return TreeView_InsertItem(m_hTreeView, &tvins);
}
VOID
CDeviceView::RecurseDeviceView(
_In_ HTREEITEM hParentItem
)
{
HTREEITEM hItem;
TVITEMW tvItem;
/* Check if this node has any children */
hItem = TreeView_GetChild(m_hTreeView, hParentItem);
if (hItem == NULL) return;
/* The lParam contains the device id */
tvItem.hItem = hItem;
tvItem.mask = TVIF_PARAM;
/* Get the item data */
if (TreeView_GetItem(m_hTreeView, &tvItem) &&
tvItem.lParam != NULL)
{
/* Free the device id */
HeapFree(GetProcessHeap(), 0, (LPVOID)tvItem.lParam);
}
/* This node may have its own children */
RecurseDeviceView(hItem);
for (;;)
{
/* Get the next item at this level */
hItem = TreeView_GetNextSibling(m_hTreeView, hItem);
if (hItem == NULL) break;
/* The lParam contains the device id */
tvItem.hItem = hItem;
tvItem.mask = TVIF_PARAM;
/* Get the item data and free the device id */
if (TreeView_GetItem(m_hTreeView, &tvItem))
{
if (tvItem.lParam != NULL)
HeapFree(GetProcessHeap(), 0, (LPVOID)tvItem.lParam);
}
/* This node may have its own children */
RecurseDeviceView(hItem);
}
}
VOID
CDeviceView::EmptyDeviceView()
{
HTREEITEM hItem;
/* Check if there are any items in the tree */
hItem = TreeView_GetRoot(m_hTreeView);
if (hItem == NULL) return;
/* Free all the Device Ids */
RecurseDeviceView(hItem);
/* Delete all the items */
(VOID)TreeView_DeleteAllItems(m_hTreeView);
}

View file

@ -1,113 +0,0 @@
#pragma once
#include "Devices.h"
enum ListDevices
{
DevicesByType,
DevicesByConnection,
ResourcesByType,
ResourcesByConnection
};
class CDeviceView : public CDevices
{
CDevices *m_Devices;
HWND m_hMainWnd;
HWND m_hTreeView;
HWND m_hPropertyDialog;
HMENU m_hShortcutMenu;
ListDevices m_ListDevices;
HIMAGELIST m_ImageList;
HTREEITEM m_hTreeRoot;
BOOL m_ShowHidden;
public:
CDeviceView(
HWND hMainWnd,
ListDevices List
);
~CDeviceView(void);
BOOL Initialize();
BOOL Uninitialize();
VOID EnableContextMenuItem(
_In_ UINT Id,
_In_ UINT Enabled
);
VOID ShowContextMenu(
_In_ INT xPos,
_In_ INT yPos
);
VOID Size(
_In_ INT x,
_In_ INT y,
_In_ INT cx,
_In_ INT cy
);
VOID Refresh();
VOID DisplayPropertySheet();
VOID SetFocus();
BOOL IsRootItemSelected();
BOOL IsRootItem(
_In_ HTREEITEM Item
);
BOOL HasChildItem(
_In_ HTREEITEM Item
);
VOID SetDeviceListType(ListDevices List)
{
m_ListDevices = List;
}
ListDevices GetDeviceListType()
{
return m_ListDevices;
}
VOID ShowHiddenDevices(_In_ BOOL ShowHidden)
{
m_ShowHidden = ShowHidden;
}
private:
static unsigned int __stdcall ListDevicesThread(
void *Param
);
BOOL ListDevicesByConnection(
);
BOOL ListDevicesByType(
);
VOID RecurseChildDevices(
_In_ DEVINST ParentDevice,
_In_ HTREEITEM hParentTreeItem
);
HTREEITEM InsertIntoTreeView(
_In_ HTREEITEM hParent,
_In_z_ LPWSTR lpLabel,
_In_ LPARAM lParam,
_In_ INT DevImage,
_In_ UINT OverlayImage
);
VOID RecurseDeviceView(
_In_ HTREEITEM hParentItem
);
VOID EmptyDeviceView(
);
};

View file

@ -1,622 +0,0 @@
/*
* PROJECT: ReactOS Device Manager
* LICENSE: GPL - See COPYING in the top level directory
* FILE: base/applications/mscutils/devmgmt/devices.cpp
* PURPOSE: Wrapper around setupapi functions
* COPYRIGHT: Copyright 2014 Ged Murphy <gedmurphy@gmail.com>
*
*/
#include "stdafx.h"
#include "devmgmt.h"
#include "Devices.h"
/* PUBLIC METHODS *****************************************/
CDevices::CDevices(void) :
m_bInitialized(FALSE),
m_RootImageIndex(-1)
{
ZeroMemory(&m_ImageListData, sizeof(SP_CLASSIMAGELIST_DATA));
m_RootName[0] = UNICODE_NULL;
}
CDevices::~CDevices(void)
{
ATLASSERT(m_bInitialized == FALSE);
}
BOOL
CDevices::Initialize()
{
BOOL bSuccess;
ATLASSERT(m_bInitialized == FALSE);
/* Get the device image list */
m_ImageListData.cbSize = sizeof(SP_CLASSIMAGELIST_DATA);
bSuccess = SetupDiGetClassImageList(&m_ImageListData);
if (bSuccess == FALSE) return FALSE;
bSuccess = CreateRootDevice();
if (bSuccess) m_bInitialized = TRUE;
return m_bInitialized;
}
BOOL
CDevices::Uninitialize()
{
if (m_ImageListData.ImageList != NULL)
{
SetupDiDestroyClassImageList(&m_ImageListData);
ZeroMemory(&m_ImageListData, sizeof(SP_CLASSIMAGELIST_DATA));
}
m_bInitialized = FALSE;
return TRUE;
}
BOOL
CDevices::GetDeviceTreeRoot(
_Out_ LPWSTR RootName,
_In_ DWORD RootNameSize,
_Out_ PINT RootImageIndex
)
{
wcscpy_s(RootName, RootNameSize, m_RootName);
*RootImageIndex = m_RootImageIndex;
return TRUE;
}
BOOL
CDevices::GetChildDevice(
_In_ DEVINST ParentDevInst,
_Out_ PDEVINST DevInst
)
{
CONFIGRET cr;
cr = CM_Get_Child(DevInst,
ParentDevInst,
0);
return (cr == CR_SUCCESS);
}
BOOL
CDevices::GetSiblingDevice(
_In_ DEVINST PrevDevice,
_Out_ PDEVINST DevInst
)
{
CONFIGRET cr;
cr = CM_Get_Sibling(DevInst,
PrevDevice,
0);
return (cr == CR_SUCCESS);
}
BOOL
CDevices::GetDeviceStatus(
_In_ LPWSTR DeviceId,
_Out_ PULONG Status,
_Out_ PULONG ProblemNumber
)
{
DEVINST DeviceInstance;
CONFIGRET cr;
*Status = 0;
*ProblemNumber = 0;
/* Use the device id string to lookup the instance */
cr = CM_Locate_DevNodeW(&DeviceInstance,
DeviceId,
CM_LOCATE_DEVNODE_NORMAL);
if (cr == CR_SUCCESS)
{
/* Get the status of this device */
cr = CM_Get_DevNode_Status_Ex(Status,
ProblemNumber,
DeviceInstance,
0,
NULL);
}
return (cr == CR_SUCCESS) ? TRUE : FALSE;
}
BOOL
CDevices::GetDevice(
_In_ DEVINST Device,
_Out_writes_(DeviceNameSize) LPWSTR DeviceName,
_In_ DWORD DeviceNameSize,
_Outptr_ LPWSTR *DeviceId,
_Out_ PINT ClassImage,
_Out_ PULONG Status,
_Out_ PULONG ProblemNumber
)
{
WCHAR ClassGuidString[MAX_GUID_STRING_LEN];
GUID ClassGuid;
ULONG ulLength;
CONFIGRET cr;
BOOL bSuccess;
*DeviceId = NULL;
/* Get the length of the device id string */
cr = CM_Get_Device_ID_Size(&ulLength, Device, 0);
if (cr == CR_SUCCESS)
{
/* We alloc heap here because this will be stored in the lParam of the TV */
*DeviceId = (LPWSTR)HeapAlloc(GetProcessHeap(),
0,
(ulLength + 1) * sizeof(WCHAR));
if (*DeviceId)
{
/* Now get the actual device id */
cr = CM_Get_Device_IDW(Device,
*DeviceId,
ulLength + 1,
0);
if (cr != CR_SUCCESS)
{
HeapFree(GetProcessHeap(), 0, *DeviceId);
*DeviceId = NULL;
}
}
}
/* Make sure we got the string */
if (*DeviceId == NULL)
return FALSE;
/* Get the current status of the device */
bSuccess = GetDeviceStatus(*DeviceId, Status, ProblemNumber);
if (bSuccess == FALSE)
{
HeapFree(GetProcessHeap(), 0, *DeviceId);
*DeviceId = NULL;
return FALSE;
}
/* Get the class guid for this device */
ulLength = MAX_GUID_STRING_LEN * sizeof(WCHAR);
cr = CM_Get_DevNode_Registry_PropertyW(Device,
CM_DRP_CLASSGUID,
NULL,
ClassGuidString,
&ulLength,
0);
if (cr == CR_SUCCESS)
{
/* Convert the string to a proper guid */
CLSIDFromString(ClassGuidString, &ClassGuid);
}
else
{
/* It's a device with no driver */
ClassGuid = GUID_DEVCLASS_UNKNOWN;
}
/* Get the image for the class this device is in */
SetupDiGetClassImageIndex(&m_ImageListData,
&ClassGuid,
ClassImage);
/* Get the description for the device */
ulLength = DeviceNameSize * sizeof(WCHAR);
cr = CM_Get_DevNode_Registry_PropertyW(Device,
CM_DRP_FRIENDLYNAME,
NULL,
DeviceName,
&ulLength,
0);
if (cr != CR_SUCCESS)
{
ulLength = DeviceNameSize * sizeof(WCHAR);
cr = CM_Get_DevNode_Registry_PropertyW(Device,
CM_DRP_DEVICEDESC,
NULL,
DeviceName,
&ulLength,
0);
}
/* Cleanup if something failed */
if (cr != CR_SUCCESS)
{
HeapFree(GetProcessHeap(), 0, *DeviceId);
*DeviceId = NULL;
}
return (cr == CR_SUCCESS ? TRUE : FALSE);
}
BOOL
CDevices::EnumClasses(
_In_ ULONG ClassIndex,
_Out_writes_bytes_(sizeof(GUID)) LPGUID ClassGuid,
_Out_writes_(ClassNameSize) LPWSTR ClassName,
_In_ DWORD ClassNameSize,
_Out_writes_(ClassDescSize) LPWSTR ClassDesc,
_In_ DWORD ClassDescSize,
_Out_ PINT ClassImage
)
{
DWORD RequiredSize, Type, Size;
CONFIGRET cr;
DWORD Success;
HKEY hKey;
ClassName[0] = UNICODE_NULL;
ClassDesc[0] = UNICODE_NULL;
*ClassImage = -1;
/* Get the next class in the list */
cr = CM_Enumerate_Classes(ClassIndex,
ClassGuid,
0);
if (cr != CR_SUCCESS) return FALSE;
/* Get the name of the device class */
RequiredSize = MAX_CLASS_NAME_LEN;
(VOID)SetupDiClassNameFromGuidW(ClassGuid,
ClassName,
RequiredSize,
&RequiredSize);
/* Open the registry key for this class */
hKey = SetupDiOpenClassRegKeyExW(ClassGuid,
MAXIMUM_ALLOWED,
DIOCR_INSTALLER,
NULL,
0);
if (hKey != INVALID_HANDLE_VALUE)
{
Size = ClassDescSize;
Type = REG_SZ;
/* Lookup the class description (win7+) */
Success = RegQueryValueExW(hKey,
L"ClassDesc",
NULL,
&Type,
(LPBYTE)ClassDesc,
&Size);
if (Success == ERROR_SUCCESS)
{
/* Check if the string starts with an @ */
if (ClassDesc[0] == L'@')
{
/* The description is located in a module resource */
Success = ConvertResourceDescriptorToString(ClassDesc, ClassDescSize);
}
}
else if (Success == ERROR_FILE_NOT_FOUND)
{
/* WinXP stores the description in the default value */
Success = RegQueryValueExW(hKey,
NULL,
NULL,
&Type,
(LPBYTE)ClassDesc,
&Size);
}
/* Close the registry key */
RegCloseKey(hKey);
}
else
{
Success = GetLastError();
}
/* Check if we failed to get the class description */
if (Success != ERROR_SUCCESS)
{
/* Use the class name as the description */
wcscpy_s(ClassDesc, ClassDescSize, ClassName);
}
/* Get the image index for this class */
(VOID)SetupDiGetClassImageIndex(&m_ImageListData,
ClassGuid,
ClassImage);
return TRUE;
}
BOOL
CDevices::EnumDevicesForClass(
_Inout_opt_ LPHANDLE DeviceHandle,
_In_ LPCGUID ClassGuid,
_In_ DWORD Index,
_Out_ LPBOOL MoreItems,
_Out_ LPTSTR DeviceName,
_In_ DWORD DeviceNameSize,
_Outptr_ LPTSTR *DeviceId,
_Out_ PULONG Status,
_Out_ PULONG ProblemNumber
)
{
SP_DEVINFO_DATA DeviceInfoData;
DWORD DevIdSize;
HDEVINFO hDevInfo;
BOOL bUnknown, bSuccess;
*MoreItems = FALSE;
*DeviceName = NULL;
*DeviceId = NULL;
bUnknown = FALSE;
/* The unknown class is a special case */
if (IsEqualGUID(*ClassGuid, GUID_DEVCLASS_UNKNOWN))
bUnknown = TRUE;
/* Check if this is the first call for this class */
if (*DeviceHandle == NULL)
{
ATLASSERT(Index == 0);
/* Check for the special case */
if (bUnknown == TRUE)
{
/* Get device info for all devices for all classes */
hDevInfo = SetupDiGetClassDevsW(NULL,
NULL,
NULL,
DIGCF_ALLCLASSES);
if (hDevInfo == INVALID_HANDLE_VALUE)
return FALSE;
}
else
{
/* We only want the devices for this class */
hDevInfo = SetupDiGetClassDevsW(ClassGuid,
NULL,
NULL,
DIGCF_PRESENT);
if (hDevInfo == INVALID_HANDLE_VALUE)
return FALSE;
}
/* Store the handle for the next call */
*DeviceHandle = (HANDLE)hDevInfo;
}
else
{
hDevInfo = (HDEVINFO)*DeviceHandle;
}
/* Get the device info for this device in the class */
ZeroMemory(&DeviceInfoData, sizeof(SP_DEVINFO_DATA));
DeviceInfoData.cbSize = sizeof(SP_DEVINFO_DATA);
bSuccess = SetupDiEnumDeviceInfo(hDevInfo,
Index,
&DeviceInfoData);
if (bSuccess == FALSE) goto Quit;
/* We found a device, let the caller know they might be more */
*MoreItems = TRUE;
/* Check if this is the unknown class */
if (bUnknown)
{
/* We're looking for devices without guids */
if (IsEqualGUID(DeviceInfoData.ClassGuid, GUID_NULL) == FALSE)
{
/* This is a known device, we aren't interested in it */
return FALSE;
}
}
/* Get the size required to hold the device id */
bSuccess = SetupDiGetDeviceInstanceIdW(hDevInfo,
&DeviceInfoData,
NULL,
0,
&DevIdSize);
if (bSuccess == FALSE && (GetLastError() != ERROR_INSUFFICIENT_BUFFER))
goto Quit;
/* Allocate some heap to hold the device string */
*DeviceId = (LPTSTR)HeapAlloc(GetProcessHeap(),
0,
DevIdSize * sizeof(WCHAR));
if (*DeviceId == NULL) goto Quit;
/* Now get the device id string */
bSuccess = SetupDiGetDeviceInstanceIdW(hDevInfo,
&DeviceInfoData,
*DeviceId,
DevIdSize,
NULL);
if (bSuccess == FALSE) goto Quit;
/* Skip the root device */
if (*DeviceId != NULL &&
wcscmp(*DeviceId, L"HTREE\\ROOT\\0") == 0)
{
bSuccess = FALSE;
goto Quit;
}
/* Get the current status of the device */
bSuccess = GetDeviceStatus(*DeviceId, Status, ProblemNumber);
if (bSuccess == FALSE) goto Quit;
/* Get the device's friendly name */
bSuccess = SetupDiGetDeviceRegistryPropertyW(hDevInfo,
&DeviceInfoData,
SPDRP_FRIENDLYNAME,
0,
(BYTE*)DeviceName,
256,
NULL);
if (bSuccess == FALSE)
{
/* if the friendly name fails, try the description instead */
bSuccess = SetupDiGetDeviceRegistryPropertyW(hDevInfo,
&DeviceInfoData,
SPDRP_DEVICEDESC,
0,
(BYTE*)DeviceName,
256,
NULL);
}
/* If we didn't find a name, check if this is an unknown device */
if (bSuccess == FALSE && bUnknown == TRUE)
{
/* We add in our own text */
wcscpy_s(DeviceName, 256, L"Unknown device");
bSuccess = TRUE;
}
Quit:
if (MoreItems == FALSE)
SetupDiDestroyDeviceInfoList(hDevInfo);
if (bSuccess == FALSE)
{
if (*DeviceId)
{
HeapFree(GetProcessHeap(), 0, *DeviceId);
*DeviceId = NULL;
}
}
return bSuccess;
}
/* PRIVATE METHODS ******************************************/
BOOL
CDevices::CreateRootDevice()
{
HBITMAP hRootImage = NULL;
DWORD Size = ROOT_NAME_SIZE;
BOOL bSuccess = FALSE;
CONFIGRET cr;
/* The root name is the computer name */
(VOID)GetComputerNameW(m_RootName, &Size);
/* Load the bitmap we'll be using as the root image */
hRootImage = LoadBitmapW(g_hInstance,
MAKEINTRESOURCEW(IDB_ROOT_IMAGE));
if (hRootImage == NULL) goto Cleanup;
/* Add this bitmap to the device image list. This is a bit hacky, but it's safe */
m_RootImageIndex = ImageList_Add(m_ImageListData.ImageList,
hRootImage,
NULL);
if (m_RootImageIndex == -1)
goto Cleanup;
/* Get the root instance */
cr = CM_Locate_DevNodeW(&m_RootDevInst,
NULL,
CM_LOCATE_DEVNODE_NORMAL);
if (cr == CR_SUCCESS)
bSuccess = TRUE;
Cleanup:
if (bSuccess == FALSE)
{
SetupDiDestroyClassImageList(&m_ImageListData);
ZeroMemory(&m_ImageListData, sizeof(SP_CLASSIMAGELIST_DATA));
}
if (hRootImage) DeleteObject(hRootImage);
return bSuccess;
}
DWORD
CDevices::ConvertResourceDescriptorToString(
_Inout_z_ LPWSTR ResourceDescriptor,
_In_ DWORD ResourceDescriptorSize
)
{
WCHAR ModulePath[MAX_PATH];
WCHAR ResString[256];
INT ResourceId;
HMODULE hModule;
LPWSTR ptr;
DWORD Size;
DWORD dwError;
/* First check for a semi colon */
ptr = wcschr(ResourceDescriptor, L';');
if (ptr)
{
/* This must be an inf based descriptor, the desc is after the semi colon */
wcscpy_s(ResourceDescriptor, ResourceDescriptorSize, ++ptr);
dwError = ERROR_SUCCESS;
}
else
{
/* This must be a dll resource based descriptor. Find the comma */
ptr = wcschr(ResourceDescriptor, L',');
if (ptr == NULL) return ERROR_INVALID_DATA;
/* Terminate the string where the comma was */
*ptr = UNICODE_NULL;
/* Expand any environment strings */
Size = ExpandEnvironmentStringsW(&ResourceDescriptor[1], ModulePath, MAX_PATH);
if (Size > MAX_PATH) return ERROR_BUFFER_OVERFLOW;
if (Size == 0) return GetLastError();
/* Put the comma back and move past it */
*ptr = L',';
ptr++;
/* Load the dll */
hModule = LoadLibraryExW(ModulePath, NULL, LOAD_LIBRARY_AS_DATAFILE);
if (hModule == NULL) return GetLastError();
/* Convert the resource id to a number */
ResourceId = _wtoi(ptr);
/* If the number is negative, make it positive */
if (ResourceId < 0) ResourceId = -ResourceId;
/* Load the string from the dll */
if (LoadStringW(hModule, ResourceId, ResString, 256))
{
wcscpy_s(ResourceDescriptor, ResourceDescriptorSize, ResString);
dwError = ERROR_SUCCESS;
}
else
{
dwError = GetLastError();
}
/* Free the library */
FreeLibrary(hModule);
}
return dwError;
}

View file

@ -1,97 +0,0 @@
#pragma once
#define ROOT_NAME_SIZE MAX_COMPUTERNAME_LENGTH + 1
class CDevices
{
private:
SP_CLASSIMAGELIST_DATA m_ImageListData;
BOOL m_bInitialized;
DEVINST m_RootDevInst;
WCHAR m_RootName[ROOT_NAME_SIZE];
INT m_RootImageIndex;
public:
CDevices(void);
~CDevices(void);
BOOL Initialize(
);
BOOL Uninitialize(
);
BOOL GetDeviceTreeRoot(
_Out_ LPWSTR RootName,
_In_ DWORD RootNameSize,
_Out_ PINT RootImageIndex
);
BOOL GetChildDevice(
_In_ DEVINST ParentDevInst,
_Out_ PDEVINST DevInst
);
BOOL GetSiblingDevice(
_In_ DEVINST PrevDevice,
_Out_ PDEVINST DevInst
);
BOOL GetDevice(
_In_ DEVINST Device,
_Out_writes_(DeviceNameSize) LPTSTR DeviceName,
_In_ DWORD DeviceNameSize,
_Outptr_ LPTSTR *DeviceId,
_Out_ PINT ClassImage,
_Out_ PULONG Status,
_Out_ PULONG ProblemNumber
);
BOOL EnumClasses(
_In_ ULONG ClassIndex,
_Out_writes_bytes_(sizeof(GUID)) LPGUID ClassGuid,
_Out_writes_(ClassNameSize) LPWSTR ClassName,
_In_ DWORD ClassNameSize,
_Out_writes_(ClassDescSize) LPWSTR ClassDesc,
_In_ DWORD ClassDescSize,
_Out_ PINT ClassImage
);
BOOL EnumDevicesForClass(
_Inout_opt_ LPHANDLE DeviceHandle,
_In_ LPCGUID ClassGuid,
_In_ DWORD Index,
_Out_ LPBOOL MoreItems,
_Out_writes_(DeviceNameSize) LPTSTR DeviceName,
_In_ DWORD DeviceNameSize,
_Outptr_ LPTSTR *DeviceId,
_Out_ PULONG Status,
_Out_ PULONG ProblemNumber
);
BOOL GetDeviceStatus(
_In_ LPWSTR DeviceId,
_Out_ PULONG pulStatus,
_Out_ PULONG pulProblemNumber
);
HIMAGELIST GetImageList() { return m_ImageListData.ImageList; }
DEVINST GetRootDevice() { return m_RootDevInst; }
private:
BOOL CreateImageList(
);
BOOL CreateRootDevice(
);
DWORD ConvertResourceDescriptorToString(
_Inout_z_ LPWSTR ResourceDescriptor,
_In_ DWORD ResourceDescriptorSize
);
};

View file

@ -1,755 +0,0 @@
/*
* PROJECT: ReactOS Device Manager
* LICENSE: GPL - See COPYING in the top level directory
* FILE: base/applications/mscutils/devmgmt/deviceview.cpp
* PURPOSE: Implements main window
* COPYRIGHT: Copyright 2014 Ged Murphy <gedmurphy@gmail.com>
*
*/
#include "stdafx.h"
#include "devmgmt.h"
#include "MainWindow.h"
/* DATA *****************************************************/
/* menu hints */
static const MENU_HINT MainMenuHintTable[] =
{
/* File Menu */
{IDC_EXIT, IDS_HINT_EXIT},
/* Action Menu */
{IDC_REFRESH, IDS_HINT_REFRESH},
{IDC_PROP, IDS_HINT_PROP},
{IDC_ABOUT, IDS_HINT_ABOUT},
{IDC_DEVBYTYPE, IDS_HINT_DEV_BY_TYPE},
{IDC_DEVBYCONN, IDS_HINT_DEV_BY_CONN},
{IDC_RESBYTYPE, IDS_HINT_RES_BY_TYPE},
{IDC_RESBYCONN, IDS_HINT_RES_BY_TYPE}
};
/* system menu hints */
static const MENU_HINT SystemMenuHintTable[] =
{
{SC_RESTORE, IDS_HINT_SYS_RESTORE},
{SC_MOVE, IDS_HINT_SYS_MOVE},
{SC_SIZE, IDS_HINT_SYS_SIZE},
{SC_MINIMIZE, IDS_HINT_SYS_MINIMIZE},
{SC_MAXIMIZE, IDS_HINT_SYS_MAXIMIZE},
{SC_CLOSE, IDS_HINT_SYS_CLOSE},
};
/* PUBLIC METHODS **********************************************/
CMainWindow::CMainWindow(void) :
m_ToolbarhImageList(NULL),
m_hMainWnd(NULL),
m_hStatusBar(NULL),
m_hToolBar(NULL),
m_CmdShow(0)
{
m_szMainWndClass = L"DevMgmtWndClass";
}
CMainWindow::~CMainWindow(void)
{
/* Destroy any previous list */
if (m_ToolbarhImageList) ImageList_Destroy(m_ToolbarhImageList);
}
BOOL
CMainWindow::Initialize(LPCTSTR lpCaption,
int nCmdShow)
{
CAtlString szCaption;
WNDCLASSEXW wc = {0};
/* Store the show window value */
m_CmdShow = nCmdShow;
/* Setup the window class struct */
wc.cbSize = sizeof(WNDCLASSEXW);
wc.lpfnWndProc = MainWndProc;
wc.hInstance = g_hInstance;
wc.hIcon = LoadIcon(g_hInstance, MAKEINTRESOURCEW(IDI_MAIN_ICON));
wc.hCursor = LoadCursor(NULL, IDC_ARROW);
wc.hbrBackground = (HBRUSH)(COLOR_BTNFACE + 1);
wc.lpszMenuName = MAKEINTRESOURCEW(IDR_MAINMENU);
wc.lpszClassName = m_szMainWndClass;
wc.hIconSm = (HICON)LoadImage(g_hInstance,
MAKEINTRESOURCE(IDI_MAIN_ICON),
IMAGE_ICON,
16,
16,
LR_SHARED);
/* Register the window */
if (RegisterClassExW(&wc))
{
/* Create the main window and store the info pointer */
m_hMainWnd = CreateWindowExW(WS_EX_WINDOWEDGE,
m_szMainWndClass,
lpCaption,
WS_OVERLAPPEDWINDOW | WS_CLIPCHILDREN | WS_CLIPSIBLINGS,
CW_USEDEFAULT,
CW_USEDEFAULT,
600,
450,
NULL,
NULL,
g_hInstance,
this);
}
/* Return creation result */
return !!(m_hMainWnd);
}
VOID
CMainWindow::Uninitialize()
{
/* Unregister the window class */
UnregisterClassW(m_szMainWndClass, g_hInstance);
}
INT
CMainWindow::Run()
{
MSG Msg;
/* Pump the message queue */
while (GetMessageW(&Msg, NULL, 0, 0 ) != 0)
{
TranslateMessage(&Msg);
DispatchMessageW(&Msg);
}
return 0;
}
/* PRIVATE METHODS **********************************************/
BOOL
CMainWindow::MainWndMenuHint(WORD CmdId,
const MENU_HINT *HintArray,
DWORD HintsCount,
UINT DefHintId)
{
BOOL Found = FALSE;
const MENU_HINT *LastHint;
UINT HintId = DefHintId;
LastHint = HintArray + HintsCount;
while (HintArray != LastHint)
{
if (HintArray->CmdId == CmdId)
{
HintId = HintArray->HintId;
Found = TRUE;
break;
}
HintArray++;
}
StatusBarLoadString(m_hStatusBar,
SB_SIMPLEID,
g_hInstance,
HintId);
return Found;
}
BOOL
CMainWindow::UpdateDevicesDisplay(ListDevices List)
{
UINT CheckId;
BOOL bSuccess;
/* Set the new type*/
m_DeviceView->SetDeviceListType(List);
/* Get the menu item id */
switch (List)
{
case DevicesByType: CheckId = IDC_DEVBYTYPE; break;
case DevicesByConnection: CheckId = IDC_DEVBYCONN; break;
case ResourcesByType: CheckId = IDC_RESBYTYPE; break;
case ResourcesByConnection: CheckId = IDC_RESBYCONN; break;
default: ATLASSERT(FALSE); break;
}
/* Set the new check item */
bSuccess = CheckMenuRadioItem(m_hMenu,
IDC_DEVBYTYPE,
IDC_RESBYCONN,
CheckId,
MF_BYCOMMAND);
/* Refresh the view */
m_DeviceView->Refresh();
return TRUE;
}
BOOL
CMainWindow::CreateToolBar()
{
HIMAGELIST hImageList;
HBITMAP hBitmap;
UINT StartResource, EndResource;
INT NumButtons;
BOOL bRet = FALSE;
static TBBUTTON ToolbarButtons [] =
{
{TBICON_PROP, IDC_PROP, TBSTATE_INDETERMINATE, BTNS_BUTTON, {0}, 0, 0},
{TBICON_REFRESH, IDC_REFRESH, TBSTATE_ENABLED, BTNS_BUTTON, {0}, 0, 0},
/* Add a seperator: First item for a seperator is its width in pixels */
{15, 0, TBSTATE_ENABLED, BTNS_SEP, {0}, 0, 0},
};
/* Calculate the number of buttons */
NumButtons = sizeof(ToolbarButtons) / sizeof(ToolbarButtons[0]);
/* Create the toolbar window */
m_hToolBar = CreateWindowExW(0,
TOOLBARCLASSNAME,
NULL,
WS_CHILD | WS_VISIBLE | TBSTYLE_FLAT | TBSTYLE_TOOLTIPS,
0, 0, 0, 0,
m_hMainWnd,
(HMENU)IDC_TOOLBAR,
g_hInstance,
NULL);
if (m_hToolBar == NULL) return FALSE;
/* Don't show clipped buttons */
SendMessageW(m_hToolBar,
TB_SETEXTENDEDSTYLE,
0,
TBSTYLE_EX_HIDECLIPPEDBUTTONS);
/* Set the struct size, the toobar needs this... */
SendMessageW(m_hToolBar,
TB_BUTTONSTRUCTSIZE,
sizeof(ToolbarButtons[0]),
0);
/* Create the toolbar icon image list */
m_ToolbarhImageList = ImageList_Create(16,
16,
ILC_MASK | ILC_COLOR24,
NumButtons,
0);
if (m_ToolbarhImageList == NULL) return FALSE;
/* Set the index endpoints */
StartResource = IDB_PROP;
EndResource = IDB_REFRESH;
/* Add all icons to the image list */
for (UINT i = StartResource; i <= EndResource; i++)
{
/* Load the image resource */
hBitmap = (HBITMAP)LoadImage(g_hInstance,
MAKEINTRESOURCE(i),
IMAGE_BITMAP,
16,
16,
LR_LOADTRANSPARENT);
if (hBitmap)
{
/* Add it to the image list */
ImageList_AddMasked(m_ToolbarhImageList,
hBitmap,
RGB(255, 0, 128));
/* Delete the bitmap */
DeleteObject(hBitmap);
}
}
/* Set the new image list */
hImageList = (HIMAGELIST)SendMessageW(m_hToolBar,
TB_SETIMAGELIST,
0,
(LPARAM)m_ToolbarhImageList);
/* Destroy any previous list */
if (hImageList) ImageList_Destroy(hImageList);
/* Add the buttons */
bRet = (BOOL)SendMessageW(m_hToolBar,
TB_ADDBUTTONS,
NumButtons,
(LPARAM)ToolbarButtons);
return bRet;
}
BOOL
CMainWindow::CreateStatusBar()
{
INT StatWidths[] = {110, -1}; /* widths of status bar */
BOOL bRet = FALSE;
/* Create the status bar */
m_hStatusBar = CreateWindowExW(0,
STATUSCLASSNAME,
NULL,
WS_CHILD | WS_VISIBLE | SBARS_SIZEGRIP,
0, 0, 0, 0,
m_hMainWnd,
(HMENU)IDC_STATUSBAR,
g_hInstance,
NULL);
if (m_hStatusBar)
{
/* Set the width */
bRet = (BOOL)SendMessageW(m_hStatusBar,
SB_SETPARTS,
sizeof(StatWidths) / sizeof(INT),
(LPARAM)StatWidths);
}
return bRet;
}
BOOL
CMainWindow::StatusBarLoadString(IN HWND hStatusBar,
IN INT PartId,
IN HINSTANCE hInstance,
IN UINT uID)
{
CAtlString szMessage;
BOOL bRet = FALSE;
/* Load the string */
if (szMessage.LoadStringW(hInstance, uID))
{
/* Send the message to the status bar */
bRet = (BOOL)SendMessageW(hStatusBar,
SB_SETTEXT,
(WPARAM)PartId,
(LPARAM)szMessage.GetBuffer());
}
return bRet;
}
LRESULT
CMainWindow::OnCreate(HWND hwnd)
{
LRESULT RetCode;
/* Assume failure */
RetCode = -1;
/* Store the window handle */
m_hMainWnd = hwnd;
/* Get the menu handle */
m_hMenu = GetMenu(m_hMainWnd);
/* Create the toolbar */
if (CreateToolBar() && CreateStatusBar())
{
/* Create the device view object */
m_DeviceView = new CDeviceView(m_hMainWnd, DevicesByType);
/* Initialize it */
if (m_DeviceView->Initialize())
{
UpdateDevicesDisplay(DevicesByType);
/* Display the window according to the user request */
ShowWindow(hwnd, m_CmdShow);
/* Set as handled */
RetCode = 0;
}
}
return RetCode;
}
LRESULT
CMainWindow::OnSize()
{
RECT rcClient, rcTool, rcStatus;
INT lvHeight, iToolHeight, iStatusHeight;
/* Autosize the toolbar */
SendMessage(m_hToolBar, TB_AUTOSIZE, 0, 0);
/* Get the toolbar rect and save the height */
GetWindowRect(m_hToolBar, &rcTool);
iToolHeight = rcTool.bottom - rcTool.top;
/* Resize the status bar */
SendMessage(m_hStatusBar, WM_SIZE, 0, 0);
/* Get the statusbar rect and save the height */
GetWindowRect(m_hStatusBar, &rcStatus);
iStatusHeight = rcStatus.bottom - rcStatus.top;
/* Get the full client rect */
GetClientRect(m_hMainWnd, &rcClient);
/* Calculate the remaining height for the treeview */
lvHeight = rcClient.bottom - iToolHeight - iStatusHeight;
/* Resize the device view */
m_DeviceView->Size(0,
iToolHeight,
rcClient.right,
lvHeight);
return 0;
}
LRESULT
CMainWindow::OnNotify(LPARAM lParam)
{
LPNMHDR NmHdr = (LPNMHDR)lParam;
switch (NmHdr->code)
{
case TVN_DELETEITEMW:
{
LPNMTREEVIEW NmTreeView = (LPNMTREEVIEW)lParam;
NmTreeView->action = NmTreeView->action;
break;
}
case TVN_SELCHANGED:
{
LPNM_TREEVIEW pnmtv = (LPNM_TREEVIEW)lParam;
ListDevices ListType = m_DeviceView->GetDeviceListType();
if (ListType == DevicesByType)
{
if (!m_DeviceView->HasChildItem(pnmtv->itemNew.hItem))
{
SendMessage(m_hToolBar,
TB_SETSTATE,
IDC_PROP,
(LPARAM)MAKELONG(TBSTATE_ENABLED, 0));
EnableMenuItem(GetMenu(m_hMainWnd), IDC_PROP, MF_ENABLED);
m_DeviceView->EnableContextMenuItem(IDC_PROP, MF_ENABLED);
}
else
{
SendMessage(m_hToolBar,
TB_SETSTATE,
IDC_PROP,
(LPARAM)MAKELONG(TBSTATE_INDETERMINATE, 0));
EnableMenuItem(GetMenu(m_hMainWnd), IDC_PROP, MF_GRAYED);
m_DeviceView->EnableContextMenuItem(IDC_PROP, MF_GRAYED);
}
}
else if (ListType == DevicesByConnection)
{
if (m_DeviceView->IsRootItem(pnmtv->itemNew.hItem))
{
SendMessage(m_hToolBar,
TB_SETSTATE,
IDC_PROP,
(LPARAM)MAKELONG(TBSTATE_INDETERMINATE, 0));
EnableMenuItem(GetMenu(m_hMainWnd), IDC_PROP, MF_GRAYED);
m_DeviceView->EnableContextMenuItem(IDC_PROP, MF_GRAYED);
}
else
{
SendMessage(m_hToolBar,
TB_SETSTATE,
IDC_PROP,
(LPARAM)MAKELONG(TBSTATE_ENABLED, 0));
EnableMenuItem(GetMenu(m_hMainWnd), IDC_PROP, MF_ENABLED);
m_DeviceView->EnableContextMenuItem(IDC_PROP, MF_ENABLED);
}
}
}
break;
case NM_DBLCLK:
{
m_DeviceView->DisplayPropertySheet();
break;
}
case NM_RETURN:
{
ListDevices ListType = m_DeviceView->GetDeviceListType();
if (ListType == DevicesByType)
{
m_DeviceView->DisplayPropertySheet();
}
else if (ListType == DevicesByConnection)
{
if (!m_DeviceView->IsRootItemSelected())
{
m_DeviceView->DisplayPropertySheet();
}
}
break;
}
}
return 0;
}
LRESULT
CMainWindow::OnContext(LPARAM lParam)
{
INT xPos = GET_X_LPARAM(lParam);
INT yPos = GET_Y_LPARAM(lParam);
m_DeviceView->ShowContextMenu(xPos, yPos);
return 0;
}
LRESULT
CMainWindow::OnCommand(WPARAM wParam,
LPARAM lParam)
{
LRESULT RetCode = 0;
WORD Msg;
/* Get the message */
Msg = LOWORD(wParam);
switch (Msg)
{
case IDC_PROP:
{
/* Display the device property sheet */
m_DeviceView->DisplayPropertySheet();
break;
}
case IDC_REFRESH:
{
/* Refresh the device list */
m_DeviceView->Refresh();
break;
}
case IDC_DEVBYTYPE:
{
UpdateDevicesDisplay(DevicesByType);
break;
}
case IDC_DEVBYCONN:
{
UpdateDevicesDisplay(DevicesByConnection);
break;
}
case IDC_SHOWHIDDEN:
{
UINT CurCheckState, NewCheckState;
/* Get the current state */
CurCheckState = GetMenuState(m_hMenu, IDC_SHOWHIDDEN, MF_BYCOMMAND);
/* Inform the device view of the change */
if (CurCheckState == MF_CHECKED)
{
NewCheckState = MF_UNCHECKED;
m_DeviceView->ShowHiddenDevices(FALSE);
}
else if (CurCheckState == MF_UNCHECKED)
{
NewCheckState = MF_CHECKED;
m_DeviceView->ShowHiddenDevices(TRUE);
}
else
{
ATLASSERT(FALSE);
break;
}
/* Set the new check state */
CheckMenuItem(m_hMenu, IDC_SHOWHIDDEN, MF_BYCOMMAND | NewCheckState);
/* Refresh the device view */
m_DeviceView->Refresh();
break;
}
case IDC_ABOUT:
{
/* Apportion blame */
MessageBoxW(m_hMainWnd,
L"ReactOS Device Manager\r\nCopyright Ged Murphy 2014",
L"About",
MB_OK | MB_APPLMODAL);
/* Set focus back to the treeview */
m_DeviceView->SetFocus();
break;
}
case IDC_EXIT:
{
/* Post a close message to the window */
PostMessageW(m_hMainWnd,
WM_CLOSE,
0,
0);
break;
}
default:
break;
}
return RetCode;
}
LRESULT
CMainWindow::OnDestroy()
{
/* Uninitialize the device view */
m_DeviceView->Uninitialize();
/* Kill the object */
delete m_DeviceView;
m_DeviceView = NULL;
/* Clear the user data pointer */
SetWindowLongPtr(m_hMainWnd, GWLP_USERDATA, 0);
/* Break the message loop */
PostQuitMessage(0);
return 0;
}
LRESULT CALLBACK
CMainWindow::MainWndProc(HWND hwnd,
UINT msg,
WPARAM wParam,
LPARAM lParam)
{
CMainWindow *pThis;
LRESULT RetCode = 0;
/* Get the object pointer from window context */
pThis = (CMainWindow *)GetWindowLongPtr(hwnd, GWLP_USERDATA);
/* Check for an invalid pointer */
if (pThis == NULL)
{
/* Check that this isn't a create message */
if (msg != WM_CREATE)
{
/* Don't handle null info pointer */
goto HandleDefaultMessage;
}
}
switch(msg)
{
case WM_CREATE:
{
/* Get the object pointer from the create param */
pThis = (CMainWindow *)((LPCREATESTRUCT)lParam)->lpCreateParams;
/* Store the info pointer in the window's global user data */
SetWindowLongPtr(hwnd, GWLP_USERDATA, (LONG_PTR)pThis);
/* Call the create handler */
RetCode = pThis->OnCreate(hwnd);
break;
}
case WM_SIZE:
{
RetCode = pThis->OnSize();
break;
}
case WM_NOTIFY:
{
/* Handle the notify message */
RetCode = pThis->OnNotify(lParam);
break;
}
case WM_CONTEXTMENU:
{
/* Handle creating the context menu */
RetCode = pThis->OnContext(lParam);
break;
}
case WM_MENUSELECT:
{
if (pThis->m_hStatusBar != NULL)
{
if (!pThis->MainWndMenuHint(LOWORD(wParam),
MainMenuHintTable,
sizeof(MainMenuHintTable) / sizeof(MainMenuHintTable[0]),
IDS_HINT_BLANK))
{
pThis->MainWndMenuHint(LOWORD(wParam),
SystemMenuHintTable,
sizeof(SystemMenuHintTable) / sizeof(SystemMenuHintTable[0]),
IDS_HINT_BLANK);
}
}
break;
}
case WM_COMMAND:
{
/* Handle the command message */
RetCode = pThis->OnCommand(wParam, lParam);
/* Hand it off to the default message handler */
goto HandleDefaultMessage;
}
case WM_CLOSE:
{
/* Destroy the main window */
DestroyWindow(hwnd);
}
break;
case WM_DESTROY:
{
/* Call the destroy handler */
RetCode = pThis->OnDestroy();
break;
}
default:
{
HandleDefaultMessage:
RetCode = DefWindowProc(hwnd, msg, wParam, lParam);
break;
}
}
return RetCode;
}

View file

@ -1,65 +0,0 @@
#pragma once
#include "DeviceView.h"
typedef struct _MENU_HINT
{
WORD CmdId;
UINT HintId;
} MENU_HINT, *PMENU_HINT;
class CMainWindow
{
CAtlString m_szMainWndClass;
CDeviceView *m_DeviceView;
HWND m_hMainWnd;
HWND m_hStatusBar;
HWND m_hToolBar;
HIMAGELIST m_ToolbarhImageList;
HMENU m_hMenu;
int m_CmdShow;
public:
CMainWindow(void);
~CMainWindow(void);
BOOL Initialize(LPCTSTR lpCaption, int nCmdShow);
INT Run();
VOID Uninitialize();
private:
static LRESULT CALLBACK MainWndProc(
HWND hwnd,
UINT msg,
WPARAM wParam,
LPARAM lParam
);
LRESULT OnCreate(HWND hwnd);
LRESULT OnDestroy();
LRESULT OnSize();
LRESULT OnNotify(LPARAM lParam);
LRESULT OnContext(LPARAM lParam);
LRESULT OnCommand(WPARAM wParam, LPARAM lParam);
BOOL CreateToolBar();
BOOL CreateStatusBar();
BOOL StatusBarLoadString(
HWND hStatusBar,
INT PartId,
HINSTANCE hInstance,
UINT uID
);
BOOL MainWndMenuHint(
WORD CmdId,
const MENU_HINT *HintArray,
DWORD HintsCount,
UINT DefHintId
);
BOOL UpdateDevicesDisplay(
ListDevices List
);
};

View file

@ -1,68 +0,0 @@
#define IDC_STATIC -1
#define IDI_MAIN_ICON 50
#define IDB_ROOT_IMAGE 51
/* windows */
#define IDC_TREEVIEW 1000
#define IDC_TOOLBAR 1001
#define IDC_STATUSBAR 1002
/* commands */
#define IDC_PROP 2000
#define IDC_REFRESH 2001
#define IDC_PRINT 2002
#define IDC_EXIT 2003
#define IDC_ABOUT 4031
/* menus */
#define IDR_MAINMENU 102
#define IDR_POPUP 103
#define IDC_DEVBYTYPE 104
#define IDC_DEVBYCONN 105
#define IDC_RESBYTYPE 106
#define IDC_RESBYCONN 107
#define IDC_SHOWHIDDEN 108
/* tooltips */
#define IDS_TOOLTIP_PROP 6000
#define IDS_TOOLTIP_REFRESH 6001
#define IDS_TOOLTIP_HELP 6002
/* button bitmaps */
#define IDB_PROP 10000
#define IDB_REFRESH 10001
/* toolbar buttons */
#define TBICON_PROP 0
#define TBICON_REFRESH 1
#define TBICON_HELP 2
/* about box info */
#define IDD_ABOUTBOX 200
#define IDC_LICENSE_EDIT 201
#define IDS_APPNAME 202
#define IDS_LICENSE 203
/* menu hints */
#define IDS_HINT_BLANK 20000
#define IDS_HINT_REFRESH 20002
#define IDS_HINT_PROP 20003
#define IDS_HINT_HELP 20004
#define IDS_HINT_ABOUT 20005
#define IDS_HINT_EXIT 20006
#define IDS_HINT_DEV_BY_TYPE 20020
#define IDS_HINT_DEV_BY_CONN 20021
#define IDS_HINT_RES_BY_TYPE 20022
#define IDS_HINT_RES_BY_CONN 20023
/* system menu hints */
#define IDS_HINT_SYS_RESTORE 21001
#define IDS_HINT_SYS_MOVE 21002
#define IDS_HINT_SYS_SIZE 21003
#define IDS_HINT_SYS_MINIMIZE 21004
#define IDS_HINT_SYS_MAXIMIZE 21005
#define IDS_HINT_SYS_CLOSE 21006

View file

@ -1,9 +1,7 @@
#include "stdafx.h"
#include "devmgmt.h"
#include "MainWindow.h"
HINSTANCE g_hInstance = NULL;
HANDLE ProcessHeap = NULL;
#define WIN32_LEAN_AND_MEAN
#include <windows.h>
#include <cfgmgr32.h>
#include <dll\devmgr\devmgr.h>
int WINAPI
wWinMain(HINSTANCE hThisInstance,
@ -11,47 +9,13 @@ wWinMain(HINSTANCE hThisInstance,
LPWSTR lpCmdLine,
int nCmdShow)
{
CMainWindow MainWindow;
INITCOMMONCONTROLSEX icex;
HANDLE hMutex;
CAtlString szAppName;
int Ret = 1;
/* Check if the app is already running */
hMutex = CreateMutexW(NULL, TRUE, L"devmgmt_mutex2");
if (hMutex == NULL || GetLastError() == ERROR_ALREADY_EXISTS)
if (!DeviceManager_ExecuteW(NULL,
hThisInstance,
NULL,
nCmdShow))
{
/* Cleanup and exit */
//if (hMutex) CloseHandle(hMutex);
//return 0;
return GetLastError();
}
/* Store the global values */
g_hInstance = hThisInstance;
ProcessHeap = GetProcessHeap();
/* Initialize common controls */
icex.dwSize = sizeof(INITCOMMONCONTROLSEX);
icex.dwICC = ICC_BAR_CLASSES | ICC_COOL_CLASSES;
InitCommonControlsEx(&icex);
/* Load the application name */
if (szAppName.LoadStringW(g_hInstance, IDS_APPNAME))
{
/* Initialize the main window */
if (MainWindow.Initialize(szAppName, nCmdShow))
{
/* Run the application */
Ret = MainWindow.Run();
/* Uninitialize the main window */
MainWindow.Uninitialize();
}
}
/* Delete the app mutex */
CloseHandle(hMutex);
return Ret;
return 0;
}

View file

@ -1,24 +0,0 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<assembly
xmlns="urn:schemas-microsoft-com:asm.v1"
manifestVersion="1.0">
<assemblyIdentity
name="ReactOS.Apps.devmgmt"
processorArchitecture="*"
version="1.0.0.0"
type="win32"/>
<description>ReactOS Device Manager</description>
<dependency>
<dependentAssembly>
<assemblyIdentity
type="win32"
name="Microsoft.Windows.Common-Controls"
version="6.0.0.0"
processorArchitecture="*"
publicKeyToken="6595b64144ccf1df"
language="*"
/>
</dependentAssembly>
</dependency>
</assembly>

View file

@ -1,9 +1 @@
#pragma once
#define WIN32_LEAN_AND_MEAN
#include <windows.h>
#pragma once
#include "resource.h"
extern HINSTANCE g_hInstance;
extern HANDLE ProcessHeap;

View file

@ -1,24 +0,0 @@

Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio 2013
VisualStudioVersion = 12.0.30501.0
MinimumVisualStudioVersion = 10.0.40219.1
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "devmgmt_new", "devmgmt_new.vcxproj", "{47B3358F-E7C3-4D02-9310-68813B9292E0}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Win32 = Debug|Win32
Release|Win32 = Release|Win32
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{47B3358F-E7C3-4D02-9310-68813B9292E0}.Debug|Win32.ActiveCfg = Debug|Win32
{47B3358F-E7C3-4D02-9310-68813B9292E0}.Debug|Win32.Build.0 = Debug|Win32
{47B3358F-E7C3-4D02-9310-68813B9292E0}.Debug|Win32.Deploy.0 = Debug|Win32
{47B3358F-E7C3-4D02-9310-68813B9292E0}.Release|Win32.ActiveCfg = Release|Win32
{47B3358F-E7C3-4D02-9310-68813B9292E0}.Release|Win32.Build.0 = Release|Win32
{47B3358F-E7C3-4D02-9310-68813B9292E0}.Release|Win32.Deploy.0 = Release|Win32
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
EndGlobal

View file

@ -1,106 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="12.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup Label="ProjectConfigurations">
<ProjectConfiguration Include="Debug|Win32">
<Configuration>Debug</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|Win32">
<Configuration>Release</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
</ItemGroup>
<PropertyGroup Label="Globals">
<ProjectGuid>{47B3358F-E7C3-4D02-9310-68813B9292E0}</ProjectGuid>
<Keyword>Win32Proj</Keyword>
<RootNamespace>devmgmt_new</RootNamespace>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<UseDebugLibraries>true</UseDebugLibraries>
<PlatformToolset>v120_xp</PlatformToolset>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<PlatformToolset>v120_xp</PlatformToolset>
<WholeProgramOptimization>true</WholeProgramOptimization>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="ExtensionSettings">
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<PropertyGroup Label="UserMacros" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<LinkIncremental>true</LinkIncremental>
<GenerateManifest>false</GenerateManifest>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<LinkIncremental>false</LinkIncremental>
<GenerateManifest>false</GenerateManifest>
</PropertyGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<ClCompile>
<PrecompiledHeader>
</PrecompiledHeader>
<WarningLevel>Level3</WarningLevel>
<Optimization>Disabled</Optimization>
<PreprocessorDefinitions>WIN32;_DEBUG;_WINDOWS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
</ClCompile>
<Link>
<SubSystem>Windows</SubSystem>
<GenerateDebugInformation>true</GenerateDebugInformation>
<AdditionalDependencies>UxTheme.lib;comctl32.lib;setupapi.lib;%(AdditionalDependencies)</AdditionalDependencies>
</Link>
<ResourceCompile>
<PreprocessorDefinitions>LANGUAGE_EN_US;%(PreprocessorDefinitions)</PreprocessorDefinitions>
</ResourceCompile>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<ClCompile>
<WarningLevel>Level3</WarningLevel>
<PrecompiledHeader>
</PrecompiledHeader>
<Optimization>MaxSpeed</Optimization>
<FunctionLevelLinking>true</FunctionLevelLinking>
<IntrinsicFunctions>true</IntrinsicFunctions>
<PreprocessorDefinitions>WIN32;NDEBUG;_WINDOWS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
</ClCompile>
<Link>
<SubSystem>Windows</SubSystem>
<GenerateDebugInformation>true</GenerateDebugInformation>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<OptimizeReferences>true</OptimizeReferences>
<AdditionalDependencies>UxTheme.lib;comctl32.lib;setupapi.lib;%(AdditionalDependencies)</AdditionalDependencies>
</Link>
</ItemDefinitionGroup>
<ItemGroup>
<ClCompile Include="Devices.cpp" />
<ClCompile Include="DeviceView.cpp" />
<ClCompile Include="devmgmt.cpp" />
<ClCompile Include="MainWindow.cpp" />
<ClCompile Include="stdafx.cpp" />
</ItemGroup>
<ItemGroup>
<ClInclude Include="Devices.h" />
<ClInclude Include="DeviceView.h" />
<ClInclude Include="devmgmt.h" />
<ClInclude Include="MainWindow.h" />
<ClInclude Include="Resource.h" />
<ClInclude Include="stdafx.h" />
</ItemGroup>
<ItemGroup>
<ResourceCompile Include="devmgmt.rc" />
</ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets">
</ImportGroup>
</Project>

View file

@ -1,59 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup>
<Filter Include="Source Files">
<UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>
<Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
</Filter>
<Filter Include="Header Files">
<UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier>
<Extensions>h;hpp;hxx;hm;inl;inc;xsd</Extensions>
</Filter>
<Filter Include="Resource Files">
<UniqueIdentifier>{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}</UniqueIdentifier>
<Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms</Extensions>
</Filter>
</ItemGroup>
<ItemGroup>
<ClCompile Include="Devices.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="DeviceView.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="devmgmt.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="MainWindow.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="stdafx.cpp">
<Filter>Source Files</Filter>
</ClCompile>
</ItemGroup>
<ItemGroup>
<ClInclude Include="Devices.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="DeviceView.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="devmgmt.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="MainWindow.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="Resource.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="stdafx.h">
<Filter>Header Files</Filter>
</ClInclude>
</ItemGroup>
<ItemGroup>
<ResourceCompile Include="devmgmt.rc">
<Filter>Resource Files</Filter>
</ResourceCompile>
</ItemGroup>
</Project>

View file

@ -1,77 +0,0 @@
LANGUAGE LANG_BULGARIAN, SUBLANG_DEFAULT
IDR_MAINMENU MENU
BEGIN
POPUP "&Файл"
BEGIN
MENUITEM "Из&ход", IDC_EXIT
END
POPUP "Действие"
BEGIN
MENUITEM "Отпечатване", IDC_PRINT, GRAYED
MENUITEM SEPARATOR
MENUITEM "Свойства", IDC_PROP, GRAYED
END
POPUP "Изглед"
BEGIN
MENUITEM "Устройствата според вид", IDC_DEVBYTYPE, CHECKED
MENUITEM "Устройствата според свързването", IDC_STATIC, GRAYED
MENUITEM "Средствата според вида", IDC_STATIC, GRAYED
MENUITEM "Средствата според свързването", IDC_STATIC, GRAYED
END
POPUP "Помощ"
BEGIN
MENUITEM "За", IDC_ABOUT
END
END
IDR_POPUP MENU
BEGIN
POPUP "popup"
BEGIN
MENUITEM "Свойства", IDC_PROP, GRAYED
END
END
IDD_ABOUTBOX DIALOGEX 22,16,190,182
CAPTION "За управителя на устройствата"
FONT 8,"MS Shell Dlg",0,0
STYLE DS_SHELLFONT | WS_BORDER | WS_DLGFRAME | WS_SYSMENU | DS_MODALFRAME
BEGIN
LTEXT "Device Manager v0.1\nCopyright (C) 2006\nby Ged Murphy (gedmurphy@gmail.com)", IDC_STATIC, 48, 7, 130, 26
PUSHBUTTON "Close", IDOK, 75, 162, 44, 15
ICON IDI_MAIN_ICON, IDC_STATIC, 10, 10, 7, 30
EDITTEXT IDC_LICENSE_EDIT, 8, 44, 174, 107, WS_VISIBLE | WS_VSCROLL | WS_TABSTOP | ES_READONLY | ES_MULTILINE
END
STRINGTABLE DISCARDABLE
BEGIN
IDS_LICENSE "This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.\r\n\r\nThis program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.\r\n\r\nYou should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA."
END
STRINGTABLE DISCARDABLE
BEGIN
IDS_TOOLTIP_PROP "Свойства"
IDS_TOOLTIP_REFRESH "Опресняване"
IDS_TOOLTIP_HELP "Помощ"
IDS_TOOLTIP_EXIT "Изход"
END
/* Hints */
STRINGTABLE DISCARDABLE
BEGIN
IDS_APPNAME "Управител на устройствата на РеактОС"
IDS_HINT_BLANK " "
IDS_HINT_EXIT " Излиза от приложението."
IDS_HINT_REFRESH " Опреснява списъка на услугите."
IDS_HINT_PROP " Отваря лист за свойства за текущия избор."
IDS_HINT_HELP " Показва помощен прозорец."
IDS_HINT_ABOUT " За управителя на устрйствата на РеактОС."
IDS_HINT_SYS_RESTORE " Възстановява прозореца до обичайния му рамер."
IDS_HINT_SYS_MOVE " Премества прозореца."
IDS_HINT_SYS_SIZE " Преоразмерява прозореца."
IDS_HINT_SYS_MINIMIZE " Свива прозореца в значка."
IDS_HINT_SYS_MAXIMIZE " Разгръща прозореца, докато запълни целия екран."
IDS_HINT_SYS_CLOSE " Затваря прозореца."
END

View file

@ -1,77 +0,0 @@
LANGUAGE LANG_GERMAN, SUBLANG_NEUTRAL
IDR_MAINMENU MENU
BEGIN
POPUP "&Datei"
BEGIN
MENUITEM "&Beenden", IDC_EXIT
END
POPUP "Aktion"
BEGIN
MENUITEM "Drucken", IDC_PRINT, GRAYED
MENUITEM SEPARATOR
MENUITEM "Eigenschaften", IDC_PROP, GRAYED
END
POPUP "Ansicht"
BEGIN
MENUITEM "Geräte nach Typ", IDC_DEVBYTYPE, CHECKED
MENUITEM "Geräte nach Verbindung", IDC_STATIC, GRAYED
MENUITEM "Resourcen nach Typ", IDC_STATIC, GRAYED
MENUITEM "Resourcen nach Verbindung", IDC_STATIC, GRAYED
END
POPUP "&?"
BEGIN
MENUITEM "Info", IDC_ABOUT
END
END
IDR_POPUP MENU
BEGIN
POPUP "popup"
BEGIN
MENUITEM "Eigenschaften", IDC_PROP, GRAYED
END
END
IDD_ABOUTBOX DIALOGEX 22,16,190,182
CAPTION "Über Geräte-Manager"
FONT 8,"MS Shell Dlg",0,0
STYLE DS_SHELLFONT | WS_BORDER | WS_DLGFRAME | WS_SYSMENU | DS_MODALFRAME
BEGIN
LTEXT "Geräte-Manager v0.1\nCopyright (C) 2006\nby Ged Murphy (gedmurphy@gmail.com)", IDC_STATIC, 48, 7, 130, 26
PUSHBUTTON "Schließen", IDOK, 75, 162, 44, 15
ICON IDI_MAIN_ICON, IDC_STATIC, 10, 10, 7, 30
EDITTEXT IDC_LICENSE_EDIT, 8, 44, 174, 107, WS_VISIBLE | WS_VSCROLL | WS_TABSTOP | ES_READONLY | ES_MULTILINE
END
STRINGTABLE DISCARDABLE
BEGIN
IDS_LICENSE "Dieses Programm ist kostenlos; Sie können es frei verteilen mit od. ohne Änderungen unter der GNU Lesser General Public License, wie es von der Free Software Foundation veröffentlicht wurde; entweder Version 2.1 der Lizenz, oder eine spätere Version (ihrer Wahl).\r\n\r\nThis program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.\r\n\r\nYou should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA."
END
STRINGTABLE DISCARDABLE
BEGIN
IDS_TOOLTIP_PROP "Eigenschaften"
IDS_TOOLTIP_REFRESH "Aktualisieren"
IDS_TOOLTIP_HELP "Hilfe"
IDS_TOOLTIP_EXIT "Beenden"
END
/* Hints */
STRINGTABLE DISCARDABLE
BEGIN
IDS_APPNAME "ReactOS Geräte-Manager"
IDS_HINT_BLANK " "
IDS_HINT_EXIT " Das Programm beenden."
IDS_HINT_REFRESH " Die Service-Liste aktualisieren."
IDS_HINT_PROP " Eigenschaften-Seite für die aktuelle Auswahl anzeigen."
IDS_HINT_HELP " Hilfe-Fenster anzeigen."
IDS_HINT_ABOUT " Über ReactOS Geräte-Manager."
IDS_HINT_SYS_RESTORE " Dieses Fenster auf normale Größe wiederherstellen."
IDS_HINT_SYS_MOVE " Dieses Fenster verschieben."
IDS_HINT_SYS_SIZE " Größe dieses Fensters ändern."
IDS_HINT_SYS_MINIMIZE " Dieses Fenster zu einem Symbol verkleinern."
IDS_HINT_SYS_MAXIMIZE " Dieses Fenster auf Bildschirmgröße vergrößern."
IDS_HINT_SYS_CLOSE " Dieses Fenster schließen."
END

View file

@ -1,77 +0,0 @@
LANGUAGE LANG_GREEK, SUBLANG_DEFAULT
IDR_MAINMENU MENU
BEGIN
POPUP "&Αρχείο"
BEGIN
MENUITEM "Έ&ξοδος", IDC_EXIT
END
POPUP "Ενέργεια"
BEGIN
MENUITEM "Εκτύπωση", IDC_PRINT, GRAYED
MENUITEM SEPARATOR
MENUITEM "Ιδιότητες", IDC_PROP, GRAYED
END
POPUP "Εμφάνιση"
BEGIN
MENUITEM "Συσκευές ανά τύπο", IDC_DEVBYTYPE, CHECKED
MENUITEM "Συσκευές ανά σύνδεση", IDC_STATIC, GRAYED
MENUITEM "Πηγές ανά τύπο", IDC_STATIC, GRAYED
MENUITEM "Πηγές ανά σύνδεση", IDC_STATIC, GRAYED
END
POPUP "Βοήθεια"
BEGIN
MENUITEM "Σχετικά...", IDC_ABOUT
END
END
IDR_POPUP MENU
BEGIN
POPUP "popup"
BEGIN
MENUITEM "Ιδιότητες", IDC_PROP, GRAYED
END
END
IDD_ABOUTBOX DIALOGEX 22,16,190,182
CAPTION "Σχετικά με η διαχείριση συσκεών"
FONT 8,"MS Shell Dlg",0,0
STYLE DS_SHELLFONT | WS_BORDER | WS_DLGFRAME | WS_SYSMENU | DS_MODALFRAME
BEGIN
LTEXT "Device Manager v0.1\nCopyright (C) 2006\nby Ged Murphy (gedmurphy@gmail.com)", IDC_STATIC, 48, 7, 130, 26
PUSHBUTTON "Close", IDOK, 75, 162, 44, 15
ICON IDI_MAIN_ICON, IDC_STATIC, 10, 10, 7, 30
EDITTEXT IDC_LICENSE_EDIT, 8, 44, 174, 107, WS_VISIBLE | WS_VSCROLL | WS_TABSTOP | ES_READONLY | ES_MULTILINE
END
STRINGTABLE DISCARDABLE
BEGIN
IDS_LICENSE "This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.\r\n\r\nThis program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.\r\n\r\nYou should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA."
END
STRINGTABLE DISCARDABLE
BEGIN
IDS_TOOLTIP_PROP "Ιδιότητες"
IDS_TOOLTIP_REFRESH "Ανανέωση"
IDS_TOOLTIP_HELP "Βοήθεια"
IDS_TOOLTIP_EXIT "Έξοδος"
END
/* Hints */
STRINGTABLE DISCARDABLE
BEGIN
IDS_APPNAME "Διαχείριση Συσκευών του ReactOS"
IDS_HINT_BLANK " "
IDS_HINT_EXIT " Τερματίζει το πρόγραμμα."
IDS_HINT_REFRESH " Ανανέωση της λίστας διεργασιών."
IDS_HINT_PROP " Άνοιγμα παραθύρου ιδιοτήτων για τη συγκεκριμένη επιλογή."
IDS_HINT_HELP " Εμφάνιση παραθύρου βοήθειας."
IDS_HINT_ABOUT " Σχετικά με τη Διαχείριση Συσκευών του ReactOS."
IDS_HINT_SYS_RESTORE " Επαναφέρει το παράθυρο αυτό στο κανονικο του μέγεθος."
IDS_HINT_SYS_MOVE " Μετακινεί αυτό το παράθυρο."
IDS_HINT_SYS_SIZE " Αλλάζει το μέγεθος αυτού του παραθύρου."
IDS_HINT_SYS_MINIMIZE " Μικραίνει αυτό το παράθυρο σε ένα εικονίδιο."
IDS_HINT_SYS_MAXIMIZE " Προσαρμόζει το μέγεθος του παραθύρου αυτού στην οθόνη."
IDS_HINT_SYS_CLOSE " Κλείνει αυτό το παράθυρο."
END

View file

@ -1,84 +0,0 @@
LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US
IDR_MAINMENU MENU
BEGIN
POPUP "&File"
BEGIN
MENUITEM "E&xit", IDC_EXIT
END
POPUP "Action"
BEGIN
MENUITEM "Scan for hardware changes" IDC_REFRESH
MENUITEM "Print", IDC_PRINT, GRAYED
MENUITEM SEPARATOR
MENUITEM "Properties", IDC_PROP, GRAYED
END
POPUP "View"
BEGIN
MENUITEM "Devices by type", IDC_DEVBYTYPE
MENUITEM "Devices by connection", IDC_DEVBYCONN
MENUITEM "Resources by type", IDC_RESBYTYPE, GRAYED
MENUITEM "Resources by connection", IDC_RESBYCONN, GRAYED
MENUITEM SEPARATOR
MENUITEM "Show hidden devices", IDC_SHOWHIDDEN
END
POPUP "Help"
BEGIN
MENUITEM "About", IDC_ABOUT
END
END
IDR_POPUP MENU
BEGIN
POPUP "popup"
BEGIN
MENUITEM "Properties", IDC_PROP, GRAYED
END
END
IDD_ABOUTBOX DIALOGEX 22,16,190,182
CAPTION "About Device Manager"
FONT 8,"MS Shell Dlg",0,0
STYLE DS_SHELLFONT | WS_BORDER | WS_DLGFRAME | WS_SYSMENU | DS_MODALFRAME
BEGIN
LTEXT "Device Manager v0.2\nCopyright (C) 2012\nby Ged Murphy (gedmurphy@reactos.org)", IDC_STATIC, 48, 7, 130, 30
PUSHBUTTON "Close", IDOK, 75, 162, 44, 15
ICON IDI_MAIN_ICON, IDC_STATIC, 10, 10, 7, 30
EDITTEXT IDC_LICENSE_EDIT, 8, 44, 174, 107, WS_VISIBLE | WS_VSCROLL | WS_TABSTOP | ES_READONLY | ES_MULTILINE
END
STRINGTABLE DISCARDABLE
BEGIN
IDS_LICENSE "This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.\r\n\r\nThis program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.\r\n\r\nYou should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA."
END
STRINGTABLE DISCARDABLE
BEGIN
IDS_TOOLTIP_PROP "Properties"
IDS_TOOLTIP_REFRESH "Scan for hardware changes"
IDS_TOOLTIP_HELP "Help"
END
/* Hints */
STRINGTABLE DISCARDABLE
BEGIN
IDS_APPNAME "ReactOS Device Manager"
IDS_HINT_BLANK " "
IDS_HINT_EXIT " Exits the program."
IDS_HINT_REFRESH " Scan for changed or new Plug and Play devices."
IDS_HINT_PROP " Open property dialog for the current selection."
IDS_HINT_HELP " Display help window."
IDS_HINT_ABOUT " About ReactOS Device Manager."
IDS_HINT_DEV_BY_TYPE "Displays devices by hardware type"
IDS_HINT_DEV_BY_CONN "Displays devices by connection"
IDS_HINT_RES_BY_TYPE "Displays resources by type"
IDS_HINT_RES_BY_CONN "Displays resources by connection type"
IDS_HINT_SYS_RESTORE " Restores this window to normal size."
IDS_HINT_SYS_MOVE " Moves this window."
IDS_HINT_SYS_SIZE " Resizes this window."
IDS_HINT_SYS_MINIMIZE " Collapses this window to an icon."
IDS_HINT_SYS_MAXIMIZE " Expands this window to fill this screen."
IDS_HINT_SYS_CLOSE " Closes this window."
END

View file

@ -1,83 +0,0 @@
/*
* Spanish Language resource file
* Traducido por: Javier Remacha 2007-12-21
* Corregido por: Ismael Ferrera Morezuelas 2014-12-31
*/
LANGUAGE LANG_SPANISH, SUBLANG_NEUTRAL
IDR_MAINMENU MENU
BEGIN
POPUP "&Archivo"
BEGIN
MENUITEM "&Salir", IDC_EXIT
END
POPUP "Acción"
BEGIN
MENUITEM "Imprimir", IDC_PRINT, GRAYED
MENUITEM SEPARATOR
MENUITEM "Propiedades", IDC_PROP, GRAYED
END
POPUP "Ver"
BEGIN
MENUITEM "Dispositivos por tipo", IDC_DEVBYTYPE, CHECKED
MENUITEM "Dispositivos por conexión", IDC_STATIC, GRAYED
MENUITEM "Recursos por tipo", IDC_STATIC, GRAYED
MENUITEM "Recursos por conexión", IDC_STATIC, GRAYED
END
POPUP "Ayuda"
BEGIN
MENUITEM "Acerca de", IDC_ABOUT
END
END
IDR_POPUP MENU
BEGIN
POPUP "popup"
BEGIN
MENUITEM "Propiedades", IDC_PROP, GRAYED
END
END
IDD_ABOUTBOX DIALOGEX 22,16,190,182
CAPTION "Acerca del Administrador de dispositivos"
FONT 8,"MS Shell Dlg",0,0
STYLE DS_SHELLFONT | WS_BORDER | WS_DLGFRAME | WS_SYSMENU | DS_MODALFRAME
BEGIN
LTEXT "Administrador de dispositivos v0.1\nCopyright (C) 2006\nCreado por Ged Murphy (gedmurphy@gmail.com)", IDC_STATIC, 48, 7, 130, 26
PUSHBUTTON "Cerrar", IDOK, 75, 162, 44, 15
ICON IDI_MAIN_ICON, IDC_STATIC, 10, 10, 7, 30
EDITTEXT IDC_LICENSE_EDIT, 8, 44, 174, 107, WS_VISIBLE | WS_VSCROLL | WS_TABSTOP | ES_READONLY | ES_MULTILINE
END
STRINGTABLE DISCARDABLE
BEGIN
IDS_LICENSE "Este programa es software libre; puedes redistribuirlo y/o modificarlo bajo los términos de la GNU General Public License tal y como fueron publicados por la Free Software Foundation; ya sea la versión 2 de la Licencia, o (bajo tu discreción) cualquier versión posterior.\r\n\r\nEste programa se distribuye con el fin de ser útil, pero viene SIN NINGUNA GARANTÍA; sin tan siquiera la garantía implícita de COMERCIALIZACIÓN o la de IDONEIDAD PARA UN PROPÓSITO CONCRETO. Para más información lee la GNU General Public License.\r\n\r\nDeberías de haber recibido una copia de la GNU General Public License con el programa; si no, puedes escribir a la Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 EE.UU."
END
STRINGTABLE DISCARDABLE
BEGIN
IDS_TOOLTIP_PROP "Propiedades"
IDS_TOOLTIP_REFRESH "Actualizar"
IDS_TOOLTIP_HELP "Ayuda"
IDS_TOOLTIP_EXIT "Salir"
END
/* Hints */
STRINGTABLE DISCARDABLE
BEGIN
IDS_APPNAME "Administrador de dispositivos de ReactOS"
IDS_HINT_BLANK " "
IDS_HINT_EXIT " Cerrar el programa."
IDS_HINT_REFRESH " Actualizar la lista de servicios."
IDS_HINT_PROP " Abre la pestaña de propiedades de la selección actual."
IDS_HINT_HELP " Mostrar la ventana de ayuda."
IDS_HINT_ABOUT " Acerca del Administrador de dispositivos de ReactOS."
IDS_HINT_SYS_RESTORE " Devuelve esta ventana al tamaño normal."
IDS_HINT_SYS_MOVE " Mueve esta ventana."
IDS_HINT_SYS_SIZE " Redimensiona esta ventana."
IDS_HINT_SYS_MINIMIZE " Contrae esta ventana en un icono."
IDS_HINT_SYS_MAXIMIZE " Expande esta ventana hasta ocupar la pantalla."
IDS_HINT_SYS_CLOSE " Cierra esta ventana."
END

View file

@ -1,77 +0,0 @@
LANGUAGE LANG_FRENCH, SUBLANG_NEUTRAL
IDR_MAINMENU MENU
BEGIN
POPUP "&Fichier"
BEGIN
MENUITEM "&Quitter", IDC_EXIT
END
POPUP "Action"
BEGIN
MENUITEM "Imprimer", IDC_PRINT, GRAYED
MENUITEM SEPARATOR
MENUITEM "Propriétés", IDC_PROP, GRAYED
END
POPUP "Affichage"
BEGIN
MENUITEM "Périphériques par type", IDC_DEVBYTYPE, CHECKED
MENUITEM "Périphériques par connexion", IDC_STATIC, GRAYED
MENUITEM "Ressources par type", IDC_STATIC, GRAYED
MENUITEM "Ressources par connexion", IDC_STATIC, GRAYED
END
POPUP "Aide"
BEGIN
MENUITEM "À propos", IDC_ABOUT
END
END
IDR_POPUP MENU
BEGIN
POPUP "popup"
BEGIN
MENUITEM "Propriétés", IDC_PROP, GRAYED
END
END
IDD_ABOUTBOX DIALOGEX 22,16,190,182
CAPTION "À propos du Gestionnaire de Périphériques"
FONT 8,"MS Shell Dlg",0,0
STYLE DS_SHELLFONT | WS_BORDER | WS_DLGFRAME | WS_SYSMENU | DS_MODALFRAME
BEGIN
LTEXT "Gestionnaire de Périphériques v0.1\nCopyright (C) 2006\npar Ged Murphy (gedmurphy@gmail.com)", IDC_STATIC, 48, 7, 130, 26
PUSHBUTTON "Fermer", IDOK, 75, 162, 44, 15
ICON IDI_MAIN_ICON, IDC_STATIC, 10, 10, 7, 30
EDITTEXT IDC_LICENSE_EDIT, 8, 44, 174, 107, WS_VISIBLE | WS_VSCROLL | WS_TABSTOP | ES_READONLY | ES_MULTILINE
END
STRINGTABLE DISCARDABLE
BEGIN
IDS_LICENSE "Ce programme est un logiciel libre ; vous pouvez le redistribuer et/ou le modifier tout en respectant les termes de la ""GNU General Public License"" publiée par la Free Software Foundation; dans sa version 2 (ou selon votre préférence) toute version ultérieure.\r\n\r\nCe programme est distribué dans l'espoir qu'il sera utile, cependant SANS GARANTIE D'AUCUNE SORTE ; sans même une garantie implicite de COMMERCIABILITÉ ou DE CONFORMITÉ À UNE UTILISATION PARTICULIÈRE. \r\n\r\nVoir la Licence Publique Générale GNU pour plus de détails. Vous devriez avoir reçu un exemplaire de la Licence Publique Générale GNU avec ce programme ; si ce n'est pas le cas, écrivez à la Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA."
END
STRINGTABLE DISCARDABLE
BEGIN
IDS_TOOLTIP_PROP "Propriétés"
IDS_TOOLTIP_REFRESH "Actualiser"
IDS_TOOLTIP_HELP "Aide"
IDS_TOOLTIP_EXIT "Quitter"
END
/* Hints */
STRINGTABLE DISCARDABLE
BEGIN
IDS_APPNAME "Gestionnaire de périphériques ReactOS"
IDS_HINT_BLANK " "
IDS_HINT_EXIT " Quitte le programme."
IDS_HINT_REFRESH " Actualise la liste des périphériques."
IDS_HINT_PROP " Ouvre la feuille de propriétés pour la sélection actuelle."
IDS_HINT_HELP " Affiche la fenêtre d'aide."
IDS_HINT_ABOUT " À propos du Gestionnaire de Périphériques de ReactOS."
IDS_HINT_SYS_RESTORE " Restaure cette fenêtre à sa taille normale."
IDS_HINT_SYS_MOVE " Bouge cette fenêtre."
IDS_HINT_SYS_SIZE " Redimensionne cette fenêtre."
IDS_HINT_SYS_MINIMIZE " Réduit cette fenêtre à une icône."
IDS_HINT_SYS_MAXIMIZE " Étend cette fenêtre à l'écran."
IDS_HINT_SYS_CLOSE " Ferme cette fenêtre."
END

View file

@ -1,77 +0,0 @@
LANGUAGE LANG_HEBREW, SUBLANG_DEFAULT
IDR_MAINMENU MENU
BEGIN
POPUP "&קובץ"
BEGIN
MENUITEM "&יציאה", IDC_EXIT
END
POPUP "פעולות"
BEGIN
MENUITEM "הדפס", IDC_PRINT, GRAYED
MENUITEM SEPARATOR
MENUITEM "מאפיינים", IDC_PROP, GRAYED
END
POPUP "תצוגה"
BEGIN
MENUITEM "התקנים לפי סוג", IDC_DEVBYTYPE, CHECKED
MENUITEM "התקנים לפי חיבור", IDC_STATIC, GRAYED
MENUITEM "משאבים לפי סוג", IDC_STATIC, GRAYED
MENUITEM "משאבים לפי חיבור", IDC_STATIC, GRAYED
END
POPUP "עזרה"
BEGIN
MENUITEM "אודות", IDC_ABOUT
END
END
IDR_POPUP MENU
BEGIN
POPUP "popup"
BEGIN
MENUITEM "מאפיינים", IDC_PROP, GRAYED
END
END
IDD_ABOUTBOX DIALOGEX 22,16,190,182
CAPTION "אודות מנהל ההתקנים"
FONT 8,"MS Shell Dlg",0,0
STYLE DS_SHELLFONT | WS_BORDER | WS_DLGFRAME | WS_SYSMENU | DS_MODALFRAME
BEGIN
LTEXT "Device Manager v0.1\nCopyright (C) 2006\nby Ged Murphy (gedmurphy@gmail.com)", IDC_STATIC, 48, 7, 130, 30
PUSHBUTTON "סגור", IDOK, 75, 162, 44, 15
ICON IDI_MAIN_ICON, IDC_STATIC, 10, 10, 7, 30
EDITTEXT IDC_LICENSE_EDIT, 8, 44, 174, 107, WS_VISIBLE | WS_VSCROLL | WS_TABSTOP | ES_READONLY | ES_MULTILINE
END
STRINGTABLE DISCARDABLE
BEGIN
IDS_LICENSE "This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.\r\n\r\nThis program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.\r\n\r\nYou should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA."
END
STRINGTABLE DISCARDABLE
BEGIN
IDS_TOOLTIP_PROP "מאפיינים"
IDS_TOOLTIP_REFRESH "רענן"
IDS_TOOLTIP_HELP "עזרה"
IDS_TOOLTIP_EXIT "יציאה"
END
/* Hints */
STRINGTABLE DISCARDABLE
BEGIN
IDS_APPNAME "מנהל ההתקנים של ReactOS"
IDS_HINT_BLANK " "
IDS_HINT_EXIT " Exits the program."
IDS_HINT_REFRESH " Refresh the service list."
IDS_HINT_PROP " Open property sheet for the current selection."
IDS_HINT_HELP " Display help window."
IDS_HINT_ABOUT " אודות מנהל ההתקנים של ReactOS"
IDS_HINT_SYS_RESTORE " Restores this window to normal size."
IDS_HINT_SYS_MOVE " Moves this window."
IDS_HINT_SYS_SIZE " Resizes this window."
IDS_HINT_SYS_MINIMIZE " Collapses this window to an icon."
IDS_HINT_SYS_MAXIMIZE " Expands this window to fill this screen."
IDS_HINT_SYS_CLOSE " Closes this window."
END

View file

@ -1,77 +0,0 @@
LANGUAGE LANG_INDONESIAN, SUBLANG_DEFAULT
IDR_MAINMENU MENU
BEGIN
POPUP "&File"
BEGIN
MENUITEM "E&xit", IDC_EXIT
END
POPUP "Aksi"
BEGIN
MENUITEM "Cetak", IDC_PRINT, GRAYED
MENUITEM SEPARATOR
MENUITEM "Properti", IDC_PROP, GRAYED
END
POPUP "Lihat"
BEGIN
MENUITEM "Device dengan tipe", IDC_DEVBYTYPE, CHECKED
MENUITEM "Device dengan koneksi", IDC_STATIC, GRAYED
MENUITEM "Resource dengan tipe", IDC_STATIC, GRAYED
MENUITEM "Resource dengan koneksi", IDC_STATIC, GRAYED
END
POPUP "Bantuan"
BEGIN
MENUITEM "Tentang", IDC_ABOUT
END
END
IDR_POPUP MENU
BEGIN
POPUP "popup"
BEGIN
MENUITEM "Properti", IDC_PROP, GRAYED
END
END
IDD_ABOUTBOX DIALOGEX 22,16,190,182
CAPTION "Tentang Manajer Device"
FONT 8,"MS Shell Dlg",0,0
STYLE DS_SHELLFONT | WS_BORDER | WS_DLGFRAME | WS_SYSMENU | DS_MODALFRAME
BEGIN
LTEXT "Manajer Device v0.1\nHak Cipta (C) 2006\nby Ged Murphy (gedmurphy@gmail.com)", IDC_STATIC, 48, 7, 130, 26
PUSHBUTTON "Tutup", IDOK, 75, 162, 44, 15
ICON IDI_MAIN_ICON, IDC_STATIC, 10, 10, 7, 30
EDITTEXT IDC_LICENSE_EDIT, 8, 44, 174, 107, WS_VISIBLE | WS_VSCROLL | WS_TABSTOP | ES_READONLY | ES_MULTILINE
END
STRINGTABLE DISCARDABLE
BEGIN
IDS_LICENSE "Program ini adalah software bebas; anda dapat mendistribusikan dan/atau mengubahnya di bawah term GNU General Public License seperti dipublikasikan oleh Free Software Foundation; baik Lisensi versi 2, atau (menurut opini anda) setiap versi berikutnya.\r\n\r\nProgram ini didistribusikan dengan harapan ia akan berguna, tetapi TANPA JAMINAN APAPUN; bahkan tanpa jaminan berarti dari MERCANTABILITAS atau KECUKUPAN UNTUK KEPERLUAN TERTENTU. Lihat GNU General Public License untuk lebih jelasnya.\r\n\r\nAnda seharusnya menerima duplikat GNU General Public License bersamaan dengan program ini; jika tidak, tulis ke Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA."
END
STRINGTABLE DISCARDABLE
BEGIN
IDS_TOOLTIP_PROP "Properti"
IDS_TOOLTIP_REFRESH "Segarkan"
IDS_TOOLTIP_HELP "Bantuan"
IDS_TOOLTIP_EXIT "Keluar"
END
/* Hints */
STRINGTABLE DISCARDABLE
BEGIN
IDS_APPNAME "Manajer Device ReactOS"
IDS_HINT_BLANK " "
IDS_HINT_EXIT " Keluar dari program."
IDS_HINT_REFRESH " Segarkan daftar layanan."
IDS_HINT_PROP " VBuka lembar properti untuk pilihan saat ini."
IDS_HINT_HELP " Menampilkan jendela bantuan."
IDS_HINT_ABOUT " Tentang Manajer Device ReactOS."
IDS_HINT_SYS_RESTORE " Menyimpan kembali jendela ini ke ukuran normal."
IDS_HINT_SYS_MOVE " Memindahkan jendela ini."
IDS_HINT_SYS_SIZE " Mengukur ulang jendela ini."
IDS_HINT_SYS_MINIMIZE " Menyempitkan jendela ini menjadi ikon."
IDS_HINT_SYS_MAXIMIZE " Melebarkan jendela ini untuk memenuhi layar ini."
IDS_HINT_SYS_CLOSE " Menutup jendela ini."
END

View file

@ -1,77 +0,0 @@
LANGUAGE LANG_ITALIAN, SUBLANG_NEUTRAL
IDR_MAINMENU MENU
BEGIN
POPUP "&File"
BEGIN
MENUITEM "E&sci", IDC_EXIT
END
POPUP "Azioni"
BEGIN
MENUITEM "Stampa", IDC_PRINT, GRAYED
MENUITEM SEPARATOR
MENUITEM "Proprietà", IDC_PROP, GRAYED
END
POPUP "Visualizza"
BEGIN
MENUITEM "Dispositivi per tipo", IDC_DEVBYTYPE, CHECKED
MENUITEM "Dispositivi per connessione", IDC_STATIC, GRAYED
MENUITEM "Risorse per tipo", IDC_STATIC, GRAYED
MENUITEM "Risorse per connessione", IDC_STATIC, GRAYED
END
POPUP "Aiuto"
BEGIN
MENUITEM "Informazioni su", IDC_ABOUT
END
END
IDR_POPUP MENU
BEGIN
POPUP "popup"
BEGIN
MENUITEM "Proprietà", IDC_PROP, GRAYED
END
END
IDD_ABOUTBOX DIALOGEX 22,16,190,182
CAPTION "Informazioni su Gestione Dispositivi"
FONT 8,"MS Shell Dlg",0,0
STYLE DS_SHELLFONT | WS_BORDER | WS_DLGFRAME | WS_SYSMENU | DS_MODALFRAME
BEGIN
LTEXT "Gestione dispositivi v0.1\nCopyright (C) 2006\nby Ged Murphy (gedmurphy@gmail.com)", IDC_STATIC, 48, 7, 130, 26
PUSHBUTTON "Close", IDOK, 75, 162, 44, 15
ICON IDI_MAIN_ICON, IDC_STATIC, 10, 10, 7, 30
EDITTEXT IDC_LICENSE_EDIT, 8, 44, 174, 107, WS_VISIBLE | WS_VSCROLL | WS_TABSTOP | ES_READONLY | ES_MULTILINE
END
STRINGTABLE DISCARDABLE
BEGIN
IDS_LICENSE "Questo programma è software libero; puoi distribuirlo e/o modificarlo nei termini di licenza di 'GNU General Public License' come pubblicata dalla 'Free Software Foundation'; entrambe le versioni 2 della Licenza, o (a vostra scelta) qualunque versione successiva.\r\n\r\nQuesto programma è distribuito con l'augurio che sia utile, ma PRIVO DI OGNI GARANZIA; privo anche della garanzia implicita di COMMERCIABILITÀ o UTILIZZABILITÀ PER UNO SPECIFICO USO. Vedi la 'GNU General Public License' per ulteriori dettagli.\r\n\r\nVoi dovreste aver ricevuto una copia della 'GNU General Public License' assieme a questo programma; se non è cosi' scrivete a 'Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.."
END
STRINGTABLE DISCARDABLE
BEGIN
IDS_TOOLTIP_PROP "Proprietà"
IDS_TOOLTIP_REFRESH "Aggiorna"
IDS_TOOLTIP_HELP "Aiuto"
IDS_TOOLTIP_EXIT "Esci"
END
/* Hints */
STRINGTABLE DISCARDABLE
BEGIN
IDS_APPNAME "ReactOS: Gestione Dispositivi"
IDS_HINT_BLANK " "
IDS_HINT_EXIT " Esci dal programma."
IDS_HINT_REFRESH " Aggiorna la lista dei servizi."
IDS_HINT_PROP " Apri le proprietà per la selezione attuale."
IDS_HINT_HELP " Visualizza la finestra di aiuto."
IDS_HINT_ABOUT " Informazioni su Gestione dispositivi di ReactOS."
IDS_HINT_SYS_RESTORE " Ripristina la dimensione normale di questa finestra."
IDS_HINT_SYS_MOVE " Muove questa finestra."
IDS_HINT_SYS_SIZE " Cambia la dimensione di questa finestra."
IDS_HINT_SYS_MINIMIZE " Riduce a icona questa finestra."
IDS_HINT_SYS_MAXIMIZE " Espande questa finestra fino a riempire lo schermo."
IDS_HINT_SYS_CLOSE " Chiude questa finestra."
END

View file

@ -1,77 +0,0 @@
LANGUAGE LANG_JAPANESE, SUBLANG_DEFAULT
IDR_MAINMENU MENU
BEGIN
POPUP "ファイル(&F)"
BEGIN
MENUITEM "終了(&X)", IDC_EXIT
END
POPUP "操作"
BEGIN
MENUITEM "印刷", IDC_PRINT, GRAYED
MENUITEM SEPARATOR
MENUITEM "プロパティ", IDC_PROP, GRAYED
END
POPUP "表\示"
BEGIN
MENUITEM "デバイス (種類別)", IDC_DEVBYTYPE, CHECKED
MENUITEM "デバイス (接続別)", IDC_STATIC, GRAYED
MENUITEM "リソ\ース (種類別)", IDC_STATIC, GRAYED
MENUITEM "リソ\ース (接続別)", IDC_STATIC, GRAYED
END
POPUP "ヘルプ"
BEGIN
MENUITEM "バージョン情報", IDC_ABOUT
END
END
IDR_POPUP MENU
BEGIN
POPUP "popup"
BEGIN
MENUITEM "プロパティ", IDC_PROP, GRAYED
END
END
IDD_ABOUTBOX DIALOGEX 22,16,190,182
CAPTION "デバイス マネージャについて"
FONT 9, "MS UI Gothic",0,0
STYLE DS_SHELLFONT | WS_BORDER | WS_DLGFRAME | WS_SYSMENU | DS_MODALFRAME
BEGIN
LTEXT "デバイス マネージャ v0.1\nCopyright (C) 2006\nby Ged Murphy (gedmurphy@gmail.com)", IDC_STATIC, 48, 7, 130, 30
PUSHBUTTON "閉じる", IDOK, 75, 162, 44, 15
ICON IDI_MAIN_ICON, IDC_STATIC, 10, 10, 7, 30
EDITTEXT IDC_LICENSE_EDIT, 8, 44, 174, 107, WS_VISIBLE | WS_VSCROLL | WS_TABSTOP | ES_READONLY | ES_MULTILINE
END
STRINGTABLE DISCARDABLE
BEGIN
IDS_LICENSE "This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.\r\n\r\nThis program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.\r\n\r\nYou should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA."
END
STRINGTABLE DISCARDABLE
BEGIN
IDS_TOOLTIP_PROP "プロパティ"
IDS_TOOLTIP_REFRESH "更新"
IDS_TOOLTIP_HELP "ヘルプ"
IDS_TOOLTIP_EXIT "終了"
END
/* Hints */
STRINGTABLE DISCARDABLE
BEGIN
IDS_APPNAME "ReactOS デバイス マネージャ"
IDS_HINT_BLANK " "
IDS_HINT_EXIT " このプログラムを終了します。"
IDS_HINT_REFRESH " サービスのリストを更新します。"
IDS_HINT_PROP " 現在選択されているシートのプロパティを開きます。"
IDS_HINT_HELP " ヘルプ ウィンドウを表\示します。"
IDS_HINT_ABOUT " ReactOS デバイス マネージャについて表\示します。"
IDS_HINT_SYS_RESTORE " このウィンドウを通常の大きさに復元します。"
IDS_HINT_SYS_MOVE " このウィンドウを移動します。"
IDS_HINT_SYS_SIZE " このウィンドウの大きさを変更します。"
IDS_HINT_SYS_MINIMIZE " このウィンドウをアイコンに折りたたみます。"
IDS_HINT_SYS_MAXIMIZE " このウィンドウを画面いっぱいに開きます。"
IDS_HINT_SYS_CLOSE " このウィンドウを閉じます。"
END

View file

@ -1,80 +0,0 @@
/*
*Korean translation by manatails007(www.manatails007.org)
*/
LANGUAGE LANG_KOREAN, SUBLANG_DEFAULT
IDR_MAINMENU MENU
BEGIN
POPUP "파일(&F)"
BEGIN
MENUITEM "종료(&X)", IDC_EXIT
END
POPUP "액션"
BEGIN
MENUITEM "프린트", IDC_PRINT, GRAYED
MENUITEM SEPARATOR
MENUITEM "속성", IDC_PROP, GRAYED
END
POPUP "보기"
BEGIN
MENUITEM "Devices by type", IDC_DEVBYTYPE, CHECKED
MENUITEM "Devices by connection", IDC_STATIC, GRAYED
MENUITEM "Resources by type", IDC_STATIC, GRAYED
MENUITEM "Resources by connection", IDC_STATIC, GRAYED
END
POPUP "도움말"
BEGIN
MENUITEM "정보", IDC_ABOUT
END
END
IDR_POPUP MENU
BEGIN
POPUP "팝업"
BEGIN
MENUITEM "속성", IDC_PROP, GRAYED
END
END
IDD_ABOUTBOX DIALOGEX 22,16,190,182
CAPTION "장치 관리자에 대하여"
FONT 9,"MS Shell Dlg",0,0
STYLE DS_SHELLFONT | WS_BORDER | WS_DLGFRAME | WS_SYSMENU | DS_MODALFRAME
BEGIN
LTEXT "Device Manager v0.1\nCopyright (C) 2006\nby Ged Murphy (gedmurphy@gmail.com)", IDC_STATIC, 48, 7, 130, 30
PUSHBUTTON "Close", IDOK, 75, 162, 44, 15
ICON IDI_MAIN_ICON, IDC_STATIC, 10, 10, 7, 30
EDITTEXT IDC_LICENSE_EDIT, 8, 44, 174, 107, WS_VISIBLE | WS_VSCROLL | WS_TABSTOP | ES_READONLY | ES_MULTILINE
END
STRINGTABLE DISCARDABLE
BEGIN
IDS_LICENSE "This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.\r\n\r\nThis program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.\r\n\r\nYou should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA."
END
STRINGTABLE DISCARDABLE
BEGIN
IDS_TOOLTIP_PROP "속성"
IDS_TOOLTIP_REFRESH "새로 고침"
IDS_TOOLTIP_HELP "도움말"
IDS_TOOLTIP_EXIT "종료"
END
/* Hints */
STRINGTABLE DISCARDABLE
BEGIN
IDS_APPNAME "ReactOS 장치 관리자"
IDS_HINT_BLANK " "
IDS_HINT_EXIT " 프로그램을 종료합니다."
IDS_HINT_REFRESH " 서비스 리스트를 새로 고칩니다."
IDS_HINT_PROP " 선택한 항목의 속성 창을 엽니다."
IDS_HINT_HELP " 도움말을 엽니다."
IDS_HINT_ABOUT " ReactOS 장치 관리자에 대해."
IDS_HINT_SYS_RESTORE " 이 창을 보통 크기로 맟춤니다."
IDS_HINT_SYS_MOVE " 창을 움직입니다."
IDS_HINT_SYS_SIZE " 창의 크기를 변경합니다."
IDS_HINT_SYS_MINIMIZE " 이 창을 아이콘으로 만듭니다."
IDS_HINT_SYS_MAXIMIZE " 이 창을 최대 크기로 맟춤니다."
IDS_HINT_SYS_CLOSE " 창을 닫습니다."
END

View file

@ -1,77 +0,0 @@
LANGUAGE LANG_NORWEGIAN, SUBLANG_NEUTRAL
IDR_MAINMENU MENU
BEGIN
POPUP "&Fil"
BEGIN
MENUITEM "A&vslutt", IDC_EXIT
END
POPUP "Handling"
BEGIN
MENUITEM "Skriv ut", IDC_PRINT, GRAYED
MENUITEM SEPARATOR
MENUITEM "Egenskaper", IDC_PROP, GRAYED
END
POPUP "Vis"
BEGIN
MENUITEM "Enheter etter type", IDC_DEVBYTYPE, CHECKED
MENUITEM "Enheter etter tilkobling", IDC_STATIC, GRAYED
MENUITEM "Ressurser etter type", IDC_STATIC, GRAYED
MENUITEM "Ressurser etter tilkobling", IDC_STATIC, GRAYED
END
POPUP "Hjelp"
BEGIN
MENUITEM "Om", IDC_ABOUT
END
END
IDR_POPUP MENU
BEGIN
POPUP "popup"
BEGIN
MENUITEM "Egenskaper", IDC_PROP, GRAYED
END
END
IDD_ABOUTBOX DIALOGEX 22,16,190,182
CAPTION "Om Enhetsbehandler"
FONT 8,"MS Shell Dlg",0,0
STYLE DS_SHELLFONT | WS_BORDER | WS_DLGFRAME | WS_SYSMENU | DS_MODALFRAME
BEGIN
LTEXT "Enhetsbehandler v0.1\nEnerett (C) 2006\nlaget av Ged Murphy (gedmurphy@gmail.com)", IDC_STATIC, 48, 7, 130, 30
PUSHBUTTON "Lukk", IDOK, 75, 162, 44, 15
ICON IDI_MAIN_ICON, IDC_STATIC, 10, 10, 7, 30
EDITTEXT IDC_LICENSE_EDIT, 8, 44, 174, 107, WS_VISIBLE | WS_VSCROLL | WS_TABSTOP | ES_READONLY | ES_MULTILINE
END
STRINGTABLE DISCARDABLE
BEGIN
IDS_LICENSE "Dette programmet er gratis programvare; du kan distribuere det og/eller endre det under betingelsene av GNU General Public License som er utgitt av Free Software Foundation; version 2 av lisensen, eller (etter din mening) alle senere versjoner.\r\n\r\nDette programmet er utgitt i håp for at det skal kunne brukes, men DET ER INGEN GARANTIER; uten heller forutsatt garantier av SALGBARHET eller SIKKETHET FOR EN ENKELTHET FORMÅL. Se på GNU General Public Lisensen for mere detaljer.\r\n\r\nDu skal ha motatt en kopi av GNU General Public Lisensen sammen med denne programmet; hvis du ikke har motatt det, skriv til Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA."
END
STRINGTABLE DISCARDABLE
BEGIN
IDS_TOOLTIP_PROP "Egenskaper"
IDS_TOOLTIP_REFRESH "Oppdater"
IDS_TOOLTIP_HELP "Hjelp"
IDS_TOOLTIP_EXIT "Avslutt"
END
/* Hints */
STRINGTABLE DISCARDABLE
BEGIN
IDS_APPNAME "ReactOS Enhetsbehandler"
IDS_HINT_BLANK " "
IDS_HINT_EXIT " Avslutt programmet."
IDS_HINT_REFRESH " Oppdater tjeneste listen."
IDS_HINT_PROP " Open property sheet for the current selection."
IDS_HINT_HELP " Vis hjelp vinduet."
IDS_HINT_ABOUT " Om ReactOS Enhetsbehandler."
IDS_HINT_SYS_RESTORE " Gjenopprett dette vinduet til vanlig størrelse."
IDS_HINT_SYS_MOVE " Flytt dette vinduet."
IDS_HINT_SYS_SIZE " Endre størrelse på dette vinduet."
IDS_HINT_SYS_MINIMIZE " Gjør om dette vinduet til en ikon."
IDS_HINT_SYS_MAXIMIZE " Gjør om dette vinduet til å fylle hele skjermen."
IDS_HINT_SYS_CLOSE " Lukk dette vinduet."
END

View file

@ -1,84 +0,0 @@
/*
* translated by xrogers
* xxrogers@users.sourceforge.net
* https://sourceforge.net/projects/reactospl
* UTF-8 conversion by Caemyr (May, 2011)
*/
LANGUAGE LANG_POLISH, SUBLANG_DEFAULT
IDR_MAINMENU MENU
BEGIN
POPUP "&Plik"
BEGIN
MENUITEM "Za&kończ", IDC_EXIT
END
POPUP "&Akcja"
BEGIN
MENUITEM "&Drukuj", IDC_PRINT, GRAYED
MENUITEM SEPARATOR
MENUITEM "&Właściwości", IDC_PROP, GRAYED
END
POPUP "&Widok"
BEGIN
MENUITEM "Urządzenia w&edług typu", IDC_DEVBYTYPE, CHECKED
MENUITEM "Ur&ządzenia według połączenia", IDC_STATIC, GRAYED
MENUITEM "Zaso&by według typu", IDC_STATIC, GRAYED
MENUITEM "Za&soby według połączenia", IDC_STATIC, GRAYED
END
POPUP "Pomo&c"
BEGIN
MENUITEM "Menedżer urządzeń - i&nformacje", IDC_ABOUT
END
END
IDR_POPUP MENU
BEGIN
POPUP "popup"
BEGIN
MENUITEM "Właściwości", IDC_PROP, GRAYED
END
END
IDD_ABOUTBOX DIALOGEX 22,16,190,182
CAPTION "Menedżer urządzeń - informacje"
FONT 8,"MS Shell Dlg",0,0
STYLE DS_SHELLFONT | WS_BORDER | WS_DLGFRAME | WS_SYSMENU | DS_MODALFRAME
BEGIN
LTEXT "Menedżer urządzeń v0.1\nCopyright (C) 2006\nby Ged Murphy (gedmurphy@gmail.com)", IDC_STATIC, 48, 7, 130, 26
PUSHBUTTON "Zamknij", IDOK, 75, 162, 44, 15
ICON IDI_MAIN_ICON, IDC_STATIC, 10, 10, 7, 30
EDITTEXT IDC_LICENSE_EDIT, 8, 44, 174, 107, WS_VISIBLE | WS_VSCROLL | WS_TABSTOP | ES_READONLY | ES_MULTILINE
END
STRINGTABLE DISCARDABLE
BEGIN
IDS_LICENSE "Niniejszy program jest wolnym oprogramowaniem; możesz go rozprowadzać dalej i/lub modyfikować na warunkach Powszechnej Licencji Publicznej GNU, wydanej przez Fundację Wolnego Oprogramowania - według wersji 2 tej Licencji lub (według twojego wyboru) którejś z późniejszych wersji.\r\n\r\nNiniejszy program rozpowszechniany jest z nadzieją, iż będzie on użyteczny - jednak BEZ JAKIEJKOLWIEK GWARANCJI, nawet domyślnej gwarancji PRZYDATNOŚCI HANDLOWEJ albo PRZYDATNOŚCI DO OKREŚLONYCH ZASTOSOWAŃ. W celu uzyskania bliższych informacji sięgnij do Powszechnej Licencji Publicznej GNU.\r\n\r\nZ pewnością wraz z niniejszym programem otrzymałeś też egzemplarz Powszechnej Licencji Publicznej GNU (GNU General Public License); jeśli nie - napisz do Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA."
END
STRINGTABLE DISCARDABLE
BEGIN
IDS_TOOLTIP_PROP "Właściwości"
IDS_TOOLTIP_REFRESH "Odśwież"
IDS_TOOLTIP_HELP "Pomoc"
IDS_TOOLTIP_EXIT "Wyjście"
END
/* Hints */
STRINGTABLE DISCARDABLE
BEGIN
IDS_APPNAME "Menedżer urządzeń ReactOS"
IDS_HINT_BLANK " "
IDS_HINT_EXIT " Zamyka program."
IDS_HINT_REFRESH " Odśwież listę serwisów."
IDS_HINT_PROP " Otwiera arkusz właściwości dla bieżącego zaznaczenia."
IDS_HINT_HELP " Otwiera pomoc."
IDS_HINT_ABOUT " Informacje o Menedżerze urządzeń ReactOS."
IDS_HINT_SYS_RESTORE " Przywraca okno do normalnych rozmiarów."
IDS_HINT_SYS_MOVE " Przesuwa to okno."
IDS_HINT_SYS_SIZE " Zmienia rozmiar tego okna."
IDS_HINT_SYS_MINIMIZE " Minimalizuje to okno do ikony."
IDS_HINT_SYS_MAXIMIZE " Rozszerza to okno do rozmiarów ekranu."
IDS_HINT_SYS_CLOSE " Zamyka okno."
END

View file

@ -1,79 +0,0 @@
/* Translation and UTF-8 Conversion by mkbu95 <mkbu95@gmail.com> (May, 2012) */
LANGUAGE LANG_PORTUGUESE, SUBLANG_NEUTRAL
IDR_MAINMENU MENU
BEGIN
POPUP "&File"
BEGIN
MENUITEM "&Sair", IDC_EXIT
END
POPUP "Ação"
BEGIN
MENUITEM "Imprimir", IDC_PRINT, GRAYED
MENUITEM SEPARATOR
MENUITEM "Propriedades", IDC_PROP, GRAYED
END
POPUP "Visualizar"
BEGIN
MENUITEM "Dispositivos por tipo", IDC_DEVBYTYPE, CHECKED
MENUITEM "Dispositivos por conexão", IDC_STATIC, GRAYED
MENUITEM "Recursos por tipo", IDC_STATIC, GRAYED
MENUITEM "Recursos por conexão", IDC_STATIC, GRAYED
END
POPUP "Ajuda"
BEGIN
MENUITEM "Sobre", IDC_ABOUT
END
END
IDR_POPUP MENU
BEGIN
POPUP "popup"
BEGIN
MENUITEM "Propriedades", IDC_PROP, GRAYED
END
END
IDD_ABOUTBOX DIALOGEX 22,16,190,182
CAPTION "Sobre Gerenciador de Dispositivos"
FONT 8,"MS Shell Dlg",0,0
STYLE DS_SHELLFONT | WS_BORDER | WS_DLGFRAME | WS_SYSMENU | DS_MODALFRAME
BEGIN
LTEXT "Gerenciador de Dispositivos v0.1\nCopyright (C) 2006\nby Ged Murphy (gedmurphy@gmail.com)", IDC_STATIC, 48, 7, 130, 30
PUSHBUTTON "Fechar", IDOK, 75, 162, 44, 15
ICON IDI_MAIN_ICON, IDC_STATIC, 10, 10, 7, 30
EDITTEXT IDC_LICENSE_EDIT, 8, 44, 174, 107, WS_VISIBLE | WS_VSCROLL | WS_TABSTOP | ES_READONLY | ES_MULTILINE
END
STRINGTABLE DISCARDABLE
BEGIN
IDS_LICENSE "This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.\r\n\r\nThis program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.\r\n\r\nYou should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA."
END
STRINGTABLE DISCARDABLE
BEGIN
IDS_TOOLTIP_PROP "Propriedades"
IDS_TOOLTIP_REFRESH "Atualizar"
IDS_TOOLTIP_HELP "Ajuda"
IDS_TOOLTIP_EXIT "Sair"
END
/* Hints */
STRINGTABLE DISCARDABLE
BEGIN
IDS_APPNAME "Gerenciador de Dispositivos ReactOS"
IDS_HINT_BLANK " "
IDS_HINT_EXIT " Fecha o programa."
IDS_HINT_REFRESH " Atualiza a lista de serviço."
IDS_HINT_PROP " Abre uma folha de propriedades para a seleção atual."
IDS_HINT_HELP " Exibe tela de ajuda."
IDS_HINT_ABOUT " Sobre Gerenciador de Dispositivos ReactOS."
IDS_HINT_SYS_RESTORE " Restaura esta janela ao tamanho normal."
IDS_HINT_SYS_MOVE " Move esta janela."
IDS_HINT_SYS_SIZE " Redimensiona esta janela."
IDS_HINT_SYS_MINIMIZE " Reduz esta janela a um ícone."
IDS_HINT_SYS_MAXIMIZE " Expande esta janela ao tamanho da tela."
IDS_HINT_SYS_CLOSE " Fecha esta janela."
END

View file

@ -1,78 +0,0 @@
/* Ștefan Fulea (stefan dot fulea at mail dot md) */
LANGUAGE LANG_ROMANIAN, SUBLANG_DEFAULT
IDR_MAINMENU MENU
BEGIN
POPUP "&Fișier"
BEGIN
MENUITEM "I&eșire", IDC_EXIT
END
POPUP "A&cțiune"
BEGIN
MENUITEM "Im&primare", IDC_PRINT, GRAYED
MENUITEM SEPARATOR
MENUITEM "P&roprietăți", IDC_PROP, GRAYED
END
POPUP "&Afișare"
BEGIN
MENUITEM "Dispozitive după &tip", IDC_DEVBYTYPE, CHECKED
MENUITEM "Dispozitive după &conexiune", IDC_STATIC, GRAYED
MENUITEM "Resurse după t&ip", IDC_STATIC, GRAYED
MENUITEM "Resurse după c&onexiune", IDC_STATIC, GRAYED
END
POPUP "Aj&utor"
BEGIN
MENUITEM "Despre…", IDC_ABOUT
END
END
IDR_POPUP MENU
BEGIN
POPUP "popup"
BEGIN
MENUITEM "&Proprietăți", IDC_PROP, GRAYED
END
END
IDD_ABOUTBOX DIALOGEX 22,16,190,182
CAPTION "Despre Gestionarul de dispozitive"
FONT 8,"MS Shell Dlg",0,0
STYLE DS_SHELLFONT | WS_BORDER | WS_DLGFRAME | WS_SYSMENU | DS_MODALFRAME
BEGIN
LTEXT "Gestionar de Dispozitive v0.1\nDrept de autor (C) 2006\nde Ged Murphy (gedmurphy@gmail.com)\nTraducere de Petru Dimitriu", IDC_STATIC, 48, 7, 130, 35
PUSHBUTTON "Î&nchide", IDOK, 75, 162, 44, 15
ICON IDI_MAIN_ICON, IDC_STATIC, 10, 10, 7, 30
EDITTEXT IDC_LICENSE_EDIT, 8, 47, 174, 107, WS_VISIBLE | WS_VSCROLL | WS_TABSTOP | ES_READONLY | ES_MULTILINE
END
STRINGTABLE DISCARDABLE
BEGIN
IDS_LICENSE "Această aplicație este publică; fiind permisă modificarea și/sau (re)distribuția sa în termenii Licenței Publice Generale GNU publicată de Free Software Foundation; sau versiunea 2 a Licenței, sau (la alegere) a oricărei versiuni ulterioare.\r\n\r\nAceastă aplicație este distribuită doar în speranța de a fi utilă, FĂRĂ însă NICI O GARANȚIE; nici măcar cu garanția implicită a VANDABILITĂȚII sau a UTILITĂȚII ÎNTR-UN SCOP ANUME. Pentru mai multe detalii consultați Licența Publică Generală GNU.\r\n\r\nPuteți vedea această licență aici:\r\nhttp://www.gnu.org/licenses/gpl.html\r\n\r\nDe asemenea puteți consulta traduceri neoficiale ale acestei licențe aici:\r\nhttp://www.gnu.org/licenses/translations.html"
END
STRINGTABLE DISCARDABLE
BEGIN
IDS_TOOLTIP_PROP "Proprietăți"
IDS_TOOLTIP_REFRESH "Împrospătare"
IDS_TOOLTIP_HELP "Manual de utilizare"
IDS_TOOLTIP_EXIT "Ieșire"
END
/* Hints */
STRINGTABLE DISCARDABLE
BEGIN
IDS_APPNAME "Gestionar de dispozitive ReactOS"
IDS_HINT_BLANK " "
IDS_HINT_EXIT " Părăsește programul."
IDS_HINT_REFRESH " Împrospătează lista de servicii."
IDS_HINT_PROP " Afișează tabel cu proprietăți pentru selecția curentă."
IDS_HINT_HELP " Afișează manualul de utilizare."
IDS_HINT_ABOUT " Despre Gestionarul de dispozitive."
IDS_HINT_SYS_RESTORE " Aduce fereastra la mărime normală."
IDS_HINT_SYS_MOVE " Mută fereastra."
IDS_HINT_SYS_SIZE " Redimensionează fereastra."
IDS_HINT_SYS_MINIMIZE " Reduce fereastra la minim."
IDS_HINT_SYS_MAXIMIZE " Mărește fereastra la maxim."
IDS_HINT_SYS_CLOSE " Închide fereastra."
END

View file

@ -1,79 +0,0 @@
// Russian language resource file (Dmitry Chapyshev, 2007-06-10)
LANGUAGE LANG_RUSSIAN, SUBLANG_DEFAULT
IDR_MAINMENU MENU
BEGIN
POPUP "&Файл"
BEGIN
MENUITEM "&Выход", IDC_EXIT
END
POPUP "Действие"
BEGIN
MENUITEM "Печать", IDC_PRINT, GRAYED
MENUITEM SEPARATOR
MENUITEM "Свойства", IDC_PROP, GRAYED
END
POPUP "Вид"
BEGIN
MENUITEM "Устройства по типу", IDC_DEVBYTYPE, CHECKED
MENUITEM "Устройства по подключению", IDC_STATIC, GRAYED
MENUITEM "Ресурсы по типу", IDC_STATIC, GRAYED
MENUITEM "Ресурсы по подключению", IDC_STATIC, GRAYED
END
POPUP "Справка"
BEGIN
MENUITEM "О программе", IDC_ABOUT
END
END
IDR_POPUP MENU
BEGIN
POPUP "popup"
BEGIN
MENUITEM "Свойства", IDC_PROP, GRAYED
END
END
IDD_ABOUTBOX DIALOGEX 22,16,190,182
CAPTION "О Диспетчере устройств"
FONT 8,"MS Shell Dlg",0,0
STYLE DS_SHELLFONT | WS_BORDER | WS_DLGFRAME | WS_SYSMENU | DS_MODALFRAME
BEGIN
LTEXT "Диспетчер устройств v0.1\nCopyright (C) 2006\nот Ged Murphy (gedmurphy@gmail.com)", IDC_STATIC, 48, 7, 130, 30
PUSHBUTTON "Закрыть", IDOK, 75, 162, 44, 15
ICON IDI_MAIN_ICON, IDC_STATIC, 10, 10, 7, 30
EDITTEXT IDC_LICENSE_EDIT, 8, 44, 174, 107, WS_VISIBLE | WS_VSCROLL | WS_TABSTOP | ES_READONLY | ES_MULTILINE
END
STRINGTABLE DISCARDABLE
BEGIN
IDS_LICENSE "Эта программа является свободно распространяемой; Вы можете распространять ее повторно и (или) изменять, соблюдая условия Открытого лицензионного соглашения GNU, опубликованного Фондом свободно распространяемого программного обеспечения; либо редакции 2 Соглашения, либо (на ваше усмотрение) любой редакции, выпущенной позже.\r\n\r\nЭта программа распространяется в надежде на то, что она окажется полезной, но БЕЗ КАКИХ-ЛИБО ГАРАНТИЙ, включая подразумеваемую гарантию КАЧЕСТВА либо ПРИГОДНОСТИ ДЛЯ ОПРЕДЕЛЕННЫХ ЦЕЛЕЙ. Подробности содержатся в Открытом лицензионном соглашении GNU.\r\n\r\nВместе с этой программой должен распространяться экземпляр Открытого лицензионного соглашения GNU, если он отсутствует, сообщите об этом в Фонд свободно распространяемого программного обеспечения (Free Software Foundation, Inc.), 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA."
END
STRINGTABLE DISCARDABLE
BEGIN
IDS_TOOLTIP_PROP "Свойства"
IDS_TOOLTIP_REFRESH "Обновить"
IDS_TOOLTIP_HELP "Помощь"
IDS_TOOLTIP_EXIT "Выход"
END
/* Hints */
STRINGTABLE DISCARDABLE
BEGIN
IDS_APPNAME "Диспетчер устройств ReactOS"
IDS_HINT_BLANK " "
IDS_HINT_EXIT " Выход из программы."
IDS_HINT_REFRESH " Обновить список."
IDS_HINT_PROP " Открыть свойства для выбранного элемента."
IDS_HINT_HELP " Показать окно справки."
IDS_HINT_ABOUT " О ReactOS Device Manager."
IDS_HINT_SYS_RESTORE " Востановить нормальный размер этого окна."
IDS_HINT_SYS_MOVE " Переместить это окно."
IDS_HINT_SYS_SIZE " Изменить размер этого окна."
IDS_HINT_SYS_MINIMIZE " Свернуть это окно в значок."
IDS_HINT_SYS_MAXIMIZE " Развернуть это окно на полный экран."
IDS_HINT_SYS_CLOSE " Закрыть это окно."
END

View file

@ -1,82 +0,0 @@
/* TRANSLATOR: Mário Kačmár /Mario Kacmar/ aka Kario (kario@szm.sk)
* DATE OF TR.: 14-02-2008
* LAST CHANGE: 29-08-2008
*/
LANGUAGE LANG_SLOVAK, SUBLANG_DEFAULT
IDR_MAINMENU MENU
BEGIN
POPUP "&Súbor"
BEGIN
MENUITEM "&Skončiť", IDC_EXIT
END
POPUP "Akcia"
BEGIN
MENUITEM "Tlačiť", IDC_PRINT, GRAYED
MENUITEM SEPARATOR
MENUITEM "Vlastnosti", IDC_PROP, GRAYED
END
POPUP "Zobraziť"
BEGIN
MENUITEM "Zariadenia podľa typu", IDC_DEVBYTYPE, CHECKED
MENUITEM "Zariadenia podľa pripojenia", IDC_STATIC, GRAYED
MENUITEM "Prostriedky podľa typu", IDC_STATIC, GRAYED
MENUITEM "Prostriedky podľa pripojenia", IDC_STATIC, GRAYED
END
POPUP "Pomocník"
BEGIN
MENUITEM "Čo je ...", IDC_ABOUT
END
END
IDR_POPUP MENU
BEGIN
POPUP "popup"
BEGIN
MENUITEM "Vlastnosti", IDC_PROP, GRAYED
END
END
IDD_ABOUTBOX DIALOGEX 22,16,190,182
CAPTION "Čo je Správca zariadení"
FONT 8,"MS Shell Dlg",0,0
STYLE DS_SHELLFONT | WS_BORDER | WS_DLGFRAME | WS_SYSMENU | DS_MODALFRAME
BEGIN
LTEXT "Správca zariadení v0.1\nCopyright (C) 2006\nod Ged Murphy (gedmurphy@gmail.com)", IDC_STATIC, 48, 7, 130, 30
PUSHBUTTON "Zavrieť", IDOK, 75, 162, 44, 15
ICON IDI_MAIN_ICON, IDC_STATIC, 10, 10, 7, 30
EDITTEXT IDC_LICENSE_EDIT, 8, 44, 174, 107, WS_VISIBLE | WS_VSCROLL | WS_TABSTOP | ES_READONLY | ES_MULTILINE
END
STRINGTABLE DISCARDABLE
BEGIN
IDS_LICENSE "Tento program je voľný softvér; môžete ho šíriť a/alebo modifikovať podľa podmienok GNU Všeobecnej verejnej licencie (GNU General Public License) ako bola zverejnená nadáciou Free Software Foundation; buď verzie 2 tejto licencie, alebo (podľa Vášho uváženia) niektorej neskoršej verzie.\r\n\r\nTento program je distribuovaný v nádeji, že bude užitočný, avšak BEZ AKEJKOĽVEK ZÁRUKY; rovnako bez záruky PREDAJNOSTI alebo VHODNOSTI PRE URČITÝ ÚČEL. Pre viac detailov si pozrite GNU Všeobecnú verejnú licenciu (GNU General Public License).\r\n\r\nKópiu Všeobecnej verejnej licencie GNU ste mali dostať spolu s týmto programom; ak nie, napíšte si o ňu na Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA."
END
STRINGTABLE DISCARDABLE
BEGIN
IDS_TOOLTIP_PROP "Vlastnosti"
IDS_TOOLTIP_REFRESH "Obnoviť"
IDS_TOOLTIP_HELP "Pomocník"
IDS_TOOLTIP_EXIT "Skončiť"
END
/* Hints */
STRINGTABLE DISCARDABLE
BEGIN
IDS_APPNAME "Správca zariadení systému ReactOS"
IDS_HINT_BLANK " "
IDS_HINT_EXIT " Skončí program."
IDS_HINT_REFRESH " Obnoví zoznam služieb."
IDS_HINT_PROP " Otvorí okno s vlastnosťami pre aktuálny výber."
IDS_HINT_HELP " Zobrazí okno pomocníka."
IDS_HINT_ABOUT " Čo je Správca zariadení systému ReactOS."
IDS_HINT_SYS_RESTORE " Obnoví okno na normálnu veľkosť."
IDS_HINT_SYS_MOVE " Premiestni okno."
IDS_HINT_SYS_SIZE " Zmení veľkosť okna."
IDS_HINT_SYS_MINIMIZE " Zbalí okno na ikonu."
IDS_HINT_SYS_MAXIMIZE " Zväčší okno tak, aby zaplnilo celú obrazovku."
IDS_HINT_SYS_CLOSE " Zatvorí okno."
END

View file

@ -1,81 +0,0 @@
/* TRANSLATOR : Ardit Dani (Ard1t) (ardit.dani@gmail.com)
* DATE OF TR: 29-11-2013
*/
LANGUAGE LANG_ALBANIAN, SUBLANG_NEUTRAL
IDR_MAINMENU MENU
BEGIN
POPUP "&File"
BEGIN
MENUITEM "Dil", IDC_EXIT
END
POPUP "Veprim"
BEGIN
MENUITEM "Printo", IDC_PRINT, GRAYED
MENUITEM SEPARATOR
MENUITEM "Tipar", IDC_PROP, GRAYED
END
POPUP "Vëzhgo"
BEGIN
MENUITEM "Pajisje nga tipi", IDC_DEVBYTYPE, CHECKED
MENUITEM "Pajisje nga lidhja", IDC_STATIC, GRAYED
MENUITEM "Burime nga tipi", IDC_STATIC, GRAYED
MENUITEM "Burime nga lidhja", IDC_STATIC, GRAYED
END
POPUP "Ndihmë"
BEGIN
MENUITEM "Rreth", IDC_ABOUT
END
END
IDR_POPUP MENU
BEGIN
POPUP "popup"
BEGIN
MENUITEM "Tipar", IDC_PROP, GRAYED
END
END
IDD_ABOUTBOX DIALOGEX 22,16,190,182
CAPTION "Rreth Menaxhimit të pajisjeve"
FONT 8,"MS Shell Dlg",0,0
STYLE DS_SHELLFONT | WS_BORDER | WS_DLGFRAME | WS_SYSMENU | DS_MODALFRAME
BEGIN
LTEXT "Menaxhues pajisjesh v0.1\nCopyright (C) 2006\nby Ged Murphy (gedmurphy@gmail.com)", IDC_STATIC, 48, 7, 130, 30
PUSHBUTTON "Mbyll", IDOK, 75, 162, 44, 15
ICON IDI_MAIN_ICON, IDC_STATIC, 10, 10, 7, 30
EDITTEXT IDC_LICENSE_EDIT, 8, 44, 174, 107, WS_VISIBLE | WS_VSCROLL | WS_TABSTOP | ES_READONLY | ES_MULTILINE
END
STRINGTABLE
BEGIN
IDS_LICENSE "Ky program është software falas; ju mund ta shpërndani dhe / ose modifikoni sipas kushteve të GNU General Public License publikuar nga Free Software Foundation; sipas versionit 2 të Liçencës, ose (sipas opinionit tuaj) çdo versioni të mëvonshëm.\r\n\r\nKy program shperndahet me shpresen qe do t'ju jete i dobishem, por PA ASNJE GARANCI; madje edhe pa garancine e shprehur te TREGTUESHMERISE OSE PERSHTATJES PER NJE QILLIM TE CAKTUAR. Shiko Liçencen Publike te Pergjithshme GNU per me shume detaje..\r\n\r\nJu duhet të keni marrë një kopje të Liçensës së Përgjithshme Publike GNU së bashku me këtë program, e nëse jo, shkruani në Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA."
END
STRINGTABLE
BEGIN
IDS_TOOLTIP_PROP "Tipar"
IDS_TOOLTIP_REFRESH "Rifresko"
IDS_TOOLTIP_HELP "Ndihmë"
IDS_TOOLTIP_EXIT "Dil"
END
/* Hints */
STRINGTABLE
BEGIN
IDS_APPNAME "Menaxhuesi i pajisjeve ReactOS"
IDS_HINT_BLANK " "
IDS_HINT_EXIT " Dil nga programi."
IDS_HINT_REFRESH " Rifresko listen e sherbimeve."
IDS_HINT_PROP " Hap tiparet e fletes për perzgjedhjen aktuale."
IDS_HINT_HELP " Shfaq dritaren e ndihmës."
IDS_HINT_ABOUT " Rreth menaxhusit të pajisjeve të ReactOS."
IDS_HINT_SYS_RESTORE " Kthe kete dritare ne mase normale."
IDS_HINT_SYS_MOVE " Leviz kete dritare."
IDS_HINT_SYS_SIZE " Ndryshon permasat e dritares."
IDS_HINT_SYS_MINIMIZE " Kthen kete dritare ne ikone."
IDS_HINT_SYS_MAXIMIZE " Zmadhon kete dritare ne permasa te ekranit."
IDS_HINT_SYS_CLOSE " Mbyll kete dritare."
END

View file

@ -1,83 +0,0 @@
/*
* PROJECT: ReactOS APPS
* FILE: \base\applications\mscutils\devmgmt\lang\sv-SE.rc
* PURPOSE: Swedish resource file
* Translation: Jaix Bly
*/
LANGUAGE LANG_SWEDISH, SUBLANG_NEUTRAL
IDR_MAINMENU MENU
BEGIN
POPUP "&Arkiv"
BEGIN
MENUITEM "A&vsluta", IDC_EXIT
END
POPUP "Åtgärd"
BEGIN
MENUITEM "Skriv ut", IDC_PRINT, GRAYED
MENUITEM SEPARATOR
MENUITEM "Egenskaper", IDC_PROP, GRAYED
END
POPUP "Visa"
BEGIN
MENUITEM "Enheter efter typ", IDC_DEVBYTYPE, CHECKED
MENUITEM "Enheter efter koppling", IDC_STATIC, GRAYED
MENUITEM "Resurcer efter typ", IDC_STATIC, GRAYED
MENUITEM "Resurcer efter koppling", IDC_STATIC, GRAYED
END
POPUP "Hjälp"
BEGIN
MENUITEM "Om", IDC_ABOUT
END
END
IDR_POPUP MENU
BEGIN
POPUP "popup"
BEGIN
MENUITEM "Egenskaper", IDC_PROP, GRAYED
END
END
IDD_ABOUTBOX DIALOGEX 22,16,190,182
CAPTION "Om Enhetshanteraren"
FONT 8,"MS Shell Dlg",0,0
STYLE DS_SHELLFONT | WS_BORDER | WS_DLGFRAME | WS_SYSMENU | DS_MODALFRAME
BEGIN
LTEXT "Enhetshanteraren v0.1\nCopyright (C) 2006\nby Ged Murphy (gedmurphy@gmail.com)", IDC_STATIC, 48, 7, 130, 30
PUSHBUTTON "Stäng", IDOK, 75, 162, 44, 15
ICON IDI_MAIN_ICON, IDC_STATIC, 10, 10, 7, 30
EDITTEXT IDC_LICENSE_EDIT, 8, 44, 174, 107, WS_VISIBLE | WS_VSCROLL | WS_TABSTOP | ES_READONLY | ES_MULTILINE
END
STRINGTABLE DISCARDABLE
BEGIN
IDS_LICENSE "Detta programmet är fri programvara; du kan distribuera det och/eller ändra det under villkoren enligt GNU General Public License som är utgivet av Free Software Foundation; version 2, eller (om du så önskar) alla senare versioner.\r\n\r\nDette programmet er utgivet i hopp om att det skall kunne användas, men DET FINNS INGA GARANTIER; även utan underförstådd garanti om SÄLJBARHET eller LÄMPLIGHET FÖR ETT VISST ÄNDAMÅL. Se på GNU General Public Licensen för mer detaljer.\r\n\r\nDu skall ha motagit en kopia av GNU General Public Licensen tillsammans med detta programmet; om du inte har fått det, skriv til Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA."
END
STRINGTABLE DISCARDABLE
BEGIN
IDS_TOOLTIP_PROP "Egenskaper"
IDS_TOOLTIP_REFRESH "Uppdater"
IDS_TOOLTIP_HELP "Hjälp"
IDS_TOOLTIP_EXIT "Avsluta"
END
/* Hints */
STRINGTABLE DISCARDABLE
BEGIN
IDS_APPNAME "ReactOS Enhetshanterare"
IDS_HINT_BLANK " "
IDS_HINT_EXIT " Avsluta programmet."
IDS_HINT_REFRESH " Uppdatera tjänstelistan."
IDS_HINT_PROP " Öppna egenskaper för markerat val."
IDS_HINT_HELP " Visa hjälpfönstret."
IDS_HINT_ABOUT " Om ReactOS Enhetshanterare."
IDS_HINT_SYS_RESTORE " Återställ detta fönstret till normal storlek."
IDS_HINT_SYS_MOVE " Flytta detta fönstret."
IDS_HINT_SYS_SIZE " Ändra storleken på detta fönstret."
IDS_HINT_SYS_MINIMIZE " Minimera detta fönstret till en ikon."
IDS_HINT_SYS_MAXIMIZE " Maximera dette fönstret så det fyller hela skärmen."
IDS_HINT_SYS_CLOSE " Stäng detta fönstret."
END

View file

@ -1,86 +0,0 @@
/*
* PROJECT: ReactOS Device Management
* LICENSE: GPL - See COPYING in the top level directory
* FILE: base/applications/devmgmt/lang/th-TH.rc
* PURPOSE: Thai translation
* COPYRIGHT: Copyright 2007 Sumath Aowsakulsutthi
*
*/
LANGUAGE LANG_THAI, SUBLANG_DEFAULT
IDR_MAINMENU MENU
BEGIN
POPUP "แ&ฟ้ม"
BEGIN
MENUITEM "&ออก", IDC_EXIT
END
POPUP "เริ่มทำ"
BEGIN
MENUITEM "พิมพ์", IDC_PRINT, GRAYED
MENUITEM SEPARATOR
MENUITEM "คุณสมบัติ", IDC_PROP, GRAYED
END
POPUP "มุมมอง"
BEGIN
MENUITEM "อุปกรณ์แบ่งตามประเภท", IDC_DEVBYTYPE, CHECKED
MENUITEM "อุปกรณ์แบ่งตามการเชื่อมต่อ", IDC_STATIC, GRAYED
MENUITEM "แหล่งข้อมูลตามประเภท", IDC_STATIC, GRAYED
MENUITEM "แหล่งข้อมูลตามการเชื่อมต่อ", IDC_STATIC, GRAYED
END
POPUP "ช่วยเหลือ"
BEGIN
MENUITEM "เกี่ยวกับ", IDC_ABOUT
END
END
IDR_POPUP MENU
BEGIN
POPUP "หน้าต่างปัจจุบัน"
BEGIN
MENUITEM "คุณสมบัติ", IDC_PROP, GRAYED
END
END
IDD_ABOUTBOX DIALOGEX 22,16,190,182
CAPTION "เกี่ยวกับการจัดการอุปกรณ์"
FONT 8,"MS Shell Dlg",0,0
STYLE DS_SHELLFONT | WS_BORDER | WS_DLGFRAME | WS_SYSMENU | DS_MODALFRAME
BEGIN
LTEXT "Device Manager v0.1\nCopyright (C) 2006\nby Ged Murphy (gedmurphy@gmail.com)", IDC_STATIC, 48, 7, 130, 26
PUSHBUTTON "Close", IDOK, 75, 162, 44, 15
ICON IDI_MAIN_ICON, IDC_STATIC, 10, 10, 7, 30
EDITTEXT IDC_LICENSE_EDIT, 8, 44, 174, 107, WS_VISIBLE | WS_VSCROLL | WS_TABSTOP | ES_READONLY | ES_MULTILINE
END
STRINGTABLE DISCARDABLE
BEGIN
IDS_LICENSE "This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.\r\n\r\nThis program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.\r\n\r\nYou should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA."
END
STRINGTABLE DISCARDABLE
BEGIN
IDS_TOOLTIP_PROP "คุณสมบัติ"
IDS_TOOLTIP_REFRESH "ฟื้นฟู"
IDS_TOOLTIP_HELP "ช่วยเหลือ"
IDS_TOOLTIP_EXIT "ออกจากโปรแกรม"
END
/* Hints */
STRINGTABLE DISCARDABLE
BEGIN
IDS_APPNAME "การจัดการอุปกรณ์ของ ReactOS"
IDS_HINT_BLANK " "
IDS_HINT_EXIT " ออกจากโปรแกรม"
IDS_HINT_REFRESH " ฟื้นฟูรายการบริการ"
IDS_HINT_PROP " เปิดคุณสมบัติของแผ่นงานตามการเลือกในปัจจุบัน"
IDS_HINT_HELP " แสดงหน้าต่างช่วยเหลือ"
IDS_HINT_ABOUT " เกี่ยวกับการจัดการอุปกรณ์ของ ReactOS"
IDS_HINT_SYS_RESTORE " คืนสภาพของหน้าต่างนี้สู่ขนาดปกติ"
IDS_HINT_SYS_MOVE " ย้ายหน้าต่างนี้"
IDS_HINT_SYS_SIZE " เปลี่ยนขนาดหน้าต่างนี้"
IDS_HINT_SYS_MINIMIZE " ย่อหน้าต่างนี้ให้เป็นสัญรูป"
IDS_HINT_SYS_MAXIMIZE " ขยายหน้าต่างนี้จนเต็มหน้าจอ"
IDS_HINT_SYS_CLOSE " ปิดหน้าต่างนี้"
END

View file

@ -1,86 +0,0 @@
/* TRANSLATOR: 2013, 2014 Erdem Ersoy (eersoy93) (erdemersoy@live.com) */
LANGUAGE LANG_TURKISH, SUBLANG_DEFAULT
IDR_MAINMENU MENU
BEGIN
POPUP "&Kütük"
BEGIN
MENUITEM "&Çıkış", IDC_EXIT
END
POPUP "&Eylem"
BEGIN
MENUITEM "&Donanım Değişiklikleri İçin Tara" IDC_REFRESH
MENUITEM "&Yazdır", IDC_PRINT, GRAYED
MENUITEM SEPARATOR
MENUITEM "&Husûsiyetler", IDC_PROP, GRAYED
END
POPUP "&Görünüm"
BEGIN
MENUITEM "&Türe Göre Aygıtlar", IDC_DEVBYTYPE, CHECKED
MENUITEM "&Bağlantıya Göre Aygıtlar", IDC_STATIC, GRAYED
MENUITEM "T&üre Göre Kaynaklar", IDC_STATIC, GRAYED
MENUITEM "B&ağlantıya Göre Kaynaklar", IDC_STATIC, GRAYED
MENUITEM SEPARATOR
MENUITEM "&Gizli Aygıtları Göster", IDC_SHOWHIDDEN
END
POPUP "&Yardım"
BEGIN
MENUITEM "&Üzerine", IDC_ABOUT
END
END
IDR_POPUP MENU
BEGIN
POPUP "popup"
BEGIN
MENUITEM "Husûsiyetler", IDC_PROP, GRAYED
END
END
IDD_ABOUTBOX DIALOGEX 22,16,190,182
CAPTION "Aygıt Yöneticisi Üzerine"
FONT 8,"MS Shell Dlg",0,0
STYLE DS_SHELLFONT | WS_BORDER | WS_DLGFRAME | WS_SYSMENU | DS_MODALFRAME
BEGIN
LTEXT "Aygıt Yöneticisi - Sürüm: 0.2\nTelif Hakkı: 2012\nGed Murphy (gedmurphy@gmail.com) ile.", IDC_STATIC, 48, 7, 130, 30
PUSHBUTTON "Tamam", IDOK, 75, 162, 44, 15
ICON IDI_MAIN_ICON, IDC_STATIC, 10, 10, 7, 30
EDITTEXT IDC_LICENSE_EDIT, 8, 44, 174, 107, WS_VISIBLE | WS_VSCROLL | WS_TABSTOP | ES_READONLY | ES_MULTILINE
END
STRINGTABLE DISCARDABLE
BEGIN
IDS_LICENSE "ÖNEMLİ: Aşağıdaki metin, özgün metnin resmî olmayan çevirisidir. Çeviri metniyle özgün metin arasında ayrım olabilir. Özgün metin, çeviri metninin altındadır.\r\n\r\n***\r\n\r\nBu izlence özgür yazılımdır; bunu, Özgür Yazılım Vakfı'nın yayımladığı GNU Umûmî Kamu Ruhsatı'nın, 2. sürümünün ya da daha sonraki bir sürümünün (Orası size bağlı.) şartları altında yeniden dağıtabilir veyâ değiştirebilirsiniz.\r\n\r\nBu izlence, kullanışlı olabileceği beklentisiyle dağıtılmıştır ancak bu izlencenin HİÇBİR GÜVENCESİ YOKTUR, SATILABİLİRLİĞİN ve BELİRLİ BİR AMACA UYGUNLUĞUN demek istenilen güvencesi bile. Daha çok bilgi için GNU Umûmî Kamu Ruhsatı'na bakınız.\r\n\r\nBu izlenceyle birlikte GNU Umûmî Kamu Ruhsatı'nın bir kopyasını almış olmalısınız, eğer yoksa Özgür Yazılım Vakfı AŞ'ye (51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 ABD) yazınız.\r\n\r\n***\r\n\r\nThis program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.\r\n\r\nThis program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.\r\n\r\nYou should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA."
END
STRINGTABLE DISCARDABLE
BEGIN
IDS_TOOLTIP_PROP "Husûsiyetler"
IDS_TOOLTIP_REFRESH "Donanım Değişiklikleri İçin Tara"
IDS_TOOLTIP_HELP "Yardım"
END
/* Hints */
STRINGTABLE DISCARDABLE
BEGIN
IDS_APPNAME "Aygıt Yöneticisi"
IDS_HINT_BLANK " "
IDS_HINT_EXIT " İzlenceden çıkar."
IDS_HINT_REFRESH " Değişmiş ya da yeni Tak ve Kullan aygıtları için tarar."
IDS_HINT_PROP " Şimdiki seçilen için husûsiyet penceresini açar."
IDS_HINT_HELP " Yardım penceresini görüntüler."
IDS_HINT_ABOUT " Aygıt Yöneticisi üzerine."
IDS_HINT_DEV_BY_TYPE "Aygıtları donanım türüne göre görüntüler."
IDS_HINT_DEV_BY_CONN "Aygıtları bağlantıya göre görüntüler."
IDS_HINT_RES_BY_TYPE "Kaynakları türe göre görüntüler."
IDS_HINT_RES_BY_CONN "Kaynakları bağlantı türüne göre görüntüler."
IDS_HINT_SYS_RESTORE " Bu pencereyi düzgülük boyutlarına döndürür."
IDS_HINT_SYS_MOVE " Bu pencereyi devindirir."
IDS_HINT_SYS_SIZE " Bu pencereyi yeniden boyutlandırır."
IDS_HINT_SYS_MINIMIZE " Bu pencereyi bir simgeye küçültür."
IDS_HINT_SYS_MAXIMIZE " Bu pencereyi, bu görüntülüğü kaplatana dek genişletir."
IDS_HINT_SYS_CLOSE " Bu pencereyi kapatır."
END

View file

@ -1,85 +0,0 @@
/*
* PROJECT: ReactOS Device Management
* LICENSE: GPL - See COPYING in the top level directory
* FILE: base/applications/devmgmt/lang/uk-UA.rc
* PURPOSE: Ukraianian Language File for devmgmt
* TRANSLATOR: Artem Reznikov
*/
LANGUAGE LANG_UKRAINIAN, SUBLANG_DEFAULT
IDR_MAINMENU MENU
BEGIN
POPUP "&Файл"
BEGIN
MENUITEM "В&ихід", IDC_EXIT
END
POPUP "Дія"
BEGIN
MENUITEM "Друк", IDC_PRINT, GRAYED
MENUITEM SEPARATOR
MENUITEM "Властивості", IDC_PROP, GRAYED
END
POPUP "Вигляд"
BEGIN
MENUITEM "Пристрої за типом", IDC_DEVBYTYPE, CHECKED
MENUITEM "Пристрої за підключенням", IDC_STATIC, GRAYED
MENUITEM "Ресурси за типом", IDC_STATIC, GRAYED
MENUITEM "Ресурси за підключенням", IDC_STATIC, GRAYED
END
POPUP "Довідка"
BEGIN
MENUITEM "Про програму", IDC_ABOUT
END
END
IDR_POPUP MENU
BEGIN
POPUP "popup"
BEGIN
MENUITEM "Властивості", IDC_PROP, GRAYED
END
END
IDD_ABOUTBOX DIALOGEX 22,16,190,182
CAPTION "Про програму Диспетчер пристроїв"
FONT 8,"MS Shell Dlg",0,0
STYLE DS_SHELLFONT | WS_BORDER | WS_DLGFRAME | WS_SYSMENU | DS_MODALFRAME
BEGIN
LTEXT "Диспетчер пристроїв v0.1\nCopyright (C) 2006\nby Ged Murphy (gedmurphy@gmail.com)", IDC_STATIC, 48, 7, 130, 26
PUSHBUTTON "Закрити", IDOK, 75, 162, 44, 15
ICON IDI_MAIN_ICON, IDC_STATIC, 10, 10, 7, 30
EDITTEXT IDC_LICENSE_EDIT, 8, 44, 174, 107, WS_VISIBLE | WS_VSCROLL | WS_TABSTOP | ES_READONLY | ES_MULTILINE
END
STRINGTABLE DISCARDABLE
BEGIN
IDS_LICENSE "Це вільне програмне забезпечення; Ви можете розповсюджувати її та змінювати, дотримуючись умови Відкритої ліцензійної угоди GNU, опублікованої Фондом вільного програмного забезпечення; або редакції 2 Угоди, або будь-якої редакції, випущеної пізніше.\r\n\r\nЦя програма розповсюджується в надії на те, що вона виявиться корисною, але БЕЗ БУДЬ-ЯКИХ ГАРАНТІЙ, включаючи УЯВНОЮ ГАРАНТІЄЮ ЯКОСТІ або ПРИДАТНОСТІ для певних цілей. Подробиці містяться у Відкритій ліцензійній угоді GNU.\r\n\r\nРазом з цією програмою повинен поширюватися примірник Відкритої ліцензійної угоди GNU. Якщо він відсутній, повідомте про це в Фонд вільного програмного забезпечення (Free Software Foundation, Inc.), 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA."
END
STRINGTABLE DISCARDABLE
BEGIN
IDS_TOOLTIP_PROP "Властивості"
IDS_TOOLTIP_REFRESH "Оновити"
IDS_TOOLTIP_HELP "Довідка"
IDS_TOOLTIP_EXIT "Вихід"
END
/* Hints */
STRINGTABLE DISCARDABLE
BEGIN
IDS_APPNAME "Диспетчер пристроїв ReactOS"
IDS_HINT_BLANK " "
IDS_HINT_EXIT " Вийти з програми."
IDS_HINT_REFRESH " Оновити список."
IDS_HINT_PROP " Відкрити властивості для вибраного елементу."
IDS_HINT_HELP " Показати вікно довідки."
IDS_HINT_ABOUT " Про Диспетчер пристроїв ReactOS."
IDS_HINT_SYS_RESTORE " Відновити вихідний розмір вікна."
IDS_HINT_SYS_MOVE " Змінити розташування вікна."
IDS_HINT_SYS_SIZE " Змінити розмір вікна."
IDS_HINT_SYS_MINIMIZE " Згорнути вікно у значок."
IDS_HINT_SYS_MAXIMIZE " Розгорнути вікно на весь екран."
IDS_HINT_SYS_CLOSE " Закрити вікно."
END

View file

@ -1,81 +0,0 @@
/*
* Translated by Song Fuchang (0xfc) <sfc_0@yahoo.com.cn>
*/
LANGUAGE LANG_CHINESE, SUBLANG_CHINESE_SIMPLIFIED
IDR_MAINMENU MENU
BEGIN
POPUP "文件(&F)"
BEGIN
MENUITEM "退出(&X)", IDC_EXIT
END
POPUP "动作"
BEGIN
MENUITEM "打印", IDC_PRINT, GRAYED
MENUITEM SEPARATOR
MENUITEM "属性", IDC_PROP, GRAYED
END
POPUP "查看"
BEGIN
MENUITEM "设备,按类型", IDC_DEVBYTYPE, CHECKED
MENUITEM "设备,按连接", IDC_STATIC, GRAYED
MENUITEM "资源,按类型", IDC_STATIC, GRAYED
MENUITEM "资源,按连接", IDC_STATIC, GRAYED
END
POPUP "帮助"
BEGIN
MENUITEM "关于", IDC_ABOUT
END
END
IDR_POPUP MENU
BEGIN
POPUP "popup"
BEGIN
MENUITEM "属性", IDC_PROP, GRAYED
END
END
IDD_ABOUTBOX DIALOGEX 22,16,190,182
CAPTION "关于设备管理器"
FONT 9,"MS Shell Dlg",0,0
STYLE DS_SHELLFONT | WS_BORDER | WS_DLGFRAME | WS_SYSMENU | DS_MODALFRAME
BEGIN
LTEXT "设备管理器 v0.1\版权所有 (C) 2006\n作者 Ged Murphy (gedmurphy@gmail.com)", IDC_STATIC, 48, 7, 130, 30
PUSHBUTTON "关闭", IDOK, 75, 162, 44, 15
ICON IDI_MAIN_ICON, IDC_STATIC, 10, 10, 7, 30
EDITTEXT IDC_LICENSE_EDIT, 8, 44, 174, 107, WS_VISIBLE | WS_VSCROLL | WS_TABSTOP | ES_READONLY | ES_MULTILINE
END
STRINGTABLE DISCARDABLE
BEGIN
IDS_LICENSE "这个程序是自由软件;你可以在自由软件基金会(FSF)的 GNU LGPL 协议下重新发布或修改它;也适用于这个协议的版本 2或(在您看来)任何更新的版本。\r\n\r\n这个程序在希望其有用的愿望中发布但没有任何保证也不意味着性能保证或对某特定用途的适用性。请查看 GNU GPL 许可协议以了解更多细节。\r\n\r\n您应该已经收到了一份和这个程序一起的 GNU GPL 协议的副本;如果没有,请写信给自由软件基金会(FSF)51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA."
END
STRINGTABLE DISCARDABLE
BEGIN
IDS_TOOLTIP_PROP "属性"
IDS_TOOLTIP_REFRESH "刷新"
IDS_TOOLTIP_HELP "帮助"
IDS_TOOLTIP_EXIT "退出"
END
/* Hints */
STRINGTABLE DISCARDABLE
BEGIN
IDS_APPNAME "ReactOS 设备管理器"
IDS_HINT_BLANK " "
IDS_HINT_EXIT " 退出这个程序。"
IDS_HINT_REFRESH " 刷新设备列表。"
IDS_HINT_PROP " 为当前选择项打开属性页。"
IDS_HINT_HELP " 显示帮助窗口。"
IDS_HINT_ABOUT " 关于 ReactOS 设备管理器。"
IDS_HINT_SYS_RESTORE " 将窗口恢复到默认大小。"
IDS_HINT_SYS_MOVE " 移动这个窗口。"
IDS_HINT_SYS_SIZE " 更改这个窗口的大小。"
IDS_HINT_SYS_MINIMIZE " 将这个窗口折叠为一个图标。"
IDS_HINT_SYS_MAXIMIZE " 将这个窗口扩展到整个屏幕。"
IDS_HINT_SYS_CLOSE " 关闭这个窗口。"
END

View file

@ -1,29 +0,0 @@
#pragma once
#include <stdio.h>
#include <tchar.h>
#define WIN32_NO_STATUS
#define _INC_WINDOWS
#define COM_NO_WINDOWS_H
#define COBJMACROS
#include <windows.h>
#include <windowsx.h>
#include <setupapi.h>
#include <cfgmgr32.h>
#include <commctrl.h>
#include <uxtheme.h>
#include <cfgmgr32.h>
#include <devguid.h>
#include <atlbase.h>
#include <strsafe.h>
#include "resource.h"
extern HINSTANCE g_hInstance;
extern HANDLE ProcessHeap;

Binary file not shown.

Before

Width:  |  Height:  |  Size: 39 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 822 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 822 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 822 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 822 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 822 B

View file

@ -1,83 +0,0 @@
#include <windows.h>
#include "resource.h"
LANGUAGE LANG_NEUTRAL, SUBLANG_NEUTRAL
IDI_MAIN_ICON ICON "res/computer.ico"
IDB_ROOT_IMAGE BITMAP "res/root.bmp"
/* main toolbar icons */
IDB_PROP BITMAP DISCARDABLE "res/properties.bmp"
IDB_REFRESH BITMAP DISCARDABLE "res/refresh.bmp"
IDB_HELP BITMAP DISCARDABLE "res/help.bmp"
IDB_EXIT BITMAP DISCARDABLE "res/exit.bmp"
// UTF-8
#pragma code_page(65001)
#ifdef LANGUAGE_BG_BG
#include "lang/bg-BG.rc"
#endif
#ifdef LANGUAGE_DE_DE
#include "lang/de-DE.rc"
#endif
#ifdef LANGUAGE_EL_GR
#include "lang/el-GR.rc"
#endif
#ifdef LANGUAGE_EN_US
#include "lang/en-US.rc"
#endif
#ifdef LANGUAGE_ES_ES
#include "lang/es-ES.rc"
#endif
#ifdef LANGUAGE_FR_FR
#include "lang/fr-FR.rc"
#endif
#ifdef LANGUAGE_HE_IL
#include "lang/he-IL.rc"
#endif
#ifdef LANGUAGE_ID_ID
#include "lang/id-ID.rc"
#endif
#ifdef LANGUAGE_IT_IT
#include "lang/it-IT.rc"
#endif
#ifdef LANGUAGE_JA_JP
#include "lang/ja-JP.rc"
#endif
#ifdef LANGUAGE_KO_KR
#include "lang/ko-KR.rc"
#endif
#ifdef LANGUAGE_NB_NO
#include "lang/no-NO.rc"
#endif
#ifdef LANGUAGE_PL_PL
#include "lang/pl-PL.rc"
#endif
#ifdef LANGUAGE_PT_BR
#include "lang/pt-BR.rc"
#endif
#ifdef LANGUAGE_RO_RO
#include "lang/ro-RO.rc"
#endif
#ifdef LANGUAGE_RU_RU
#include "lang/ru-RU.rc"
#endif
#ifdef LANGUAGE_SK_SK
#include "lang/sk-SK.rc"
#endif
#ifdef LANGUAGE_SV_SE
#include "lang/sv-SE.rc"
#endif
#ifdef LANGUAGE_TH_TH
#include "lang/th-TH.rc"
#endif
#ifdef LANGUAGE_TR_TR
#include "lang/tr-TR.rc"
#endif
#ifdef LANGUAGE_UK_UA
#include "lang/uk-UA.rc"
#endif
#ifdef LANGUAGE_ZH_CN
#include "lang/zh-CN.rc"
#endif

View file

@ -1 +0,0 @@
#include "stdafx.h"

View file

@ -1,16 +0,0 @@
#pragma once
#define WIN32_LEAN_AND_MEAN
#include <Windows.h>
#include <windowsx.h>
#include <setupapi.h>
#include <cfgmgr32.h>
#include <commctrl.h>
#include <Uxtheme.h>
#include <Cfgmgr32.h>
#include <devguid.h>
#define _ATL_CSTRING_EXPLICIT_CONSTRUCTORS // some CString constructors will be explicit
#include <atlbase.h>
#include <atlstr.h>

View file

@ -1,8 +0,0 @@
#pragma once
// Including SDKDDKVer.h defines the highest available Windows platform.
// If you wish to build your application for a previous Windows platform, include WinSDKVer.h and
// set the _WIN32_WINNT macro to the platform you wish to support before including SDKDDKVer.h.
#include <SDKDDKVer.h>