mirror of
https://github.com/ApfelTeeSaft/reactos.git
synced 2026-09-03 12:23:25 +00:00
- Remove svn:needs-lock, svn:eol-type, and svn:eol-tyle properties.
- Add missing svn:eol-style properties. svn path=/trunk/; revision=43389
This commit is contained in:
@@ -1,95 +1,95 @@
|
||||
/*
|
||||
* cacls (TRADITIONAL Chinese resources)
|
||||
* (繁體中文資源)
|
||||
* Copyright 2007 jauming <[email protected]>
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU Lesser General Public
|
||||
* License as published by the Free Software Foundation; either
|
||||
* version 2.1 of the License, or (at your option) any later version.
|
||||
*
|
||||
* This library 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
|
||||
* Lesser General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Lesser General Public
|
||||
* License along with this library; if not, write to the Free Software
|
||||
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||
*/
|
||||
|
||||
LANGUAGE LANG_CHINESE, SUBLANG_CHINESE_TRADITIONAL
|
||||
|
||||
|
||||
STRINGTABLE DISCARDABLE
|
||||
BEGIN
|
||||
|
||||
IDS_HELP, "顯示或者修改文件的訪問控制表 \n\n\
|
||||
CACLS filename [/T] [/E] [/C] [/G user:perm [...]] [/R user [...]]\n\
|
||||
[/P user:perm [...]] [/D user [...]]\n\
|
||||
filename 顯示 ACLs。\n\
|
||||
/T 更改當前目錄及其所有子目錄中\n\
|
||||
指定文件的 ACL。\n\
|
||||
/E 編輯 ACL 而不替換。\n\
|
||||
/C 在出現拒絕訪問錯誤時繼續。\n\
|
||||
/G user:perm 賦予指定用戶訪問權限。\n\
|
||||
Perm 可以是: R 讀取 \n\
|
||||
W 寫入 \n\
|
||||
C 更改(寫入) \n\
|
||||
F 完全控制 \n\
|
||||
/R user 撤銷指定用戶的訪問權限(僅在与 /E 一起使用時合法)。\n\
|
||||
/P user:perm 替換指定用戶的訪問權限。\n\
|
||||
Perm 可以是: N 無 \n\
|
||||
R 讀取 \n\
|
||||
W 寫入 \n\
|
||||
C 更改(寫入) \n\
|
||||
F 完全控制 \n\
|
||||
/D user 拒絕指定用戶的訪問。\n\
|
||||
在命令中可以使用通配符指定多個文件。\n\
|
||||
您也可以在命令中指定多個用戶。\n\n\
|
||||
縮寫: \n\
|
||||
CI - 容器繼承。\n\
|
||||
ACE會由目錄繼承。\n\
|
||||
OI - 對象繼承。\n\
|
||||
ACE 會由文件繼承。\n\
|
||||
IO - 只繼承。\n\
|
||||
ACE 不適用於當前文件/目錄。\n"
|
||||
|
||||
IDS_ABBR_CI, "(CI)"
|
||||
IDS_ABBR_OI, "(OI)"
|
||||
IDS_ABBR_IO, "(IO)"
|
||||
IDS_ABBR_FULL, "F"
|
||||
IDS_ABBR_READ, "R"
|
||||
IDS_ABBR_WRITE, "W"
|
||||
IDS_ABBR_CHANGE, "C"
|
||||
IDS_ABBR_NONE, "N"
|
||||
IDS_ALLOW, ""
|
||||
IDS_DENY, "(DENY)"
|
||||
IDS_SPECIAL_ACCESS, "(special access:)"
|
||||
IDS_GENERIC_READ, "GENERIC_READ"
|
||||
IDS_GENERIC_WRITE, "GENERIC_WRITE"
|
||||
IDS_GENERIC_EXECUTE, "GENERIC_EXECUTE"
|
||||
IDS_GENERIC_ALL, "GENERIC_ALL"
|
||||
IDS_FILE_GENERIC_EXECUTE, "FILE_GENERIC_EXECUTE"
|
||||
IDS_FILE_GENERIC_READ, "FILE_GENERIC_READ"
|
||||
IDS_FILE_GENERIC_WRITE, "FILE_GENERIC_WRITE"
|
||||
IDS_FILE_READ_DATA, "FILE_READ_DATA"
|
||||
IDS_FILE_WRITE_DATA, "FILE_WRITE_DATA"
|
||||
IDS_FILE_APPEND_DATA, "FILE_APPEND_DATA"
|
||||
IDS_FILE_READ_EA, "FILE_READ_EA"
|
||||
IDS_FILE_WRITE_EA, "FILE_WRITE_EA"
|
||||
IDS_FILE_EXECUTE, "FILE_EXECUTE"
|
||||
IDS_FILE_DELETE_CHILD, "FILE_DELETE_CHILD"
|
||||
IDS_FILE_READ_ATTRIBUTES, "FILE_READ_ATTRIBUTES"
|
||||
IDS_FILE_WRITE_ATTRIBUTES, "FILE_WRITE_ATTRIBUTES"
|
||||
IDS_MAXIMUM_ALLOWED, "MAXIMUM_ALLOWED"
|
||||
IDS_ACCESS_SYSTEM_SECURITY, "ACCESS_SYSTEM_SECURITY"
|
||||
IDS_SPECIFIC_RIGHTS_ALL, "SPECIFIC_RIGHTS_ALL"
|
||||
IDS_STANDARD_RIGHTS_REQUIRED, "STANDARD_RIGHTS_REQUIRED"
|
||||
IDS_SYNCHRONIZE, "SYNCHRONIZE"
|
||||
IDS_WRITE_OWNER, "WRITE_OWNER"
|
||||
IDS_WRITE_DAC, "WRITE_DAC"
|
||||
IDS_READ_CONTROL, "READ_CONTROL"
|
||||
IDS_DELETE, "DELETE"
|
||||
IDS_STANDARD_RIGHTS_ALL, "STANDARD_RIGHTS_ALL"
|
||||
END
|
||||
/*
|
||||
* cacls (TRADITIONAL Chinese resources)
|
||||
* (繁體中文資源)
|
||||
* Copyright 2007 jauming <[email protected]>
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU Lesser General Public
|
||||
* License as published by the Free Software Foundation; either
|
||||
* version 2.1 of the License, or (at your option) any later version.
|
||||
*
|
||||
* This library 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
|
||||
* Lesser General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Lesser General Public
|
||||
* License along with this library; if not, write to the Free Software
|
||||
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||
*/
|
||||
|
||||
LANGUAGE LANG_CHINESE, SUBLANG_CHINESE_TRADITIONAL
|
||||
|
||||
|
||||
STRINGTABLE DISCARDABLE
|
||||
BEGIN
|
||||
|
||||
IDS_HELP, "顯示或者修改文件的訪問控制表 \n\n\
|
||||
CACLS filename [/T] [/E] [/C] [/G user:perm [...]] [/R user [...]]\n\
|
||||
[/P user:perm [...]] [/D user [...]]\n\
|
||||
filename 顯示 ACLs。\n\
|
||||
/T 更改當前目錄及其所有子目錄中\n\
|
||||
指定文件的 ACL。\n\
|
||||
/E 編輯 ACL 而不替換。\n\
|
||||
/C 在出現拒絕訪問錯誤時繼續。\n\
|
||||
/G user:perm 賦予指定用戶訪問權限。\n\
|
||||
Perm 可以是: R 讀取 \n\
|
||||
W 寫入 \n\
|
||||
C 更改(寫入) \n\
|
||||
F 完全控制 \n\
|
||||
/R user 撤銷指定用戶的訪問權限(僅在与 /E 一起使用時合法)。\n\
|
||||
/P user:perm 替換指定用戶的訪問權限。\n\
|
||||
Perm 可以是: N 無 \n\
|
||||
R 讀取 \n\
|
||||
W 寫入 \n\
|
||||
C 更改(寫入) \n\
|
||||
F 完全控制 \n\
|
||||
/D user 拒絕指定用戶的訪問。\n\
|
||||
在命令中可以使用通配符指定多個文件。\n\
|
||||
您也可以在命令中指定多個用戶。\n\n\
|
||||
縮寫: \n\
|
||||
CI - 容器繼承。\n\
|
||||
ACE會由目錄繼承。\n\
|
||||
OI - 對象繼承。\n\
|
||||
ACE 會由文件繼承。\n\
|
||||
IO - 只繼承。\n\
|
||||
ACE 不適用於當前文件/目錄。\n"
|
||||
|
||||
IDS_ABBR_CI, "(CI)"
|
||||
IDS_ABBR_OI, "(OI)"
|
||||
IDS_ABBR_IO, "(IO)"
|
||||
IDS_ABBR_FULL, "F"
|
||||
IDS_ABBR_READ, "R"
|
||||
IDS_ABBR_WRITE, "W"
|
||||
IDS_ABBR_CHANGE, "C"
|
||||
IDS_ABBR_NONE, "N"
|
||||
IDS_ALLOW, ""
|
||||
IDS_DENY, "(DENY)"
|
||||
IDS_SPECIAL_ACCESS, "(special access:)"
|
||||
IDS_GENERIC_READ, "GENERIC_READ"
|
||||
IDS_GENERIC_WRITE, "GENERIC_WRITE"
|
||||
IDS_GENERIC_EXECUTE, "GENERIC_EXECUTE"
|
||||
IDS_GENERIC_ALL, "GENERIC_ALL"
|
||||
IDS_FILE_GENERIC_EXECUTE, "FILE_GENERIC_EXECUTE"
|
||||
IDS_FILE_GENERIC_READ, "FILE_GENERIC_READ"
|
||||
IDS_FILE_GENERIC_WRITE, "FILE_GENERIC_WRITE"
|
||||
IDS_FILE_READ_DATA, "FILE_READ_DATA"
|
||||
IDS_FILE_WRITE_DATA, "FILE_WRITE_DATA"
|
||||
IDS_FILE_APPEND_DATA, "FILE_APPEND_DATA"
|
||||
IDS_FILE_READ_EA, "FILE_READ_EA"
|
||||
IDS_FILE_WRITE_EA, "FILE_WRITE_EA"
|
||||
IDS_FILE_EXECUTE, "FILE_EXECUTE"
|
||||
IDS_FILE_DELETE_CHILD, "FILE_DELETE_CHILD"
|
||||
IDS_FILE_READ_ATTRIBUTES, "FILE_READ_ATTRIBUTES"
|
||||
IDS_FILE_WRITE_ATTRIBUTES, "FILE_WRITE_ATTRIBUTES"
|
||||
IDS_MAXIMUM_ALLOWED, "MAXIMUM_ALLOWED"
|
||||
IDS_ACCESS_SYSTEM_SECURITY, "ACCESS_SYSTEM_SECURITY"
|
||||
IDS_SPECIFIC_RIGHTS_ALL, "SPECIFIC_RIGHTS_ALL"
|
||||
IDS_STANDARD_RIGHTS_REQUIRED, "STANDARD_RIGHTS_REQUIRED"
|
||||
IDS_SYNCHRONIZE, "SYNCHRONIZE"
|
||||
IDS_WRITE_OWNER, "WRITE_OWNER"
|
||||
IDS_WRITE_DAC, "WRITE_DAC"
|
||||
IDS_READ_CONTROL, "READ_CONTROL"
|
||||
IDS_DELETE, "DELETE"
|
||||
IDS_STANDARD_RIGHTS_ALL, "STANDARD_RIGHTS_ALL"
|
||||
END
|
||||
|
||||
@@ -1,85 +1,85 @@
|
||||
/*
|
||||
* PROJECT: ReactOS Character Map
|
||||
* LICENSE: GPL - See COPYING in the top level directory
|
||||
* FILE: base/applications/charmap/about.c
|
||||
* PURPOSE: about dialog
|
||||
* COPYRIGHT: Copyright 2007 Ged Murphy <[email protected]>
|
||||
*
|
||||
*/
|
||||
|
||||
|
||||
#include <precomp.h>
|
||||
|
||||
|
||||
static
|
||||
INT_PTR
|
||||
CALLBACK
|
||||
AboutDialogProc(HWND hDlg,
|
||||
UINT message,
|
||||
WPARAM wParam,
|
||||
LPARAM lParam)
|
||||
{
|
||||
static HICON hIcon = NULL;
|
||||
|
||||
switch (message)
|
||||
{
|
||||
case WM_INITDIALOG:
|
||||
{
|
||||
HWND hLicenseEditWnd;
|
||||
WCHAR strLicense[700];
|
||||
|
||||
hIcon = LoadImageW(hInstance,
|
||||
MAKEINTRESOURCEW(IDI_ICON),
|
||||
IMAGE_ICON,
|
||||
16,
|
||||
16,
|
||||
0);
|
||||
if (hIcon)
|
||||
{
|
||||
SendMessageW(hDlg,
|
||||
WM_SETICON,
|
||||
ICON_SMALL,
|
||||
(LPARAM)hIcon);
|
||||
}
|
||||
|
||||
hLicenseEditWnd = GetDlgItem(hDlg,
|
||||
IDC_LICENSE_EDIT);
|
||||
|
||||
if (LoadStringW(hInstance,
|
||||
IDS_LICENSE,
|
||||
strLicense,
|
||||
sizeof(strLicense) / sizeof(WCHAR)))
|
||||
{
|
||||
SetWindowTextW(hLicenseEditWnd,
|
||||
strLicense);
|
||||
}
|
||||
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
case WM_COMMAND:
|
||||
{
|
||||
if ((LOWORD(wParam) == IDOK) || (LOWORD(wParam) == IDCANCEL))
|
||||
{
|
||||
DestroyIcon(hIcon);
|
||||
EndDialog(hDlg,
|
||||
LOWORD(wParam));
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
|
||||
VOID
|
||||
ShowAboutDlg(HWND hWndParent)
|
||||
{
|
||||
DialogBoxW(hInstance,
|
||||
MAKEINTRESOURCEW(IDD_ABOUTBOX),
|
||||
hWndParent,
|
||||
AboutDialogProc);
|
||||
}
|
||||
/*
|
||||
* PROJECT: ReactOS Character Map
|
||||
* LICENSE: GPL - See COPYING in the top level directory
|
||||
* FILE: base/applications/charmap/about.c
|
||||
* PURPOSE: about dialog
|
||||
* COPYRIGHT: Copyright 2007 Ged Murphy <[email protected]>
|
||||
*
|
||||
*/
|
||||
|
||||
|
||||
#include <precomp.h>
|
||||
|
||||
|
||||
static
|
||||
INT_PTR
|
||||
CALLBACK
|
||||
AboutDialogProc(HWND hDlg,
|
||||
UINT message,
|
||||
WPARAM wParam,
|
||||
LPARAM lParam)
|
||||
{
|
||||
static HICON hIcon = NULL;
|
||||
|
||||
switch (message)
|
||||
{
|
||||
case WM_INITDIALOG:
|
||||
{
|
||||
HWND hLicenseEditWnd;
|
||||
WCHAR strLicense[700];
|
||||
|
||||
hIcon = LoadImageW(hInstance,
|
||||
MAKEINTRESOURCEW(IDI_ICON),
|
||||
IMAGE_ICON,
|
||||
16,
|
||||
16,
|
||||
0);
|
||||
if (hIcon)
|
||||
{
|
||||
SendMessageW(hDlg,
|
||||
WM_SETICON,
|
||||
ICON_SMALL,
|
||||
(LPARAM)hIcon);
|
||||
}
|
||||
|
||||
hLicenseEditWnd = GetDlgItem(hDlg,
|
||||
IDC_LICENSE_EDIT);
|
||||
|
||||
if (LoadStringW(hInstance,
|
||||
IDS_LICENSE,
|
||||
strLicense,
|
||||
sizeof(strLicense) / sizeof(WCHAR)))
|
||||
{
|
||||
SetWindowTextW(hLicenseEditWnd,
|
||||
strLicense);
|
||||
}
|
||||
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
case WM_COMMAND:
|
||||
{
|
||||
if ((LOWORD(wParam) == IDOK) || (LOWORD(wParam) == IDCANCEL))
|
||||
{
|
||||
DestroyIcon(hIcon);
|
||||
EndDialog(hDlg,
|
||||
LOWORD(wParam));
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
|
||||
VOID
|
||||
ShowAboutDlg(HWND hWndParent)
|
||||
{
|
||||
DialogBoxW(hInstance,
|
||||
MAKEINTRESOURCEW(IDD_ABOUTBOX),
|
||||
hWndParent,
|
||||
AboutDialogProc);
|
||||
}
|
||||
|
||||
@@ -1,368 +1,368 @@
|
||||
/*
|
||||
* PROJECT: ReactOS Character Map
|
||||
* LICENSE: GPL - See COPYING in the top level directory
|
||||
* FILE: base/applications/charmap/charmap.c
|
||||
* PURPOSE: main dialog implementation
|
||||
* COPYRIGHT: Copyright 2007 Ged Murphy <[email protected]>
|
||||
*
|
||||
*/
|
||||
|
||||
#include <precomp.h>
|
||||
|
||||
#define ID_ABOUT 0x1
|
||||
|
||||
HINSTANCE hInstance;
|
||||
|
||||
/* Font-enumeration callback */
|
||||
static
|
||||
int
|
||||
CALLBACK
|
||||
EnumFontNames(ENUMLOGFONTEXW *lpelfe,
|
||||
NEWTEXTMETRICEXW *lpntme,
|
||||
DWORD FontType,
|
||||
LPARAM lParam)
|
||||
{
|
||||
HWND hwndCombo = (HWND)lParam;
|
||||
LPWSTR pszName = lpelfe->elfLogFont.lfFaceName;
|
||||
|
||||
/* make sure font doesn't already exist in our list */
|
||||
if(SendMessageW(hwndCombo,
|
||||
CB_FINDSTRING,
|
||||
0,
|
||||
(LPARAM)pszName) == CB_ERR)
|
||||
{
|
||||
INT idx;
|
||||
BOOL fFixed;
|
||||
BOOL fTrueType;
|
||||
|
||||
/* add the font */
|
||||
idx = (INT)SendMessageW(hwndCombo,
|
||||
CB_ADDSTRING,
|
||||
0,
|
||||
(LPARAM)pszName);
|
||||
|
||||
/* record the font's attributes (Fixedwidth and Truetype) */
|
||||
fFixed = (lpelfe->elfLogFont.lfPitchAndFamily & FIXED_PITCH) ? TRUE : FALSE;
|
||||
fTrueType = (lpelfe->elfLogFont.lfOutPrecision == OUT_STROKE_PRECIS) ? TRUE : FALSE;
|
||||
|
||||
/* store this information in the list-item's userdata area */
|
||||
SendMessageW(hwndCombo,
|
||||
CB_SETITEMDATA,
|
||||
idx,
|
||||
MAKEWPARAM(fFixed, fTrueType));
|
||||
}
|
||||
|
||||
return 1;
|
||||
}
|
||||
|
||||
|
||||
/* Initialize the font-list by enumeration all system fonts */
|
||||
static
|
||||
VOID
|
||||
FillFontStyleComboList(HWND hwndCombo)
|
||||
{
|
||||
HDC hdc;
|
||||
LOGFONTW lf;
|
||||
|
||||
/* FIXME: for fun, draw each font in its own style */
|
||||
HFONT hFont = GetStockObject(DEFAULT_GUI_FONT);
|
||||
SendMessageW(hwndCombo,
|
||||
WM_SETFONT,
|
||||
(WPARAM)hFont,
|
||||
0);
|
||||
|
||||
ZeroMemory(&lf, sizeof(lf));
|
||||
lf.lfCharSet = DEFAULT_CHARSET;
|
||||
|
||||
hdc = GetDC(hwndCombo);
|
||||
|
||||
/* store the list of fonts in the combo */
|
||||
EnumFontFamiliesExW(hdc,
|
||||
&lf,
|
||||
(FONTENUMPROCW)EnumFontNames,
|
||||
(LPARAM)hwndCombo,
|
||||
0);
|
||||
|
||||
ReleaseDC(hwndCombo,
|
||||
hdc);
|
||||
|
||||
SendMessageW(hwndCombo,
|
||||
CB_SETCURSEL,
|
||||
0,
|
||||
0);
|
||||
}
|
||||
|
||||
|
||||
static
|
||||
VOID
|
||||
ChangeMapFont(HWND hDlg)
|
||||
{
|
||||
HWND hCombo;
|
||||
HWND hMap;
|
||||
LPWSTR lpFontName;
|
||||
INT Len;
|
||||
|
||||
hCombo = GetDlgItem(hDlg, IDC_FONTCOMBO);
|
||||
|
||||
Len = GetWindowTextLengthW(hCombo);
|
||||
|
||||
if (Len != 0)
|
||||
{
|
||||
lpFontName = HeapAlloc(GetProcessHeap(),
|
||||
0,
|
||||
(Len + 1) * sizeof(WCHAR));
|
||||
|
||||
if (lpFontName)
|
||||
{
|
||||
SendMessageW(hCombo,
|
||||
WM_GETTEXT,
|
||||
Len + 1,
|
||||
(LPARAM)lpFontName);
|
||||
|
||||
hMap = GetDlgItem(hDlg, IDC_FONTMAP);
|
||||
|
||||
SendMessageW(hMap,
|
||||
FM_SETFONT,
|
||||
0,
|
||||
(LPARAM)lpFontName);
|
||||
}
|
||||
|
||||
HeapFree(GetProcessHeap(),
|
||||
0,
|
||||
lpFontName);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
static
|
||||
VOID
|
||||
AddCharToSelection(HWND hText,
|
||||
WCHAR ch)
|
||||
{
|
||||
LPWSTR lpText;
|
||||
INT Len = GetWindowTextLength(hText);
|
||||
|
||||
if (Len != 0)
|
||||
{
|
||||
lpText = HeapAlloc(GetProcessHeap(),
|
||||
0,
|
||||
(Len + 2) * sizeof(WCHAR));
|
||||
|
||||
if (lpText)
|
||||
{
|
||||
LPWSTR lpStr = lpText;
|
||||
|
||||
SendMessageW(hText,
|
||||
WM_GETTEXT,
|
||||
Len + 1,
|
||||
(LPARAM)lpStr);
|
||||
|
||||
lpStr += Len;
|
||||
*lpStr = ch;
|
||||
lpStr++;
|
||||
*lpStr = L'\0';
|
||||
|
||||
SendMessageW(hText,
|
||||
WM_SETTEXT,
|
||||
0,
|
||||
(LPARAM)lpText);
|
||||
|
||||
HeapFree(GetProcessHeap(),
|
||||
0,
|
||||
lpText);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
WCHAR szText[2];
|
||||
|
||||
szText[0] = ch;
|
||||
szText[1] = L'\0';
|
||||
|
||||
SendMessageW(hText,
|
||||
WM_SETTEXT,
|
||||
0,
|
||||
(LPARAM)szText);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
static
|
||||
INT_PTR
|
||||
CALLBACK
|
||||
DlgProc(HWND hDlg,
|
||||
UINT Message,
|
||||
WPARAM wParam,
|
||||
LPARAM lParam)
|
||||
{
|
||||
static HICON hSmIcon;
|
||||
static HICON hBgIcon;
|
||||
LPWSTR lpAboutText = NULL;
|
||||
|
||||
switch(Message)
|
||||
{
|
||||
case WM_INITDIALOG:
|
||||
{
|
||||
HMENU hSysMenu;
|
||||
|
||||
hSmIcon = LoadImageW(hInstance,
|
||||
MAKEINTRESOURCEW(IDI_ICON),
|
||||
IMAGE_ICON,
|
||||
16,
|
||||
16,
|
||||
0);
|
||||
if (hSmIcon)
|
||||
{
|
||||
SendMessageW(hDlg,
|
||||
WM_SETICON,
|
||||
ICON_SMALL,
|
||||
(LPARAM)hSmIcon);
|
||||
}
|
||||
|
||||
hBgIcon = LoadImageW(hInstance,
|
||||
MAKEINTRESOURCEW(IDI_ICON),
|
||||
IMAGE_ICON,
|
||||
32,
|
||||
32,
|
||||
0);
|
||||
if (hBgIcon)
|
||||
{
|
||||
SendMessageW(hDlg,
|
||||
WM_SETICON,
|
||||
ICON_BIG,
|
||||
(LPARAM)hBgIcon);
|
||||
}
|
||||
|
||||
FillFontStyleComboList(GetDlgItem(hDlg,
|
||||
IDC_FONTCOMBO));
|
||||
|
||||
ChangeMapFont(hDlg);
|
||||
hSysMenu = GetSystemMenu(hDlg,
|
||||
FALSE);
|
||||
if (hSysMenu != NULL)
|
||||
{
|
||||
if (LoadStringW(hInstance,
|
||||
IDS_ABOUT,
|
||||
lpAboutText,
|
||||
0))
|
||||
{
|
||||
AppendMenuW(hSysMenu,
|
||||
MF_SEPARATOR,
|
||||
0,
|
||||
NULL);
|
||||
AppendMenuW(hSysMenu,
|
||||
MF_STRING,
|
||||
ID_ABOUT,
|
||||
lpAboutText);
|
||||
}
|
||||
}
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
case WM_COMMAND:
|
||||
{
|
||||
switch(LOWORD(wParam))
|
||||
{
|
||||
case IDC_FONTMAP:
|
||||
{
|
||||
switch (HIWORD(wParam))
|
||||
{
|
||||
case FM_SETCHAR:
|
||||
AddCharToSelection(GetDlgItem(hDlg, IDC_TEXTBOX),
|
||||
LOWORD(lParam));
|
||||
break;
|
||||
}
|
||||
}
|
||||
break;
|
||||
|
||||
case IDC_FONTCOMBO:
|
||||
{
|
||||
if (HIWORD(wParam) == CBN_SELCHANGE)
|
||||
{
|
||||
ChangeMapFont(hDlg);
|
||||
}
|
||||
}
|
||||
break;
|
||||
|
||||
case IDC_SELECT:
|
||||
{
|
||||
WCHAR ch;
|
||||
HWND hMap = GetDlgItem(hDlg, IDC_FONTMAP);
|
||||
|
||||
ch = (WCHAR) SendMessageW(hMap, FM_GETCHAR, 0, 0);
|
||||
|
||||
if (ch)
|
||||
{
|
||||
AddCharToSelection(GetDlgItem(hDlg, IDC_TEXTBOX),
|
||||
ch);
|
||||
}
|
||||
|
||||
break;
|
||||
}
|
||||
|
||||
case IDOK:
|
||||
if (hSmIcon)
|
||||
DestroyIcon(hSmIcon);
|
||||
if (hBgIcon)
|
||||
DestroyIcon(hBgIcon);
|
||||
EndDialog(hDlg, 0);
|
||||
break;
|
||||
}
|
||||
}
|
||||
break;
|
||||
|
||||
case WM_SYSCOMMAND:
|
||||
{
|
||||
switch(wParam)
|
||||
{
|
||||
case ID_ABOUT:
|
||||
ShowAboutDlg(hDlg);
|
||||
break;
|
||||
}
|
||||
}
|
||||
break;
|
||||
|
||||
case WM_CLOSE:
|
||||
if (hSmIcon)
|
||||
DestroyIcon(hSmIcon);
|
||||
if (hBgIcon)
|
||||
DestroyIcon(hBgIcon);
|
||||
EndDialog(hDlg, 0);
|
||||
break;
|
||||
|
||||
default:
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
|
||||
INT
|
||||
WINAPI
|
||||
wWinMain(HINSTANCE hInst,
|
||||
HINSTANCE hPrev,
|
||||
LPWSTR Cmd,
|
||||
int iCmd)
|
||||
{
|
||||
INITCOMMONCONTROLSEX iccx;
|
||||
INT Ret = 1;
|
||||
|
||||
hInstance = hInst;
|
||||
|
||||
iccx.dwSize = sizeof(INITCOMMONCONTROLSEX);
|
||||
iccx.dwICC = ICC_TAB_CLASSES;
|
||||
InitCommonControlsEx(&iccx);
|
||||
|
||||
if (RegisterMapClasses(hInstance))
|
||||
{
|
||||
Ret = DialogBoxW(hInstance,
|
||||
MAKEINTRESOURCEW(IDD_CHARMAP),
|
||||
NULL,
|
||||
DlgProc) >= 0;
|
||||
|
||||
UnregisterMapClasses(hInstance);
|
||||
}
|
||||
|
||||
return Ret;
|
||||
}
|
||||
/*
|
||||
* PROJECT: ReactOS Character Map
|
||||
* LICENSE: GPL - See COPYING in the top level directory
|
||||
* FILE: base/applications/charmap/charmap.c
|
||||
* PURPOSE: main dialog implementation
|
||||
* COPYRIGHT: Copyright 2007 Ged Murphy <[email protected]>
|
||||
*
|
||||
*/
|
||||
|
||||
#include <precomp.h>
|
||||
|
||||
#define ID_ABOUT 0x1
|
||||
|
||||
HINSTANCE hInstance;
|
||||
|
||||
/* Font-enumeration callback */
|
||||
static
|
||||
int
|
||||
CALLBACK
|
||||
EnumFontNames(ENUMLOGFONTEXW *lpelfe,
|
||||
NEWTEXTMETRICEXW *lpntme,
|
||||
DWORD FontType,
|
||||
LPARAM lParam)
|
||||
{
|
||||
HWND hwndCombo = (HWND)lParam;
|
||||
LPWSTR pszName = lpelfe->elfLogFont.lfFaceName;
|
||||
|
||||
/* make sure font doesn't already exist in our list */
|
||||
if(SendMessageW(hwndCombo,
|
||||
CB_FINDSTRING,
|
||||
0,
|
||||
(LPARAM)pszName) == CB_ERR)
|
||||
{
|
||||
INT idx;
|
||||
BOOL fFixed;
|
||||
BOOL fTrueType;
|
||||
|
||||
/* add the font */
|
||||
idx = (INT)SendMessageW(hwndCombo,
|
||||
CB_ADDSTRING,
|
||||
0,
|
||||
(LPARAM)pszName);
|
||||
|
||||
/* record the font's attributes (Fixedwidth and Truetype) */
|
||||
fFixed = (lpelfe->elfLogFont.lfPitchAndFamily & FIXED_PITCH) ? TRUE : FALSE;
|
||||
fTrueType = (lpelfe->elfLogFont.lfOutPrecision == OUT_STROKE_PRECIS) ? TRUE : FALSE;
|
||||
|
||||
/* store this information in the list-item's userdata area */
|
||||
SendMessageW(hwndCombo,
|
||||
CB_SETITEMDATA,
|
||||
idx,
|
||||
MAKEWPARAM(fFixed, fTrueType));
|
||||
}
|
||||
|
||||
return 1;
|
||||
}
|
||||
|
||||
|
||||
/* Initialize the font-list by enumeration all system fonts */
|
||||
static
|
||||
VOID
|
||||
FillFontStyleComboList(HWND hwndCombo)
|
||||
{
|
||||
HDC hdc;
|
||||
LOGFONTW lf;
|
||||
|
||||
/* FIXME: for fun, draw each font in its own style */
|
||||
HFONT hFont = GetStockObject(DEFAULT_GUI_FONT);
|
||||
SendMessageW(hwndCombo,
|
||||
WM_SETFONT,
|
||||
(WPARAM)hFont,
|
||||
0);
|
||||
|
||||
ZeroMemory(&lf, sizeof(lf));
|
||||
lf.lfCharSet = DEFAULT_CHARSET;
|
||||
|
||||
hdc = GetDC(hwndCombo);
|
||||
|
||||
/* store the list of fonts in the combo */
|
||||
EnumFontFamiliesExW(hdc,
|
||||
&lf,
|
||||
(FONTENUMPROCW)EnumFontNames,
|
||||
(LPARAM)hwndCombo,
|
||||
0);
|
||||
|
||||
ReleaseDC(hwndCombo,
|
||||
hdc);
|
||||
|
||||
SendMessageW(hwndCombo,
|
||||
CB_SETCURSEL,
|
||||
0,
|
||||
0);
|
||||
}
|
||||
|
||||
|
||||
static
|
||||
VOID
|
||||
ChangeMapFont(HWND hDlg)
|
||||
{
|
||||
HWND hCombo;
|
||||
HWND hMap;
|
||||
LPWSTR lpFontName;
|
||||
INT Len;
|
||||
|
||||
hCombo = GetDlgItem(hDlg, IDC_FONTCOMBO);
|
||||
|
||||
Len = GetWindowTextLengthW(hCombo);
|
||||
|
||||
if (Len != 0)
|
||||
{
|
||||
lpFontName = HeapAlloc(GetProcessHeap(),
|
||||
0,
|
||||
(Len + 1) * sizeof(WCHAR));
|
||||
|
||||
if (lpFontName)
|
||||
{
|
||||
SendMessageW(hCombo,
|
||||
WM_GETTEXT,
|
||||
Len + 1,
|
||||
(LPARAM)lpFontName);
|
||||
|
||||
hMap = GetDlgItem(hDlg, IDC_FONTMAP);
|
||||
|
||||
SendMessageW(hMap,
|
||||
FM_SETFONT,
|
||||
0,
|
||||
(LPARAM)lpFontName);
|
||||
}
|
||||
|
||||
HeapFree(GetProcessHeap(),
|
||||
0,
|
||||
lpFontName);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
static
|
||||
VOID
|
||||
AddCharToSelection(HWND hText,
|
||||
WCHAR ch)
|
||||
{
|
||||
LPWSTR lpText;
|
||||
INT Len = GetWindowTextLength(hText);
|
||||
|
||||
if (Len != 0)
|
||||
{
|
||||
lpText = HeapAlloc(GetProcessHeap(),
|
||||
0,
|
||||
(Len + 2) * sizeof(WCHAR));
|
||||
|
||||
if (lpText)
|
||||
{
|
||||
LPWSTR lpStr = lpText;
|
||||
|
||||
SendMessageW(hText,
|
||||
WM_GETTEXT,
|
||||
Len + 1,
|
||||
(LPARAM)lpStr);
|
||||
|
||||
lpStr += Len;
|
||||
*lpStr = ch;
|
||||
lpStr++;
|
||||
*lpStr = L'\0';
|
||||
|
||||
SendMessageW(hText,
|
||||
WM_SETTEXT,
|
||||
0,
|
||||
(LPARAM)lpText);
|
||||
|
||||
HeapFree(GetProcessHeap(),
|
||||
0,
|
||||
lpText);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
WCHAR szText[2];
|
||||
|
||||
szText[0] = ch;
|
||||
szText[1] = L'\0';
|
||||
|
||||
SendMessageW(hText,
|
||||
WM_SETTEXT,
|
||||
0,
|
||||
(LPARAM)szText);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
static
|
||||
INT_PTR
|
||||
CALLBACK
|
||||
DlgProc(HWND hDlg,
|
||||
UINT Message,
|
||||
WPARAM wParam,
|
||||
LPARAM lParam)
|
||||
{
|
||||
static HICON hSmIcon;
|
||||
static HICON hBgIcon;
|
||||
LPWSTR lpAboutText = NULL;
|
||||
|
||||
switch(Message)
|
||||
{
|
||||
case WM_INITDIALOG:
|
||||
{
|
||||
HMENU hSysMenu;
|
||||
|
||||
hSmIcon = LoadImageW(hInstance,
|
||||
MAKEINTRESOURCEW(IDI_ICON),
|
||||
IMAGE_ICON,
|
||||
16,
|
||||
16,
|
||||
0);
|
||||
if (hSmIcon)
|
||||
{
|
||||
SendMessageW(hDlg,
|
||||
WM_SETICON,
|
||||
ICON_SMALL,
|
||||
(LPARAM)hSmIcon);
|
||||
}
|
||||
|
||||
hBgIcon = LoadImageW(hInstance,
|
||||
MAKEINTRESOURCEW(IDI_ICON),
|
||||
IMAGE_ICON,
|
||||
32,
|
||||
32,
|
||||
0);
|
||||
if (hBgIcon)
|
||||
{
|
||||
SendMessageW(hDlg,
|
||||
WM_SETICON,
|
||||
ICON_BIG,
|
||||
(LPARAM)hBgIcon);
|
||||
}
|
||||
|
||||
FillFontStyleComboList(GetDlgItem(hDlg,
|
||||
IDC_FONTCOMBO));
|
||||
|
||||
ChangeMapFont(hDlg);
|
||||
hSysMenu = GetSystemMenu(hDlg,
|
||||
FALSE);
|
||||
if (hSysMenu != NULL)
|
||||
{
|
||||
if (LoadStringW(hInstance,
|
||||
IDS_ABOUT,
|
||||
lpAboutText,
|
||||
0))
|
||||
{
|
||||
AppendMenuW(hSysMenu,
|
||||
MF_SEPARATOR,
|
||||
0,
|
||||
NULL);
|
||||
AppendMenuW(hSysMenu,
|
||||
MF_STRING,
|
||||
ID_ABOUT,
|
||||
lpAboutText);
|
||||
}
|
||||
}
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
case WM_COMMAND:
|
||||
{
|
||||
switch(LOWORD(wParam))
|
||||
{
|
||||
case IDC_FONTMAP:
|
||||
{
|
||||
switch (HIWORD(wParam))
|
||||
{
|
||||
case FM_SETCHAR:
|
||||
AddCharToSelection(GetDlgItem(hDlg, IDC_TEXTBOX),
|
||||
LOWORD(lParam));
|
||||
break;
|
||||
}
|
||||
}
|
||||
break;
|
||||
|
||||
case IDC_FONTCOMBO:
|
||||
{
|
||||
if (HIWORD(wParam) == CBN_SELCHANGE)
|
||||
{
|
||||
ChangeMapFont(hDlg);
|
||||
}
|
||||
}
|
||||
break;
|
||||
|
||||
case IDC_SELECT:
|
||||
{
|
||||
WCHAR ch;
|
||||
HWND hMap = GetDlgItem(hDlg, IDC_FONTMAP);
|
||||
|
||||
ch = (WCHAR) SendMessageW(hMap, FM_GETCHAR, 0, 0);
|
||||
|
||||
if (ch)
|
||||
{
|
||||
AddCharToSelection(GetDlgItem(hDlg, IDC_TEXTBOX),
|
||||
ch);
|
||||
}
|
||||
|
||||
break;
|
||||
}
|
||||
|
||||
case IDOK:
|
||||
if (hSmIcon)
|
||||
DestroyIcon(hSmIcon);
|
||||
if (hBgIcon)
|
||||
DestroyIcon(hBgIcon);
|
||||
EndDialog(hDlg, 0);
|
||||
break;
|
||||
}
|
||||
}
|
||||
break;
|
||||
|
||||
case WM_SYSCOMMAND:
|
||||
{
|
||||
switch(wParam)
|
||||
{
|
||||
case ID_ABOUT:
|
||||
ShowAboutDlg(hDlg);
|
||||
break;
|
||||
}
|
||||
}
|
||||
break;
|
||||
|
||||
case WM_CLOSE:
|
||||
if (hSmIcon)
|
||||
DestroyIcon(hSmIcon);
|
||||
if (hBgIcon)
|
||||
DestroyIcon(hBgIcon);
|
||||
EndDialog(hDlg, 0);
|
||||
break;
|
||||
|
||||
default:
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
|
||||
INT
|
||||
WINAPI
|
||||
wWinMain(HINSTANCE hInst,
|
||||
HINSTANCE hPrev,
|
||||
LPWSTR Cmd,
|
||||
int iCmd)
|
||||
{
|
||||
INITCOMMONCONTROLSEX iccx;
|
||||
INT Ret = 1;
|
||||
|
||||
hInstance = hInst;
|
||||
|
||||
iccx.dwSize = sizeof(INITCOMMONCONTROLSEX);
|
||||
iccx.dwICC = ICC_TAB_CLASSES;
|
||||
InitCommonControlsEx(&iccx);
|
||||
|
||||
if (RegisterMapClasses(hInstance))
|
||||
{
|
||||
Ret = DialogBoxW(hInstance,
|
||||
MAKEINTRESOURCEW(IDD_CHARMAP),
|
||||
NULL,
|
||||
DlgProc) >= 0;
|
||||
|
||||
UnregisterMapClasses(hInstance);
|
||||
}
|
||||
|
||||
return Ret;
|
||||
}
|
||||
|
||||
@@ -1,17 +1,17 @@
|
||||
<?xml version="1.0"?>
|
||||
<!DOCTYPE module SYSTEM "../../../tools/rbuild/project.dtd">
|
||||
<module name="charmap" type="win32gui" installbase="system32" installname="charmap.exe" unicode="yes">
|
||||
<include base="charmap">.</include>
|
||||
<library>gdi32</library>
|
||||
<library>kernel32</library>
|
||||
<library>user32</library>
|
||||
<library>comctl32</library>
|
||||
<compilationunit name="unit.c">
|
||||
<file>about.c</file>
|
||||
<file>charmap.c</file>
|
||||
<file>lrgcell.c</file>
|
||||
<file>map.c</file>
|
||||
</compilationunit>
|
||||
<file>charmap.rc</file>
|
||||
<pch>precomp.h</pch>
|
||||
</module>
|
||||
<?xml version="1.0"?>
|
||||
<!DOCTYPE module SYSTEM "../../../tools/rbuild/project.dtd">
|
||||
<module name="charmap" type="win32gui" installbase="system32" installname="charmap.exe" unicode="yes">
|
||||
<include base="charmap">.</include>
|
||||
<library>gdi32</library>
|
||||
<library>kernel32</library>
|
||||
<library>user32</library>
|
||||
<library>comctl32</library>
|
||||
<compilationunit name="unit.c">
|
||||
<file>about.c</file>
|
||||
<file>charmap.c</file>
|
||||
<file>lrgcell.c</file>
|
||||
<file>map.c</file>
|
||||
</compilationunit>
|
||||
<file>charmap.rc</file>
|
||||
<pch>precomp.h</pch>
|
||||
</module>
|
||||
|
||||
@@ -1,44 +1,44 @@
|
||||
/*
|
||||
* PROJECT: ReactOS Character Map
|
||||
* LICENSE: GPL - See COPYING in the top level directory
|
||||
* FILE: base/applications/charmap/lang/lt-LT.rc
|
||||
* PURPOSE: Lithuanian Language File
|
||||
* TRANSLATOR: Vytis "CMan" Girdþijauskas ([email protected])
|
||||
* DATE: 2007-09-23
|
||||
*/
|
||||
|
||||
LANGUAGE LANG_LITHUANIAN, SUBLANG_DEFAULT
|
||||
|
||||
IDD_CHARMAP DIALOGEX 6, 6, 293, 205 //233
|
||||
CAPTION "Simboliø lentelë"
|
||||
FONT 8,"MS Shell Dlg",0,0
|
||||
STYLE DS_SHELLFONT | WS_BORDER | WS_VISIBLE | WS_SYSMENU | WS_MINIMIZEBOX
|
||||
BEGIN
|
||||
LTEXT "Ðriftas:", IDC_STATIC, 6, 7, 24, 9
|
||||
COMBOBOX IDC_FONTCOMBO, 36, 5, 210, 210, WS_CHILD | WS_VISIBLE | WS_VSCROLL | CBS_DROPDOWNLIST | CBS_SORT | CBS_HASSTRINGS
|
||||
PUSHBUTTON "Pagalba", IDC_CMHELP, 249, 5, 35, 13
|
||||
CONTROL "", IDC_FONTMAP, "FontMapWnd", WS_CHILD | WS_VISIBLE | WS_TABSTOP | WS_VSCROLL, 20, 22, 266, 156
|
||||
LTEXT "Simboliai kopijavimui:", IDC_STATIC, 6, 188, 72, 9
|
||||
EDITTEXT IDC_TEXTBOX, 81, 186, 107, 13, WS_CHILD | WS_VISIBLE | WS_TABSTOP
|
||||
DEFPUSHBUTTON "Parinkti", IDC_SELECT, 194, 186, 44, 13
|
||||
PUSHBUTTON "Kopijuoti", IDC_COPY, 242, 186, 44, 13, WS_DISABLED
|
||||
//AUTOCHECKBOX "Advanced view", IDC_ADVVIEW, 10, 204, 64, 9, WS_CHILD | WS_VISIBLE | WS_TABSTOP
|
||||
//EDITTEXT IDC_DISPLAY, 8, 217, 278, 13, WS_VISIBLE | WS_TABSTOP | ES_READONLY
|
||||
END
|
||||
|
||||
IDD_ABOUTBOX DIALOGEX 22,16,210,182
|
||||
CAPTION "Apie simboliø lentelæ"
|
||||
FONT 8,"MS Shell Dlg",0,0
|
||||
STYLE DS_SHELLFONT | WS_BORDER | WS_DLGFRAME | WS_SYSMENU | DS_MODALFRAME
|
||||
BEGIN
|
||||
LTEXT "Simboliø lentelë v0.1\n(C) 2007 Ged Murphy ([email protected])", IDC_STATIC, 48, 7, 150, 36
|
||||
PUSHBUTTON "Uþverti", IDOK, 83, 161, 44, 15
|
||||
ICON IDI_ICON, IDC_STATIC, 10, 10, 7, 30
|
||||
EDITTEXT IDC_LICENSE_EDIT, 8, 44, 194, 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., 675 Mass Ave, Cambridge, MA 02139, USA."
|
||||
IDS_ABOUT "&Apie..."
|
||||
END
|
||||
/*
|
||||
* PROJECT: ReactOS Character Map
|
||||
* LICENSE: GPL - See COPYING in the top level directory
|
||||
* FILE: base/applications/charmap/lang/lt-LT.rc
|
||||
* PURPOSE: Lithuanian Language File
|
||||
* TRANSLATOR: Vytis "CMan" Girdþijauskas ([email protected])
|
||||
* DATE: 2007-09-23
|
||||
*/
|
||||
|
||||
LANGUAGE LANG_LITHUANIAN, SUBLANG_DEFAULT
|
||||
|
||||
IDD_CHARMAP DIALOGEX 6, 6, 293, 205 //233
|
||||
CAPTION "Simboliø lentelë"
|
||||
FONT 8,"MS Shell Dlg",0,0
|
||||
STYLE DS_SHELLFONT | WS_BORDER | WS_VISIBLE | WS_SYSMENU | WS_MINIMIZEBOX
|
||||
BEGIN
|
||||
LTEXT "Ðriftas:", IDC_STATIC, 6, 7, 24, 9
|
||||
COMBOBOX IDC_FONTCOMBO, 36, 5, 210, 210, WS_CHILD | WS_VISIBLE | WS_VSCROLL | CBS_DROPDOWNLIST | CBS_SORT | CBS_HASSTRINGS
|
||||
PUSHBUTTON "Pagalba", IDC_CMHELP, 249, 5, 35, 13
|
||||
CONTROL "", IDC_FONTMAP, "FontMapWnd", WS_CHILD | WS_VISIBLE | WS_TABSTOP | WS_VSCROLL, 20, 22, 266, 156
|
||||
LTEXT "Simboliai kopijavimui:", IDC_STATIC, 6, 188, 72, 9
|
||||
EDITTEXT IDC_TEXTBOX, 81, 186, 107, 13, WS_CHILD | WS_VISIBLE | WS_TABSTOP
|
||||
DEFPUSHBUTTON "Parinkti", IDC_SELECT, 194, 186, 44, 13
|
||||
PUSHBUTTON "Kopijuoti", IDC_COPY, 242, 186, 44, 13, WS_DISABLED
|
||||
//AUTOCHECKBOX "Advanced view", IDC_ADVVIEW, 10, 204, 64, 9, WS_CHILD | WS_VISIBLE | WS_TABSTOP
|
||||
//EDITTEXT IDC_DISPLAY, 8, 217, 278, 13, WS_VISIBLE | WS_TABSTOP | ES_READONLY
|
||||
END
|
||||
|
||||
IDD_ABOUTBOX DIALOGEX 22,16,210,182
|
||||
CAPTION "Apie simboliø lentelæ"
|
||||
FONT 8,"MS Shell Dlg",0,0
|
||||
STYLE DS_SHELLFONT | WS_BORDER | WS_DLGFRAME | WS_SYSMENU | DS_MODALFRAME
|
||||
BEGIN
|
||||
LTEXT "Simboliø lentelë v0.1\n(C) 2007 Ged Murphy ([email protected])", IDC_STATIC, 48, 7, 150, 36
|
||||
PUSHBUTTON "Uþverti", IDOK, 83, 161, 44, 15
|
||||
ICON IDI_ICON, IDC_STATIC, 10, 10, 7, 30
|
||||
EDITTEXT IDC_LICENSE_EDIT, 8, 44, 194, 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., 675 Mass Ave, Cambridge, MA 02139, USA."
|
||||
IDS_ABOUT "&Apie..."
|
||||
END
|
||||
|
||||
@@ -1,165 +1,165 @@
|
||||
/*
|
||||
* PROJECT: ReactOS Character Map
|
||||
* LICENSE: GPL - See COPYING in the top level directory
|
||||
* FILE: base/applications/charmap/lrgcell.c
|
||||
* PURPOSE: large cell window implementation
|
||||
* COPYRIGHT: Copyright 2007 Ged Murphy <[email protected]>
|
||||
*
|
||||
*/
|
||||
|
||||
#include <precomp.h>
|
||||
|
||||
|
||||
static
|
||||
HFONT
|
||||
SetLrgFont(PMAP infoPtr)
|
||||
{
|
||||
LOGFONTW lf;
|
||||
HFONT hFont = NULL;
|
||||
HDC hdc;
|
||||
HWND hCombo;
|
||||
LPWSTR lpFontName;
|
||||
INT Len;
|
||||
|
||||
hCombo = GetDlgItem(infoPtr->hParent,
|
||||
IDC_FONTCOMBO);
|
||||
|
||||
Len = GetWindowTextLengthW(hCombo);
|
||||
|
||||
if (Len != 0)
|
||||
{
|
||||
lpFontName = HeapAlloc(GetProcessHeap(),
|
||||
0,
|
||||
(Len + 1) * sizeof(WCHAR));
|
||||
|
||||
if (lpFontName)
|
||||
{
|
||||
SendMessageW(hCombo,
|
||||
WM_GETTEXT,
|
||||
31,
|
||||
(LPARAM)lpFontName);
|
||||
|
||||
ZeroMemory(&lf,
|
||||
sizeof(lf));
|
||||
|
||||
hdc = GetDC(infoPtr->hLrgWnd);
|
||||
lf.lfHeight = GetDeviceCaps(hdc,
|
||||
LOGPIXELSY) / 2;
|
||||
ReleaseDC(infoPtr->hLrgWnd,
|
||||
hdc);
|
||||
|
||||
lf.lfCharSet = DEFAULT_CHARSET;
|
||||
wcscpy(lf.lfFaceName,
|
||||
lpFontName);
|
||||
|
||||
hFont = CreateFontIndirectW(&lf);
|
||||
|
||||
HeapFree(GetProcessHeap(),
|
||||
0,
|
||||
lpFontName);
|
||||
}
|
||||
}
|
||||
|
||||
return hFont;
|
||||
}
|
||||
|
||||
|
||||
LRESULT CALLBACK
|
||||
LrgCellWndProc(HWND hwnd,
|
||||
UINT uMsg,
|
||||
WPARAM wParam,
|
||||
LPARAM lParam)
|
||||
{
|
||||
PMAP infoPtr;
|
||||
LRESULT Ret = 0;
|
||||
static INT cxClient, cyClient;
|
||||
static RECT rc;
|
||||
static HFONT hFont = NULL;
|
||||
|
||||
infoPtr = (PMAP)GetWindowLongPtrW(hwnd,
|
||||
GWLP_USERDATA);
|
||||
|
||||
if (infoPtr == NULL && uMsg != WM_CREATE)
|
||||
{
|
||||
goto HandleDefaultMessage;
|
||||
}
|
||||
|
||||
switch (uMsg)
|
||||
{
|
||||
case WM_CREATE:
|
||||
{
|
||||
infoPtr = (PMAP)(((LPCREATESTRUCTW)lParam)->lpCreateParams);
|
||||
|
||||
SetWindowLongPtrW(hwnd,
|
||||
GWLP_USERDATA,
|
||||
(LONG_PTR)infoPtr);
|
||||
|
||||
hFont = SetLrgFont(infoPtr);
|
||||
|
||||
break;
|
||||
}
|
||||
|
||||
case WM_SIZE:
|
||||
{
|
||||
cxClient = LOWORD(lParam);
|
||||
cyClient = HIWORD(lParam);
|
||||
|
||||
rc.left = 0;
|
||||
rc.top = 0;
|
||||
rc.right = cxClient;
|
||||
rc.bottom = cyClient;
|
||||
|
||||
break;
|
||||
}
|
||||
|
||||
case WM_PAINT:
|
||||
{
|
||||
PAINTSTRUCT ps;
|
||||
HDC hdc;
|
||||
HFONT hOldFont;
|
||||
|
||||
hdc = BeginPaint(hwnd,
|
||||
&ps);
|
||||
|
||||
Rectangle(hdc,
|
||||
0,
|
||||
0,
|
||||
cxClient,
|
||||
cyClient);
|
||||
|
||||
hOldFont = SelectObject(hdc, hFont);
|
||||
|
||||
DrawTextW(hdc,
|
||||
&infoPtr->pActiveCell->ch,
|
||||
1,
|
||||
&rc,
|
||||
DT_CENTER | DT_VCENTER | DT_SINGLELINE);
|
||||
|
||||
SelectObject(hdc, hOldFont);
|
||||
|
||||
EndPaint(hwnd,
|
||||
&ps);
|
||||
|
||||
break;
|
||||
}
|
||||
|
||||
case WM_DESTROY:
|
||||
{
|
||||
DeleteObject(hFont);
|
||||
|
||||
break;
|
||||
}
|
||||
|
||||
default:
|
||||
{
|
||||
HandleDefaultMessage:
|
||||
Ret = DefWindowProcW(hwnd,
|
||||
uMsg,
|
||||
wParam,
|
||||
lParam);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
return Ret;
|
||||
}
|
||||
/*
|
||||
* PROJECT: ReactOS Character Map
|
||||
* LICENSE: GPL - See COPYING in the top level directory
|
||||
* FILE: base/applications/charmap/lrgcell.c
|
||||
* PURPOSE: large cell window implementation
|
||||
* COPYRIGHT: Copyright 2007 Ged Murphy <[email protected]>
|
||||
*
|
||||
*/
|
||||
|
||||
#include <precomp.h>
|
||||
|
||||
|
||||
static
|
||||
HFONT
|
||||
SetLrgFont(PMAP infoPtr)
|
||||
{
|
||||
LOGFONTW lf;
|
||||
HFONT hFont = NULL;
|
||||
HDC hdc;
|
||||
HWND hCombo;
|
||||
LPWSTR lpFontName;
|
||||
INT Len;
|
||||
|
||||
hCombo = GetDlgItem(infoPtr->hParent,
|
||||
IDC_FONTCOMBO);
|
||||
|
||||
Len = GetWindowTextLengthW(hCombo);
|
||||
|
||||
if (Len != 0)
|
||||
{
|
||||
lpFontName = HeapAlloc(GetProcessHeap(),
|
||||
0,
|
||||
(Len + 1) * sizeof(WCHAR));
|
||||
|
||||
if (lpFontName)
|
||||
{
|
||||
SendMessageW(hCombo,
|
||||
WM_GETTEXT,
|
||||
31,
|
||||
(LPARAM)lpFontName);
|
||||
|
||||
ZeroMemory(&lf,
|
||||
sizeof(lf));
|
||||
|
||||
hdc = GetDC(infoPtr->hLrgWnd);
|
||||
lf.lfHeight = GetDeviceCaps(hdc,
|
||||
LOGPIXELSY) / 2;
|
||||
ReleaseDC(infoPtr->hLrgWnd,
|
||||
hdc);
|
||||
|
||||
lf.lfCharSet = DEFAULT_CHARSET;
|
||||
wcscpy(lf.lfFaceName,
|
||||
lpFontName);
|
||||
|
||||
hFont = CreateFontIndirectW(&lf);
|
||||
|
||||
HeapFree(GetProcessHeap(),
|
||||
0,
|
||||
lpFontName);
|
||||
}
|
||||
}
|
||||
|
||||
return hFont;
|
||||
}
|
||||
|
||||
|
||||
LRESULT CALLBACK
|
||||
LrgCellWndProc(HWND hwnd,
|
||||
UINT uMsg,
|
||||
WPARAM wParam,
|
||||
LPARAM lParam)
|
||||
{
|
||||
PMAP infoPtr;
|
||||
LRESULT Ret = 0;
|
||||
static INT cxClient, cyClient;
|
||||
static RECT rc;
|
||||
static HFONT hFont = NULL;
|
||||
|
||||
infoPtr = (PMAP)GetWindowLongPtrW(hwnd,
|
||||
GWLP_USERDATA);
|
||||
|
||||
if (infoPtr == NULL && uMsg != WM_CREATE)
|
||||
{
|
||||
goto HandleDefaultMessage;
|
||||
}
|
||||
|
||||
switch (uMsg)
|
||||
{
|
||||
case WM_CREATE:
|
||||
{
|
||||
infoPtr = (PMAP)(((LPCREATESTRUCTW)lParam)->lpCreateParams);
|
||||
|
||||
SetWindowLongPtrW(hwnd,
|
||||
GWLP_USERDATA,
|
||||
(LONG_PTR)infoPtr);
|
||||
|
||||
hFont = SetLrgFont(infoPtr);
|
||||
|
||||
break;
|
||||
}
|
||||
|
||||
case WM_SIZE:
|
||||
{
|
||||
cxClient = LOWORD(lParam);
|
||||
cyClient = HIWORD(lParam);
|
||||
|
||||
rc.left = 0;
|
||||
rc.top = 0;
|
||||
rc.right = cxClient;
|
||||
rc.bottom = cyClient;
|
||||
|
||||
break;
|
||||
}
|
||||
|
||||
case WM_PAINT:
|
||||
{
|
||||
PAINTSTRUCT ps;
|
||||
HDC hdc;
|
||||
HFONT hOldFont;
|
||||
|
||||
hdc = BeginPaint(hwnd,
|
||||
&ps);
|
||||
|
||||
Rectangle(hdc,
|
||||
0,
|
||||
0,
|
||||
cxClient,
|
||||
cyClient);
|
||||
|
||||
hOldFont = SelectObject(hdc, hFont);
|
||||
|
||||
DrawTextW(hdc,
|
||||
&infoPtr->pActiveCell->ch,
|
||||
1,
|
||||
&rc,
|
||||
DT_CENTER | DT_VCENTER | DT_SINGLELINE);
|
||||
|
||||
SelectObject(hdc, hOldFont);
|
||||
|
||||
EndPaint(hwnd,
|
||||
&ps);
|
||||
|
||||
break;
|
||||
}
|
||||
|
||||
case WM_DESTROY:
|
||||
{
|
||||
DeleteObject(hFont);
|
||||
|
||||
break;
|
||||
}
|
||||
|
||||
default:
|
||||
{
|
||||
HandleDefaultMessage:
|
||||
Ret = DefWindowProcW(hwnd,
|
||||
uMsg,
|
||||
wParam,
|
||||
lParam);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
return Ret;
|
||||
}
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -1,57 +1,57 @@
|
||||
#ifndef __CHARMAP_PRECOMP_H
|
||||
#define __CHARMAP_PRECOMP_H
|
||||
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
#include <windows.h>
|
||||
#include <commctrl.h>
|
||||
#include "resource.h"
|
||||
|
||||
#define XCELLS 20
|
||||
#define YCELLS 10
|
||||
#define XLARGE 45
|
||||
#define YLARGE 25
|
||||
|
||||
#define FM_SETFONT (WM_USER + 1)
|
||||
#define FM_GETCHAR (WM_USER + 2)
|
||||
#define FM_SETCHAR (WM_USER + 3)
|
||||
|
||||
extern HINSTANCE hInstance;
|
||||
|
||||
typedef struct _CELL
|
||||
{
|
||||
RECT CellExt;
|
||||
RECT CellInt;
|
||||
BOOL bActive;
|
||||
BOOL bLarge;
|
||||
WCHAR ch;
|
||||
} CELL, *PCELL;
|
||||
|
||||
typedef struct _MAP
|
||||
{
|
||||
HWND hMapWnd;
|
||||
HWND hParent;
|
||||
HWND hLrgWnd;
|
||||
SIZE ClientSize;
|
||||
SIZE CellSize;
|
||||
CELL Cells[YCELLS][XCELLS];
|
||||
PCELL pActiveCell;
|
||||
HFONT hFont;
|
||||
LOGFONTW CurrentFont;
|
||||
INT iYStart;
|
||||
} MAP, *PMAP;
|
||||
|
||||
typedef struct {
|
||||
NMHDR hdr;
|
||||
WCHAR ch;
|
||||
} MAPNOTIFY, *LPMAPNOTIFY;
|
||||
|
||||
|
||||
LRESULT CALLBACK LrgCellWndProc(HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam);
|
||||
|
||||
VOID ShowAboutDlg(HWND hWndParent);
|
||||
|
||||
BOOL RegisterMapClasses(HINSTANCE hInstance);
|
||||
VOID UnregisterMapClasses(HINSTANCE hInstance);
|
||||
|
||||
#endif /* __CHARMAP_PRECOMP_H */
|
||||
#ifndef __CHARMAP_PRECOMP_H
|
||||
#define __CHARMAP_PRECOMP_H
|
||||
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
#include <windows.h>
|
||||
#include <commctrl.h>
|
||||
#include "resource.h"
|
||||
|
||||
#define XCELLS 20
|
||||
#define YCELLS 10
|
||||
#define XLARGE 45
|
||||
#define YLARGE 25
|
||||
|
||||
#define FM_SETFONT (WM_USER + 1)
|
||||
#define FM_GETCHAR (WM_USER + 2)
|
||||
#define FM_SETCHAR (WM_USER + 3)
|
||||
|
||||
extern HINSTANCE hInstance;
|
||||
|
||||
typedef struct _CELL
|
||||
{
|
||||
RECT CellExt;
|
||||
RECT CellInt;
|
||||
BOOL bActive;
|
||||
BOOL bLarge;
|
||||
WCHAR ch;
|
||||
} CELL, *PCELL;
|
||||
|
||||
typedef struct _MAP
|
||||
{
|
||||
HWND hMapWnd;
|
||||
HWND hParent;
|
||||
HWND hLrgWnd;
|
||||
SIZE ClientSize;
|
||||
SIZE CellSize;
|
||||
CELL Cells[YCELLS][XCELLS];
|
||||
PCELL pActiveCell;
|
||||
HFONT hFont;
|
||||
LOGFONTW CurrentFont;
|
||||
INT iYStart;
|
||||
} MAP, *PMAP;
|
||||
|
||||
typedef struct {
|
||||
NMHDR hdr;
|
||||
WCHAR ch;
|
||||
} MAPNOTIFY, *LPMAPNOTIFY;
|
||||
|
||||
|
||||
LRESULT CALLBACK LrgCellWndProc(HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam);
|
||||
|
||||
VOID ShowAboutDlg(HWND hWndParent);
|
||||
|
||||
BOOL RegisterMapClasses(HINSTANCE hInstance);
|
||||
VOID UnregisterMapClasses(HINSTANCE hInstance);
|
||||
|
||||
#endif /* __CHARMAP_PRECOMP_H */
|
||||
|
||||
@@ -1,19 +1,19 @@
|
||||
#define IDC_STATIC -1
|
||||
|
||||
#define IDI_ICON 100
|
||||
|
||||
#define IDD_CHARMAP 200
|
||||
#define IDD_ABOUTBOX 201
|
||||
|
||||
#define IDC_FONTCOMBO 1001
|
||||
#define IDC_CMHELP 1002
|
||||
#define IDC_FONTMAP 1003
|
||||
#define IDC_TEXTBOX 1004
|
||||
#define IDC_SELECT 1005
|
||||
#define IDC_COPY 1006
|
||||
#define IDC_ADVVIEW 1007
|
||||
#define IDC_DISPLAY 1008
|
||||
#define IDC_LICENSE_EDIT 1009
|
||||
|
||||
#define IDS_LICENSE 1010
|
||||
#define IDS_ABOUT 1011
|
||||
#define IDC_STATIC -1
|
||||
|
||||
#define IDI_ICON 100
|
||||
|
||||
#define IDD_CHARMAP 200
|
||||
#define IDD_ABOUTBOX 201
|
||||
|
||||
#define IDC_FONTCOMBO 1001
|
||||
#define IDC_CMHELP 1002
|
||||
#define IDC_FONTMAP 1003
|
||||
#define IDC_TEXTBOX 1004
|
||||
#define IDC_SELECT 1005
|
||||
#define IDC_COPY 1006
|
||||
#define IDC_ADVVIEW 1007
|
||||
#define IDC_DISPLAY 1008
|
||||
#define IDC_LICENSE_EDIT 1009
|
||||
|
||||
#define IDS_LICENSE 1010
|
||||
#define IDS_ABOUT 1011
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
<?xml version="1.0"?>
|
||||
<!DOCTYPE module SYSTEM "../../../../tools/rbuild/project.dtd">
|
||||
<module name="dbgprint" type="win32cui" installbase="system32" installname="dbgprint.exe">
|
||||
<library>kernel32</library>
|
||||
<file>dbgprint.c</file>
|
||||
</module>
|
||||
<?xml version="1.0"?>
|
||||
<!DOCTYPE module SYSTEM "../../../../tools/rbuild/project.dtd">
|
||||
<module name="dbgprint" type="win32cui" installbase="system32" installname="dbgprint.exe">
|
||||
<library>kernel32</library>
|
||||
<file>dbgprint.c</file>
|
||||
</module>
|
||||
|
||||
@@ -1,17 +1,17 @@
|
||||
LANGUAGE LANG_ITALIAN, SUBLANG_NEUTRAL
|
||||
|
||||
STRINGTABLE DISCARDABLE
|
||||
BEGIN
|
||||
|
||||
IDS_USAGE, "FIND: Visualizza le linee di un file che contengono un stringa.\n\n\
|
||||
FIND [ /C ] [ /I ] [ /N ] [ /V ] \"stringa\" [ file... ]\n\
|
||||
/C Conta il numero di linee che contengono la stringa\n\
|
||||
/I Ignora maiuscole/minuscole\n\
|
||||
/N Numera le linee visualizzate a partire da 1\n\
|
||||
/V Visualizza le linee che non contengono la stringa"
|
||||
|
||||
IDS_NO_SUCH_FILE, "FIND: %s: File non trovato\n"
|
||||
|
||||
IDS_CANNOT_OPEN, "FIND: %s: Impossibile aprire il file\n"
|
||||
|
||||
END
|
||||
LANGUAGE LANG_ITALIAN, SUBLANG_NEUTRAL
|
||||
|
||||
STRINGTABLE DISCARDABLE
|
||||
BEGIN
|
||||
|
||||
IDS_USAGE, "FIND: Visualizza le linee di un file che contengono un stringa.\n\n\
|
||||
FIND [ /C ] [ /I ] [ /N ] [ /V ] \"stringa\" [ file... ]\n\
|
||||
/C Conta il numero di linee che contengono la stringa\n\
|
||||
/I Ignora maiuscole/minuscole\n\
|
||||
/N Numera le linee visualizzate a partire da 1\n\
|
||||
/V Visualizza le linee che non contengono la stringa"
|
||||
|
||||
IDS_NO_SUCH_FILE, "FIND: %s: File non trovato\n"
|
||||
|
||||
IDS_CANNOT_OPEN, "FIND: %s: Impossibile aprire il file\n"
|
||||
|
||||
END
|
||||
|
||||
@@ -1,26 +1,26 @@
|
||||
/*
|
||||
* PROJECT: ReactOS find command
|
||||
* LICENSE: GPL - See COPYING in the top level directory
|
||||
* FILE: base/applications/cmdutils/find/lang/lt-LT.rc
|
||||
* PURPOSE: Lithuanian Language File
|
||||
* TRANSLATOR: Vytis "CMan" Girdþijauskas ([email protected])
|
||||
* DATE: 2007-09-23
|
||||
*/
|
||||
|
||||
LANGUAGE LANG_LITHUANIAN, SUBLANG_DEFAULT
|
||||
|
||||
STRINGTABLE DISCARDABLE
|
||||
BEGIN
|
||||
|
||||
IDS_USAGE, "FIND: Spausdina visas bylos eilutes, kuriose yra ieðkomas tekstas.\n\n\
|
||||
FIND [ /C ] [ /I ] [ /N ] [ /V ] \"tekstas\" [ byla... ]\n\
|
||||
/C Skaièiuoti eilutes, kuriose yra ieðkomas tekstas\n\
|
||||
/I Ignoruoti raidþiø dydá\n\
|
||||
/N Numeruoti vaizduojamas eilutes, pradedant nuo 1\n\
|
||||
/V Spausdinti eilutes, kuriose nëra ieðkomo teksto"
|
||||
|
||||
IDS_NO_SUCH_FILE, "FIND: %s: Tokios bylos nëra\n"
|
||||
|
||||
IDS_CANNOT_OPEN, "FIND: %s: Nepavyko atverti bylos\n"
|
||||
|
||||
END
|
||||
/*
|
||||
* PROJECT: ReactOS find command
|
||||
* LICENSE: GPL - See COPYING in the top level directory
|
||||
* FILE: base/applications/cmdutils/find/lang/lt-LT.rc
|
||||
* PURPOSE: Lithuanian Language File
|
||||
* TRANSLATOR: Vytis "CMan" Girdþijauskas ([email protected])
|
||||
* DATE: 2007-09-23
|
||||
*/
|
||||
|
||||
LANGUAGE LANG_LITHUANIAN, SUBLANG_DEFAULT
|
||||
|
||||
STRINGTABLE DISCARDABLE
|
||||
BEGIN
|
||||
|
||||
IDS_USAGE, "FIND: Spausdina visas bylos eilutes, kuriose yra ieðkomas tekstas.\n\n\
|
||||
FIND [ /C ] [ /I ] [ /N ] [ /V ] \"tekstas\" [ byla... ]\n\
|
||||
/C Skaièiuoti eilutes, kuriose yra ieðkomas tekstas\n\
|
||||
/I Ignoruoti raidþiø dydá\n\
|
||||
/N Numeruoti vaizduojamas eilutes, pradedant nuo 1\n\
|
||||
/V Spausdinti eilutes, kuriose nëra ieðkomo teksto"
|
||||
|
||||
IDS_NO_SUCH_FILE, "FIND: %s: Tokios bylos nëra\n"
|
||||
|
||||
IDS_CANNOT_OPEN, "FIND: %s: Nepavyko atverti bylos\n"
|
||||
|
||||
END
|
||||
|
||||
@@ -1,3 +1,3 @@
|
||||
#define IDS_USAGE 1000
|
||||
#define IDS_NO_SUCH_FILE 1001
|
||||
#define IDS_CANNOT_OPEN 1002
|
||||
#define IDS_USAGE 1000
|
||||
#define IDS_NO_SUCH_FILE 1001
|
||||
#define IDS_CANNOT_OPEN 1002
|
||||
|
||||
@@ -1,15 +1,15 @@
|
||||
LANGUAGE LANG_ITALIAN, SUBLANG_NEUTRAL
|
||||
|
||||
STRINGTABLE DISCARDABLE
|
||||
BEGIN
|
||||
IDS_USAGE, "Visualizza dati una schermata per volta.\n\n\
|
||||
MORE < [Drive:][Path]File\n\
|
||||
Comando | MORE \n\
|
||||
MORE [Drive:][Path]File\n\n\
|
||||
[Drive:][Path]File Il file da visualizzare.\n\
|
||||
Comando\t\t Il comando di cui l'output dev'essere visualizzato.\n\n\
|
||||
Alla richiesta ""-- Continua --"" premere un tasto qualsiasi per visualizzare la pagina successiva.\n"
|
||||
|
||||
IDS_CONTINUE, " -- Continua (100%) -- "
|
||||
IDS_FILE_ACCESS, "Impossibile accedere al file %s."
|
||||
END
|
||||
LANGUAGE LANG_ITALIAN, SUBLANG_NEUTRAL
|
||||
|
||||
STRINGTABLE DISCARDABLE
|
||||
BEGIN
|
||||
IDS_USAGE, "Visualizza dati una schermata per volta.\n\n\
|
||||
MORE < [Drive:][Path]File\n\
|
||||
Comando | MORE \n\
|
||||
MORE [Drive:][Path]File\n\n\
|
||||
[Drive:][Path]File Il file da visualizzare.\n\
|
||||
Comando\t\t Il comando di cui l'output dev'essere visualizzato.\n\n\
|
||||
Alla richiesta ""-- Continua --"" premere un tasto qualsiasi per visualizzare la pagina successiva.\n"
|
||||
|
||||
IDS_CONTINUE, " -- Continua (100%) -- "
|
||||
IDS_FILE_ACCESS, "Impossibile accedere al file %s."
|
||||
END
|
||||
|
||||
@@ -1,27 +1,27 @@
|
||||
/*
|
||||
* PROJECT: ReactOS more command
|
||||
* LICENSE: GPL - See COPYING in the top level directory
|
||||
* FILE: base/applications/cmdutils/more/lang/lt-LT.rc
|
||||
* PURPOSE: Lithuanian Language File
|
||||
* TRANSLATOR: Vytis "CMan" Girdþijauskas ([email protected])
|
||||
* DATE: 2007-09-23
|
||||
*/
|
||||
|
||||
LANGUAGE LANG_LITHUANIAN, SUBLANG_DEFAULT
|
||||
|
||||
STRINGTABLE DISCARDABLE
|
||||
BEGIN
|
||||
IDS_USAGE, "Atvaizduoja duomenis puslapiais.\n\n\
|
||||
MORE < [Diskas:][Kelias iki bylos]Bylos vardas\n\
|
||||
Komanda | MORE \n\
|
||||
MORE [Diskas:][Kelias iki bylos]Bylos vardas\n\n\
|
||||
[Diskas:][Kelias iki bylos]Bylos vardas Byla, kurios turinys turi bûti\n\
|
||||
atvaizduotas.\n\
|
||||
Komanda Komanda, kurios rezultatas turi\n\
|
||||
bûti atvaizduotas.\n\n\
|
||||
Pasirodþius raginimui ""-- Toliau --"" spauskite bet kurá klaviðà, kad\n\
|
||||
pamatytumëte sekantá puslapá.\n"
|
||||
|
||||
IDS_CONTINUE, " -- Toliau (100%) -- "
|
||||
IDS_FILE_ACCESS, "Nepavyko atverti bylos %s."
|
||||
END
|
||||
/*
|
||||
* PROJECT: ReactOS more command
|
||||
* LICENSE: GPL - See COPYING in the top level directory
|
||||
* FILE: base/applications/cmdutils/more/lang/lt-LT.rc
|
||||
* PURPOSE: Lithuanian Language File
|
||||
* TRANSLATOR: Vytis "CMan" Girdþijauskas ([email protected])
|
||||
* DATE: 2007-09-23
|
||||
*/
|
||||
|
||||
LANGUAGE LANG_LITHUANIAN, SUBLANG_DEFAULT
|
||||
|
||||
STRINGTABLE DISCARDABLE
|
||||
BEGIN
|
||||
IDS_USAGE, "Atvaizduoja duomenis puslapiais.\n\n\
|
||||
MORE < [Diskas:][Kelias iki bylos]Bylos vardas\n\
|
||||
Komanda | MORE \n\
|
||||
MORE [Diskas:][Kelias iki bylos]Bylos vardas\n\n\
|
||||
[Diskas:][Kelias iki bylos]Bylos vardas Byla, kurios turinys turi bûti\n\
|
||||
atvaizduotas.\n\
|
||||
Komanda Komanda, kurios rezultatas turi\n\
|
||||
bûti atvaizduotas.\n\n\
|
||||
Pasirodþius raginimui ""-- Toliau --"" spauskite bet kurá klaviðà, kad\n\
|
||||
pamatytumëte sekantá puslapá.\n"
|
||||
|
||||
IDS_CONTINUE, " -- Toliau (100%) -- "
|
||||
IDS_FILE_ACCESS, "Nepavyko atverti bylos %s."
|
||||
END
|
||||
|
||||
@@ -1,61 +1,61 @@
|
||||
LANGUAGE LANG_GERMAN, SUBLANG_NEUTRAL
|
||||
|
||||
IDD_DOWNLOAD DIALOGEX LOADONCALL MOVEABLE DISCARDABLE 0, 0, 220, 76
|
||||
STYLE DS_SHELLFONT | DS_CENTER | WS_BORDER | WS_CAPTION | WS_POPUP | WS_SYSMENU | WS_VISIBLE
|
||||
CAPTION "Download..."
|
||||
FONT 8, "MS Shell Dlg"
|
||||
BEGIN
|
||||
CONTROL "Progress1",IDC_PROGRESS,"msctls_progress32",WS_BORDER|PBS_SMOOTH,10,10,200,12
|
||||
LTEXT "", IDC_STATUS, 10, 30, 200, 10, SS_CENTER
|
||||
PUSHBUTTON "Abbrechen", IDCANCEL, 85, 58, 50, 15, WS_GROUP | WS_TABSTOP
|
||||
END
|
||||
|
||||
IDD_PROF DIALOGEX 6, 6, 267, 110
|
||||
STYLE DS_SHELLFONT | DS_CENTER | WS_BORDER | WS_CAPTION | WS_POPUP | WS_SYSMENU | WS_VISIBLE
|
||||
CAPTION "Einstellungen"
|
||||
FONT 8, "MS Shell Dlg"
|
||||
BEGIN
|
||||
LTEXT "Download Ordner:", -1, 6, 10, 140, 8
|
||||
EDITTEXT IDC_DOWNLOAD_FOLDER_EDIT, 6, 20, 205, 14, WS_VISIBLE | WS_TABSTOP
|
||||
PUSHBUTTON "W&ähle...", IDC_CHOOSE_BUTTON, 216, 20, 45, 14
|
||||
AUTOCHECKBOX "&Installationsdateien nach dem Setup löschen", IDC_DELINST_FILES_CHECKBOX, 8, 40, 210, 10, WS_GROUP
|
||||
LTEXT "Update Server:", -1, 6, 55, 140, 8
|
||||
EDITTEXT IDC_UPDATE_SERVER_EDIT, 6, 65, 255, 14, WS_VISIBLE | WS_TABSTOP
|
||||
DEFPUSHBUTTON "&OK", IDOK, 147, 90, 54, 15
|
||||
PUSHBUTTON "&Abbrechen", IDCANCEL, 207, 90, 54, 15
|
||||
END
|
||||
|
||||
STRINGTABLE DISCARDABLE
|
||||
BEGIN
|
||||
IDS_WINDOW_TITLE "Download ! - ReactOS Downloader"
|
||||
IDS_WELCOME_TITLE "Willkommen im ReactOS Downloader"
|
||||
IDS_WELCOME "Bitte wählen Sie links eine Kategorie. Dies ist Version 1.1."
|
||||
IDS_NO_APP_TITLE "Keine Anwendung ausgewählt"
|
||||
IDS_NO_APP "Bitte wählen Sie eine Anwendung, bevor Sie die Download-Schaltfläche betätigen. Wenn Sie Hilfe benötigen, drücken Sie die Hilfe-Schaltfläche in der oberen rechten Ecke."
|
||||
IDS_UPDATE_TITLE "Update"
|
||||
IDS_UPDATE "Diese Funktion wurde noch nicht implementiert."
|
||||
IDS_HELP_TITLE "Hilfe"
|
||||
IDS_HELP "Wählen Sie links eine Kategorie, wählen Sie eine Anwendung und drücken Sie die Download-Schaltfläche. Um die Anwendungsinformationen zu aktualisieren, drücken Sie die Schaltfläche neben der Hilfe-Schaltfläche."
|
||||
IDS_NO_APPS "In dieser Kategorie sind bisher noch keine Anwendungen. Sie können helfen, indem Sie Anwendungen hinzufügen."
|
||||
IDS_CHOOSE_APP "Bitte wählen Sie eine Anwendung."
|
||||
IDS_CHOOSE_SUB "Bitte wählen Sie eine Unterkategorie."
|
||||
IDS_CHOOSE_CATEGORY "Bitte wählen Sie eine Kategorie."
|
||||
IDS_CHOOSE_BOTH "Bitte wählen Sie eine Unterkategorie oder eine Anwendung."
|
||||
IDS_XMLERROR_1 "XML Datei nicht gefunden!"
|
||||
IDS_XMLERROR_2 "XML Datei kann nicht verarbeitet werden!"
|
||||
IDS_DOWNLOAD_ERROR "Die Datei konnte nicht heruntergeladen werden.\nBitte prüfen sie, ob eine Verbindung zum Internet besteht."
|
||||
IDS_VERSION "Version: "
|
||||
IDS_LICENCE "Lizenz: "
|
||||
IDS_MAINTAINER "Maintainer: "
|
||||
IDS_APPS_TITLE "Anwendungen"
|
||||
IDS_CATS_TITLE "Kategorien"
|
||||
IDS_CHOOSE_FOLDER "Bitte wählen Sie den Ordner..."
|
||||
IDS_NOTCREATE_REGKEY "Registryschlüssel könnte nicht erstellt werden."
|
||||
IDS_DOWNLOAD_FOLDER "Downloader"
|
||||
IDS_UNABLECREATE_FOLDER "Es konnte kein Ordner mit diesem Namen erstellt werden!"
|
||||
IDS_UPDATE_URL "http://svn.reactos.org"
|
||||
IDS_INSTALL_DEP "%s wird benötigt um %s ausführen zu können. Soll %s jetzt installiert werden?"
|
||||
TTT_HELPBUTTON "Hilfe über den Downloader"
|
||||
TTT_UPDATEBUTTON "Noch nicht vorhanden"
|
||||
TTT_PROFBUTTON "Konfiguriert den Downloader"
|
||||
END
|
||||
LANGUAGE LANG_GERMAN, SUBLANG_NEUTRAL
|
||||
|
||||
IDD_DOWNLOAD DIALOGEX LOADONCALL MOVEABLE DISCARDABLE 0, 0, 220, 76
|
||||
STYLE DS_SHELLFONT | DS_CENTER | WS_BORDER | WS_CAPTION | WS_POPUP | WS_SYSMENU | WS_VISIBLE
|
||||
CAPTION "Download..."
|
||||
FONT 8, "MS Shell Dlg"
|
||||
BEGIN
|
||||
CONTROL "Progress1",IDC_PROGRESS,"msctls_progress32",WS_BORDER|PBS_SMOOTH,10,10,200,12
|
||||
LTEXT "", IDC_STATUS, 10, 30, 200, 10, SS_CENTER
|
||||
PUSHBUTTON "Abbrechen", IDCANCEL, 85, 58, 50, 15, WS_GROUP | WS_TABSTOP
|
||||
END
|
||||
|
||||
IDD_PROF DIALOGEX 6, 6, 267, 110
|
||||
STYLE DS_SHELLFONT | DS_CENTER | WS_BORDER | WS_CAPTION | WS_POPUP | WS_SYSMENU | WS_VISIBLE
|
||||
CAPTION "Einstellungen"
|
||||
FONT 8, "MS Shell Dlg"
|
||||
BEGIN
|
||||
LTEXT "Download Ordner:", -1, 6, 10, 140, 8
|
||||
EDITTEXT IDC_DOWNLOAD_FOLDER_EDIT, 6, 20, 205, 14, WS_VISIBLE | WS_TABSTOP
|
||||
PUSHBUTTON "W&ähle...", IDC_CHOOSE_BUTTON, 216, 20, 45, 14
|
||||
AUTOCHECKBOX "&Installationsdateien nach dem Setup löschen", IDC_DELINST_FILES_CHECKBOX, 8, 40, 210, 10, WS_GROUP
|
||||
LTEXT "Update Server:", -1, 6, 55, 140, 8
|
||||
EDITTEXT IDC_UPDATE_SERVER_EDIT, 6, 65, 255, 14, WS_VISIBLE | WS_TABSTOP
|
||||
DEFPUSHBUTTON "&OK", IDOK, 147, 90, 54, 15
|
||||
PUSHBUTTON "&Abbrechen", IDCANCEL, 207, 90, 54, 15
|
||||
END
|
||||
|
||||
STRINGTABLE DISCARDABLE
|
||||
BEGIN
|
||||
IDS_WINDOW_TITLE "Download ! - ReactOS Downloader"
|
||||
IDS_WELCOME_TITLE "Willkommen im ReactOS Downloader"
|
||||
IDS_WELCOME "Bitte wählen Sie links eine Kategorie. Dies ist Version 1.1."
|
||||
IDS_NO_APP_TITLE "Keine Anwendung ausgewählt"
|
||||
IDS_NO_APP "Bitte wählen Sie eine Anwendung, bevor Sie die Download-Schaltfläche betätigen. Wenn Sie Hilfe benötigen, drücken Sie die Hilfe-Schaltfläche in der oberen rechten Ecke."
|
||||
IDS_UPDATE_TITLE "Update"
|
||||
IDS_UPDATE "Diese Funktion wurde noch nicht implementiert."
|
||||
IDS_HELP_TITLE "Hilfe"
|
||||
IDS_HELP "Wählen Sie links eine Kategorie, wählen Sie eine Anwendung und drücken Sie die Download-Schaltfläche. Um die Anwendungsinformationen zu aktualisieren, drücken Sie die Schaltfläche neben der Hilfe-Schaltfläche."
|
||||
IDS_NO_APPS "In dieser Kategorie sind bisher noch keine Anwendungen. Sie können helfen, indem Sie Anwendungen hinzufügen."
|
||||
IDS_CHOOSE_APP "Bitte wählen Sie eine Anwendung."
|
||||
IDS_CHOOSE_SUB "Bitte wählen Sie eine Unterkategorie."
|
||||
IDS_CHOOSE_CATEGORY "Bitte wählen Sie eine Kategorie."
|
||||
IDS_CHOOSE_BOTH "Bitte wählen Sie eine Unterkategorie oder eine Anwendung."
|
||||
IDS_XMLERROR_1 "XML Datei nicht gefunden!"
|
||||
IDS_XMLERROR_2 "XML Datei kann nicht verarbeitet werden!"
|
||||
IDS_DOWNLOAD_ERROR "Die Datei konnte nicht heruntergeladen werden.\nBitte prüfen sie, ob eine Verbindung zum Internet besteht."
|
||||
IDS_VERSION "Version: "
|
||||
IDS_LICENCE "Lizenz: "
|
||||
IDS_MAINTAINER "Maintainer: "
|
||||
IDS_APPS_TITLE "Anwendungen"
|
||||
IDS_CATS_TITLE "Kategorien"
|
||||
IDS_CHOOSE_FOLDER "Bitte wählen Sie den Ordner..."
|
||||
IDS_NOTCREATE_REGKEY "Registryschlüssel könnte nicht erstellt werden."
|
||||
IDS_DOWNLOAD_FOLDER "Downloader"
|
||||
IDS_UNABLECREATE_FOLDER "Es konnte kein Ordner mit diesem Namen erstellt werden!"
|
||||
IDS_UPDATE_URL "http://svn.reactos.org"
|
||||
IDS_INSTALL_DEP "%s wird benötigt um %s ausführen zu können. Soll %s jetzt installiert werden?"
|
||||
TTT_HELPBUTTON "Hilfe über den Downloader"
|
||||
TTT_UPDATEBUTTON "Noch nicht vorhanden"
|
||||
TTT_PROFBUTTON "Konfiguriert den Downloader"
|
||||
END
|
||||
|
||||
@@ -1,61 +1,61 @@
|
||||
LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US
|
||||
|
||||
IDD_DOWNLOAD DIALOGEX LOADONCALL MOVEABLE DISCARDABLE 0, 0, 220, 76
|
||||
STYLE DS_SHELLFONT | DS_CENTER | WS_BORDER | WS_CAPTION | WS_POPUP | WS_SYSMENU | WS_VISIBLE
|
||||
CAPTION "Download..."
|
||||
FONT 8, "MS Shell Dlg"
|
||||
BEGIN
|
||||
CONTROL "Progress1",IDC_PROGRESS,"msctls_progress32",WS_BORDER|PBS_SMOOTH,10,10,200,12
|
||||
LTEXT "", IDC_STATUS, 10, 30, 200, 10, SS_CENTER
|
||||
PUSHBUTTON "Cancel", IDCANCEL, 85, 58, 50, 15, WS_GROUP | WS_TABSTOP
|
||||
END
|
||||
|
||||
IDD_PROF DIALOGEX 6, 6, 267, 110
|
||||
STYLE DS_SHELLFONT | DS_CENTER | WS_BORDER | WS_CAPTION | WS_POPUP | WS_SYSMENU | WS_VISIBLE
|
||||
CAPTION "Preferences"
|
||||
FONT 8, "MS Shell Dlg"
|
||||
BEGIN
|
||||
LTEXT "Download folder:", -1, 6, 10, 140, 8
|
||||
EDITTEXT IDC_DOWNLOAD_FOLDER_EDIT, 6, 20, 205, 14, WS_VISIBLE | WS_TABSTOP
|
||||
PUSHBUTTON "C&hoose...", IDC_CHOOSE_BUTTON, 216, 20, 45, 14
|
||||
AUTOCHECKBOX "&Delete installation files after setup", IDC_DELINST_FILES_CHECKBOX, 8, 40, 210, 10, WS_GROUP
|
||||
LTEXT "Update server:", -1, 6, 55, 140, 8
|
||||
EDITTEXT IDC_UPDATE_SERVER_EDIT, 6, 65, 255, 14, WS_VISIBLE | WS_TABSTOP
|
||||
DEFPUSHBUTTON "&OK", IDOK, 147, 90, 54, 15
|
||||
PUSHBUTTON "&Cancel", IDCANCEL, 207, 90, 54, 15
|
||||
END
|
||||
|
||||
STRINGTABLE DISCARDABLE
|
||||
BEGIN
|
||||
IDS_WINDOW_TITLE "Download ! - ReactOS Downloader"
|
||||
IDS_WELCOME_TITLE "Welcome to the ReactOS Downloader"
|
||||
IDS_WELCOME "Please choose a category on the left. This is version 1.1."
|
||||
IDS_NO_APP_TITLE "No application selected"
|
||||
IDS_NO_APP "Please select a Application before you click the download button, if you need assistance please click on the question mark button on the top right corner."
|
||||
IDS_UPDATE_TITLE "Update"
|
||||
IDS_UPDATE "Sorry this feature is not implemented yet."
|
||||
IDS_HELP_TITLE "Help"
|
||||
IDS_HELP "Choose a category on the left, then choose a application and click the download button. To update the application information click the button next to the help button."
|
||||
IDS_NO_APPS "Sorry, there no applications in this category yet. You can help and add more applications."
|
||||
IDS_CHOOSE_APP "Please choose an application."
|
||||
IDS_CHOOSE_SUB "Please choose a subcategory."
|
||||
IDS_CHOOSE_CATEGORY "Please choose a category."
|
||||
IDS_CHOOSE_BOTH "Please choose a subcategory or an application."
|
||||
IDS_XMLERROR_1 "Could not find the xml file !"
|
||||
IDS_XMLERROR_2 "Could not parse the xml file !"
|
||||
IDS_DOWNLOAD_ERROR "Unable to download the file.\nPlease check your internet connection."
|
||||
IDS_VERSION "Version: "
|
||||
IDS_LICENCE "Licence: "
|
||||
IDS_MAINTAINER "Maintainer: "
|
||||
IDS_APPS_TITLE "Applications"
|
||||
IDS_CATS_TITLE "Categories"
|
||||
IDS_CHOOSE_FOLDER "Please, choose the folder..."
|
||||
IDS_NOTCREATE_REGKEY "Could not create the registry key."
|
||||
IDS_DOWNLOAD_FOLDER "Downloader"
|
||||
IDS_UNABLECREATE_FOLDER "Unable to create a folder with this name!"
|
||||
IDS_UPDATE_URL "http://svn.reactos.org"
|
||||
IDS_INSTALL_DEP "%s is required to run %s. Should %s be installed now?"
|
||||
TTT_HELPBUTTON "Get help about the downloader"
|
||||
TTT_UPDATEBUTTON "Not yet available"
|
||||
TTT_PROFBUTTON "Let you configure the downloader"
|
||||
END
|
||||
LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US
|
||||
|
||||
IDD_DOWNLOAD DIALOGEX LOADONCALL MOVEABLE DISCARDABLE 0, 0, 220, 76
|
||||
STYLE DS_SHELLFONT | DS_CENTER | WS_BORDER | WS_CAPTION | WS_POPUP | WS_SYSMENU | WS_VISIBLE
|
||||
CAPTION "Download..."
|
||||
FONT 8, "MS Shell Dlg"
|
||||
BEGIN
|
||||
CONTROL "Progress1",IDC_PROGRESS,"msctls_progress32",WS_BORDER|PBS_SMOOTH,10,10,200,12
|
||||
LTEXT "", IDC_STATUS, 10, 30, 200, 10, SS_CENTER
|
||||
PUSHBUTTON "Cancel", IDCANCEL, 85, 58, 50, 15, WS_GROUP | WS_TABSTOP
|
||||
END
|
||||
|
||||
IDD_PROF DIALOGEX 6, 6, 267, 110
|
||||
STYLE DS_SHELLFONT | DS_CENTER | WS_BORDER | WS_CAPTION | WS_POPUP | WS_SYSMENU | WS_VISIBLE
|
||||
CAPTION "Preferences"
|
||||
FONT 8, "MS Shell Dlg"
|
||||
BEGIN
|
||||
LTEXT "Download folder:", -1, 6, 10, 140, 8
|
||||
EDITTEXT IDC_DOWNLOAD_FOLDER_EDIT, 6, 20, 205, 14, WS_VISIBLE | WS_TABSTOP
|
||||
PUSHBUTTON "C&hoose...", IDC_CHOOSE_BUTTON, 216, 20, 45, 14
|
||||
AUTOCHECKBOX "&Delete installation files after setup", IDC_DELINST_FILES_CHECKBOX, 8, 40, 210, 10, WS_GROUP
|
||||
LTEXT "Update server:", -1, 6, 55, 140, 8
|
||||
EDITTEXT IDC_UPDATE_SERVER_EDIT, 6, 65, 255, 14, WS_VISIBLE | WS_TABSTOP
|
||||
DEFPUSHBUTTON "&OK", IDOK, 147, 90, 54, 15
|
||||
PUSHBUTTON "&Cancel", IDCANCEL, 207, 90, 54, 15
|
||||
END
|
||||
|
||||
STRINGTABLE DISCARDABLE
|
||||
BEGIN
|
||||
IDS_WINDOW_TITLE "Download ! - ReactOS Downloader"
|
||||
IDS_WELCOME_TITLE "Welcome to the ReactOS Downloader"
|
||||
IDS_WELCOME "Please choose a category on the left. This is version 1.1."
|
||||
IDS_NO_APP_TITLE "No application selected"
|
||||
IDS_NO_APP "Please select a Application before you click the download button, if you need assistance please click on the question mark button on the top right corner."
|
||||
IDS_UPDATE_TITLE "Update"
|
||||
IDS_UPDATE "Sorry this feature is not implemented yet."
|
||||
IDS_HELP_TITLE "Help"
|
||||
IDS_HELP "Choose a category on the left, then choose a application and click the download button. To update the application information click the button next to the help button."
|
||||
IDS_NO_APPS "Sorry, there no applications in this category yet. You can help and add more applications."
|
||||
IDS_CHOOSE_APP "Please choose an application."
|
||||
IDS_CHOOSE_SUB "Please choose a subcategory."
|
||||
IDS_CHOOSE_CATEGORY "Please choose a category."
|
||||
IDS_CHOOSE_BOTH "Please choose a subcategory or an application."
|
||||
IDS_XMLERROR_1 "Could not find the xml file !"
|
||||
IDS_XMLERROR_2 "Could not parse the xml file !"
|
||||
IDS_DOWNLOAD_ERROR "Unable to download the file.\nPlease check your internet connection."
|
||||
IDS_VERSION "Version: "
|
||||
IDS_LICENCE "Licence: "
|
||||
IDS_MAINTAINER "Maintainer: "
|
||||
IDS_APPS_TITLE "Applications"
|
||||
IDS_CATS_TITLE "Categories"
|
||||
IDS_CHOOSE_FOLDER "Please, choose the folder..."
|
||||
IDS_NOTCREATE_REGKEY "Could not create the registry key."
|
||||
IDS_DOWNLOAD_FOLDER "Downloader"
|
||||
IDS_UNABLECREATE_FOLDER "Unable to create a folder with this name!"
|
||||
IDS_UPDATE_URL "http://svn.reactos.org"
|
||||
IDS_INSTALL_DEP "%s is required to run %s. Should %s be installed now?"
|
||||
TTT_HELPBUTTON "Get help about the downloader"
|
||||
TTT_UPDATEBUTTON "Not yet available"
|
||||
TTT_PROFBUTTON "Let you configure the downloader"
|
||||
END
|
||||
|
||||
@@ -1,66 +1,66 @@
|
||||
/*
|
||||
*Spanish Language resource file
|
||||
* Actualizado Javier Remacha 2007-12-01,2007-12-31
|
||||
*/
|
||||
|
||||
LANGUAGE LANG_SPANISH, SUBLANG_NEUTRAL
|
||||
|
||||
IDD_DOWNLOAD DIALOGEX LOADONCALL MOVEABLE DISCARDABLE 0, 0, 220, 76
|
||||
STYLE DS_SHELLFONT | DS_CENTER | WS_BORDER | WS_CAPTION | WS_POPUP | WS_SYSMENU | WS_VISIBLE
|
||||
CAPTION "Descargar..."
|
||||
FONT 8, "MS Shell Dlg"
|
||||
BEGIN
|
||||
CONTROL "Progress1",IDC_PROGRESS,"msctls_progress32",WS_BORDER|PBS_SMOOTH,10,10,200,12
|
||||
LTEXT "", IDC_STATUS, 10, 30, 200, 10, SS_CENTER
|
||||
PUSHBUTTON "Cancelar", IDCANCEL, 85, 58, 50, 15, WS_GROUP | WS_TABSTOP
|
||||
END
|
||||
|
||||
IDD_PROF DIALOGEX 6, 6, 267, 110
|
||||
STYLE DS_SHELLFONT | DS_CENTER | WS_BORDER | WS_CAPTION | WS_POPUP | WS_SYSMENU | WS_VISIBLE
|
||||
CAPTION "Preferencias"
|
||||
FONT 8, "MS Shell Dlg"
|
||||
BEGIN
|
||||
LTEXT "Carpeta de descarga:", -1, 6, 10, 140, 8
|
||||
EDITTEXT IDC_DOWNLOAD_FOLDER_EDIT, 6, 20, 205, 14, WS_VISIBLE | WS_TABSTOP
|
||||
PUSHBUTTON "&Seleccionar...", IDC_CHOOSE_BUTTON, 216, 20, 45, 14
|
||||
AUTOCHECKBOX "&Borrar archivos de instalación tras la instalación", IDC_DELINST_FILES_CHECKBOX, 8, 40, 210, 10, WS_GROUP
|
||||
LTEXT "Actualizar servidor:", -1, 6, 55, 140, 8
|
||||
EDITTEXT IDC_UPDATE_SERVER_EDIT, 6, 65, 255, 14, WS_VISIBLE | WS_TABSTOP
|
||||
DEFPUSHBUTTON "&Aceptar", IDOK, 147, 90, 54, 15
|
||||
PUSHBUTTON "&Cancelar", IDCANCEL, 207, 90, 54, 15
|
||||
END
|
||||
|
||||
STRINGTABLE DISCARDABLE
|
||||
BEGIN
|
||||
IDS_WINDOW_TITLE "¡Descargar! - Descargador de ReactOS"
|
||||
IDS_WELCOME_TITLE "Bienvenido al descargador de ReactOS"
|
||||
IDS_WELCOME "Por favor selecciona una categoría de la izquierda. Esta es la versión 1.1."
|
||||
IDS_NO_APP_TITLE "Ninguna aplicación seleccionada"
|
||||
IDS_NO_APP "Por favor seleccione una Aplicación antes de pulsar el botón de Descarga, si necesita asistencia por favor pulsa el botón con la interrogación en la esquina superior derecha."
|
||||
IDS_UPDATE_TITLE "Actualizar"
|
||||
IDS_UPDATE "Perdón esta característica no a sido implementada todavía."
|
||||
IDS_HELP_TITLE "Ayuda"
|
||||
IDS_HELP "Selecciona una categoría de la izquierda, entonces selecciona una aplicación y pulsa el botón de descargar. Para actualizar la información de la aplicación pulsa el botón junto al botón de ayuda."
|
||||
IDS_NO_APPS "Perdón, aun no hay ninguna aplicación en esta categoría. Puedes ayudar y añadir más aplicaciones."
|
||||
IDS_CHOOSE_APP "Por favor selecciona una aplicación."
|
||||
IDS_CHOOSE_SUB "Por favor selecciona una subcategoría."
|
||||
IDS_CHOOSE_CATEGORY "Por favor selecciona una categoría."
|
||||
IDS_CHOOSE_BOTH "Por favor selecciona una subcategoria o una aplicación."
|
||||
IDS_XMLERROR_1 "¡No se a encontrado el archivo xml!"
|
||||
IDS_XMLERROR_2 "¡No se ha podido analizar el archivo xml!"
|
||||
IDS_DOWNLOAD_ERROR "Imposible descargar el archivo.\nPor favor verifica tu conexión a internet."
|
||||
IDS_VERSION "Versión: "
|
||||
IDS_LICENCE "Licencia: "
|
||||
IDS_MAINTAINER "Mantenido por: "
|
||||
IDS_APPS_TITLE "Aplicaciones"
|
||||
IDS_CATS_TITLE "Categorias"
|
||||
IDS_CHOOSE_FOLDER "Por favor, seleccione la carpeta..."
|
||||
IDS_NOTCREATE_REGKEY "No se puede crear la llave del registro."
|
||||
IDS_DOWNLOAD_FOLDER "Downloader"
|
||||
IDS_UNABLECREATE_FOLDER "¡Imposible crear una carpeta con este nombre!"
|
||||
IDS_UPDATE_URL "http://svn.reactos.org"
|
||||
IDS_INSTALL_DEP "%s en necesario para ejecutar %s. ¿Desea instalar %s ahora?"
|
||||
TTT_HELPBUTTON "Obtenga ayuda acerca de Downloader"
|
||||
TTT_UPDATEBUTTON "No disponible todavía"
|
||||
TTT_PROFBUTTON "Le permite configurar Downloader"
|
||||
END
|
||||
/*
|
||||
*Spanish Language resource file
|
||||
* Actualizado Javier Remacha 2007-12-01,2007-12-31
|
||||
*/
|
||||
|
||||
LANGUAGE LANG_SPANISH, SUBLANG_NEUTRAL
|
||||
|
||||
IDD_DOWNLOAD DIALOGEX LOADONCALL MOVEABLE DISCARDABLE 0, 0, 220, 76
|
||||
STYLE DS_SHELLFONT | DS_CENTER | WS_BORDER | WS_CAPTION | WS_POPUP | WS_SYSMENU | WS_VISIBLE
|
||||
CAPTION "Descargar..."
|
||||
FONT 8, "MS Shell Dlg"
|
||||
BEGIN
|
||||
CONTROL "Progress1",IDC_PROGRESS,"msctls_progress32",WS_BORDER|PBS_SMOOTH,10,10,200,12
|
||||
LTEXT "", IDC_STATUS, 10, 30, 200, 10, SS_CENTER
|
||||
PUSHBUTTON "Cancelar", IDCANCEL, 85, 58, 50, 15, WS_GROUP | WS_TABSTOP
|
||||
END
|
||||
|
||||
IDD_PROF DIALOGEX 6, 6, 267, 110
|
||||
STYLE DS_SHELLFONT | DS_CENTER | WS_BORDER | WS_CAPTION | WS_POPUP | WS_SYSMENU | WS_VISIBLE
|
||||
CAPTION "Preferencias"
|
||||
FONT 8, "MS Shell Dlg"
|
||||
BEGIN
|
||||
LTEXT "Carpeta de descarga:", -1, 6, 10, 140, 8
|
||||
EDITTEXT IDC_DOWNLOAD_FOLDER_EDIT, 6, 20, 205, 14, WS_VISIBLE | WS_TABSTOP
|
||||
PUSHBUTTON "&Seleccionar...", IDC_CHOOSE_BUTTON, 216, 20, 45, 14
|
||||
AUTOCHECKBOX "&Borrar archivos de instalación tras la instalación", IDC_DELINST_FILES_CHECKBOX, 8, 40, 210, 10, WS_GROUP
|
||||
LTEXT "Actualizar servidor:", -1, 6, 55, 140, 8
|
||||
EDITTEXT IDC_UPDATE_SERVER_EDIT, 6, 65, 255, 14, WS_VISIBLE | WS_TABSTOP
|
||||
DEFPUSHBUTTON "&Aceptar", IDOK, 147, 90, 54, 15
|
||||
PUSHBUTTON "&Cancelar", IDCANCEL, 207, 90, 54, 15
|
||||
END
|
||||
|
||||
STRINGTABLE DISCARDABLE
|
||||
BEGIN
|
||||
IDS_WINDOW_TITLE "¡Descargar! - Descargador de ReactOS"
|
||||
IDS_WELCOME_TITLE "Bienvenido al descargador de ReactOS"
|
||||
IDS_WELCOME "Por favor selecciona una categoría de la izquierda. Esta es la versión 1.1."
|
||||
IDS_NO_APP_TITLE "Ninguna aplicación seleccionada"
|
||||
IDS_NO_APP "Por favor seleccione una Aplicación antes de pulsar el botón de Descarga, si necesita asistencia por favor pulsa el botón con la interrogación en la esquina superior derecha."
|
||||
IDS_UPDATE_TITLE "Actualizar"
|
||||
IDS_UPDATE "Perdón esta característica no a sido implementada todavía."
|
||||
IDS_HELP_TITLE "Ayuda"
|
||||
IDS_HELP "Selecciona una categoría de la izquierda, entonces selecciona una aplicación y pulsa el botón de descargar. Para actualizar la información de la aplicación pulsa el botón junto al botón de ayuda."
|
||||
IDS_NO_APPS "Perdón, aun no hay ninguna aplicación en esta categoría. Puedes ayudar y añadir más aplicaciones."
|
||||
IDS_CHOOSE_APP "Por favor selecciona una aplicación."
|
||||
IDS_CHOOSE_SUB "Por favor selecciona una subcategoría."
|
||||
IDS_CHOOSE_CATEGORY "Por favor selecciona una categoría."
|
||||
IDS_CHOOSE_BOTH "Por favor selecciona una subcategoria o una aplicación."
|
||||
IDS_XMLERROR_1 "¡No se a encontrado el archivo xml!"
|
||||
IDS_XMLERROR_2 "¡No se ha podido analizar el archivo xml!"
|
||||
IDS_DOWNLOAD_ERROR "Imposible descargar el archivo.\nPor favor verifica tu conexión a internet."
|
||||
IDS_VERSION "Versión: "
|
||||
IDS_LICENCE "Licencia: "
|
||||
IDS_MAINTAINER "Mantenido por: "
|
||||
IDS_APPS_TITLE "Aplicaciones"
|
||||
IDS_CATS_TITLE "Categorias"
|
||||
IDS_CHOOSE_FOLDER "Por favor, seleccione la carpeta..."
|
||||
IDS_NOTCREATE_REGKEY "No se puede crear la llave del registro."
|
||||
IDS_DOWNLOAD_FOLDER "Downloader"
|
||||
IDS_UNABLECREATE_FOLDER "¡Imposible crear una carpeta con este nombre!"
|
||||
IDS_UPDATE_URL "http://svn.reactos.org"
|
||||
IDS_INSTALL_DEP "%s en necesario para ejecutar %s. ¿Desea instalar %s ahora?"
|
||||
TTT_HELPBUTTON "Obtenga ayuda acerca de Downloader"
|
||||
TTT_UPDATEBUTTON "No disponible todavía"
|
||||
TTT_PROFBUTTON "Le permite configurar Downloader"
|
||||
END
|
||||
|
||||
@@ -1,61 +1,61 @@
|
||||
LANGUAGE LANG_FRENCH, SUBLANG_NEUTRAL
|
||||
|
||||
IDD_DOWNLOAD DIALOGEX LOADONCALL MOVEABLE DISCARDABLE 0, 0, 220, 76
|
||||
STYLE DS_SHELLFONT | DS_CENTER | WS_BORDER | WS_CAPTION | WS_POPUP | WS_SYSMENU | WS_VISIBLE
|
||||
CAPTION "Téléchargement..."
|
||||
FONT 8, "MS Shell Dlg"
|
||||
BEGIN
|
||||
CONTROL "Progress1",IDC_PROGRESS,"msctls_progress32",WS_BORDER|PBS_SMOOTH,10,10,200,12
|
||||
LTEXT "", IDC_STATUS, 10, 30, 200, 10, SS_CENTER
|
||||
PUSHBUTTON "Annuler", IDCANCEL, 85, 58, 50, 15, WS_GROUP | WS_TABSTOP
|
||||
END
|
||||
|
||||
IDD_PROF DIALOGEX 6, 6, 267, 110
|
||||
STYLE DS_SHELLFONT | DS_CENTER | WS_BORDER | WS_CAPTION | WS_POPUP | WS_SYSMENU | WS_VISIBLE
|
||||
CAPTION "Préférences"
|
||||
FONT 8, "MS Shell Dlg"
|
||||
BEGIN
|
||||
LTEXT "Répertoire de téléchargement :", -1, 6, 10, 140, 8
|
||||
EDITTEXT IDC_DOWNLOAD_FOLDER_EDIT, 6, 20, 205, 14, WS_VISIBLE | WS_TABSTOP
|
||||
PUSHBUTTON "C&hoisir...", IDC_CHOOSE_BUTTON, 216, 20, 45, 14
|
||||
AUTOCHECKBOX "Supprimer les fichiers après l'installation", IDC_DELINST_FILES_CHECKBOX, 8, 40, 210, 10, WS_GROUP
|
||||
LTEXT "Serveur de mise-à-jour :", -1, 6, 55, 140, 8
|
||||
EDITTEXT IDC_UPDATE_SERVER_EDIT, 6, 65, 255, 14, WS_VISIBLE | WS_TABSTOP
|
||||
DEFPUSHBUTTON "&OK", IDOK, 147, 90, 54, 15
|
||||
PUSHBUTTON "Annuler", IDCANCEL, 207, 90, 54, 15
|
||||
END
|
||||
|
||||
STRINGTABLE DISCARDABLE
|
||||
BEGIN
|
||||
IDS_WINDOW_TITLE "Télécharger ! - Téléchargeur de ReactOS"
|
||||
IDS_WELCOME_TITLE "Bienvenue dans le Téléchargeur de ReactOS"
|
||||
IDS_WELCOME "Veuillez choisir une catégorie sur la gauche. C'est la version 1.1."
|
||||
IDS_NO_APP_TITLE "Aucune application selectionnée"
|
||||
IDS_NO_APP "Veuillez sélectionner une application avant de cliquer sur le bouton Télécharger, si vous avez besoin d'aide, veuillez cliquer sur le point d'interrogation dans le coin supérieur droit."
|
||||
IDS_UPDATE_TITLE "Mise à jour"
|
||||
IDS_UPDATE "Désolé, cette fonctionnalité n'est pas encore implémentée."
|
||||
IDS_HELP_TITLE "Aide"
|
||||
IDS_HELP "Choisissez une catégorie sur la gauche, puis choisissez une application et cliquez sur le bouton Télécharger. Pour mettre à jour les informations sur l'application, cliquez sur le bouton à côté du bouton d'aide."
|
||||
IDS_NO_APPS "Désolé, il n'y a pas encore d'application dans cette catégorie. Vous pouvez contribuer et ajouter plus d'applications."
|
||||
IDS_CHOOSE_APP "Veuillez choisir une application."
|
||||
IDS_CHOOSE_SUB "Veuillez choisir une sous-catégorie."
|
||||
IDS_CHOOSE_CATEGORY "Veuillez choisir une catégorie."
|
||||
IDS_CHOOSE_BOTH "Veuillez choisir une sous-catégorie ou une application."
|
||||
IDS_XMLERROR_1 "Impossible de trouver le fichier xml !"
|
||||
IDS_XMLERROR_2 "Impossible d'analyser le fichier xml !"
|
||||
IDS_DOWNLOAD_ERROR "Impossible de télécharger le fichier.\nVeuillez vérifier votre connexion Internet."
|
||||
IDS_VERSION "Version: "
|
||||
IDS_LICENCE "Licence: "
|
||||
IDS_MAINTAINER "Maintainer: "
|
||||
IDS_APPS_TITLE "Applications"
|
||||
IDS_CATS_TITLE "Catégories"
|
||||
IDS_CHOOSE_FOLDER "Veuillez choisir le répertoire..."
|
||||
IDS_NOTCREATE_REGKEY "Échec lors de la création de la clé registre."
|
||||
IDS_DOWNLOAD_FOLDER "Downloader"
|
||||
IDS_UNABLECREATE_FOLDER "Échec lors du répertoire avec ce nom !"
|
||||
IDS_UPDATE_URL "http://svn.reactos.org"
|
||||
IDS_INSTALL_DEP "%s est nécessaire pour lancer %s. Voulez-vous installer %s maintenant ?"
|
||||
TTT_HELPBUTTON "Obtenez de l'aide à propros du téléchargeur"
|
||||
TTT_UPDATEBUTTON "Pas encore disponible"
|
||||
TTT_PROFBUTTON "Vous permet de configurer le téléchargeur"
|
||||
END
|
||||
LANGUAGE LANG_FRENCH, SUBLANG_NEUTRAL
|
||||
|
||||
IDD_DOWNLOAD DIALOGEX LOADONCALL MOVEABLE DISCARDABLE 0, 0, 220, 76
|
||||
STYLE DS_SHELLFONT | DS_CENTER | WS_BORDER | WS_CAPTION | WS_POPUP | WS_SYSMENU | WS_VISIBLE
|
||||
CAPTION "Téléchargement..."
|
||||
FONT 8, "MS Shell Dlg"
|
||||
BEGIN
|
||||
CONTROL "Progress1",IDC_PROGRESS,"msctls_progress32",WS_BORDER|PBS_SMOOTH,10,10,200,12
|
||||
LTEXT "", IDC_STATUS, 10, 30, 200, 10, SS_CENTER
|
||||
PUSHBUTTON "Annuler", IDCANCEL, 85, 58, 50, 15, WS_GROUP | WS_TABSTOP
|
||||
END
|
||||
|
||||
IDD_PROF DIALOGEX 6, 6, 267, 110
|
||||
STYLE DS_SHELLFONT | DS_CENTER | WS_BORDER | WS_CAPTION | WS_POPUP | WS_SYSMENU | WS_VISIBLE
|
||||
CAPTION "Préférences"
|
||||
FONT 8, "MS Shell Dlg"
|
||||
BEGIN
|
||||
LTEXT "Répertoire de téléchargement :", -1, 6, 10, 140, 8
|
||||
EDITTEXT IDC_DOWNLOAD_FOLDER_EDIT, 6, 20, 205, 14, WS_VISIBLE | WS_TABSTOP
|
||||
PUSHBUTTON "C&hoisir...", IDC_CHOOSE_BUTTON, 216, 20, 45, 14
|
||||
AUTOCHECKBOX "Supprimer les fichiers après l'installation", IDC_DELINST_FILES_CHECKBOX, 8, 40, 210, 10, WS_GROUP
|
||||
LTEXT "Serveur de mise-à-jour :", -1, 6, 55, 140, 8
|
||||
EDITTEXT IDC_UPDATE_SERVER_EDIT, 6, 65, 255, 14, WS_VISIBLE | WS_TABSTOP
|
||||
DEFPUSHBUTTON "&OK", IDOK, 147, 90, 54, 15
|
||||
PUSHBUTTON "Annuler", IDCANCEL, 207, 90, 54, 15
|
||||
END
|
||||
|
||||
STRINGTABLE DISCARDABLE
|
||||
BEGIN
|
||||
IDS_WINDOW_TITLE "Télécharger ! - Téléchargeur de ReactOS"
|
||||
IDS_WELCOME_TITLE "Bienvenue dans le Téléchargeur de ReactOS"
|
||||
IDS_WELCOME "Veuillez choisir une catégorie sur la gauche. C'est la version 1.1."
|
||||
IDS_NO_APP_TITLE "Aucune application selectionnée"
|
||||
IDS_NO_APP "Veuillez sélectionner une application avant de cliquer sur le bouton Télécharger, si vous avez besoin d'aide, veuillez cliquer sur le point d'interrogation dans le coin supérieur droit."
|
||||
IDS_UPDATE_TITLE "Mise à jour"
|
||||
IDS_UPDATE "Désolé, cette fonctionnalité n'est pas encore implémentée."
|
||||
IDS_HELP_TITLE "Aide"
|
||||
IDS_HELP "Choisissez une catégorie sur la gauche, puis choisissez une application et cliquez sur le bouton Télécharger. Pour mettre à jour les informations sur l'application, cliquez sur le bouton à côté du bouton d'aide."
|
||||
IDS_NO_APPS "Désolé, il n'y a pas encore d'application dans cette catégorie. Vous pouvez contribuer et ajouter plus d'applications."
|
||||
IDS_CHOOSE_APP "Veuillez choisir une application."
|
||||
IDS_CHOOSE_SUB "Veuillez choisir une sous-catégorie."
|
||||
IDS_CHOOSE_CATEGORY "Veuillez choisir une catégorie."
|
||||
IDS_CHOOSE_BOTH "Veuillez choisir une sous-catégorie ou une application."
|
||||
IDS_XMLERROR_1 "Impossible de trouver le fichier xml !"
|
||||
IDS_XMLERROR_2 "Impossible d'analyser le fichier xml !"
|
||||
IDS_DOWNLOAD_ERROR "Impossible de télécharger le fichier.\nVeuillez vérifier votre connexion Internet."
|
||||
IDS_VERSION "Version: "
|
||||
IDS_LICENCE "Licence: "
|
||||
IDS_MAINTAINER "Maintainer: "
|
||||
IDS_APPS_TITLE "Applications"
|
||||
IDS_CATS_TITLE "Catégories"
|
||||
IDS_CHOOSE_FOLDER "Veuillez choisir le répertoire..."
|
||||
IDS_NOTCREATE_REGKEY "Échec lors de la création de la clé registre."
|
||||
IDS_DOWNLOAD_FOLDER "Downloader"
|
||||
IDS_UNABLECREATE_FOLDER "Échec lors du répertoire avec ce nom !"
|
||||
IDS_UPDATE_URL "http://svn.reactos.org"
|
||||
IDS_INSTALL_DEP "%s est nécessaire pour lancer %s. Voulez-vous installer %s maintenant ?"
|
||||
TTT_HELPBUTTON "Obtenez de l'aide à propros du téléchargeur"
|
||||
TTT_UPDATEBUTTON "Pas encore disponible"
|
||||
TTT_PROFBUTTON "Vous permet de configurer le téléchargeur"
|
||||
END
|
||||
|
||||
@@ -1,61 +1,61 @@
|
||||
LANGUAGE LANG_INDONESIAN, SUBLANG_DEFAULT
|
||||
|
||||
IDD_DOWNLOAD DIALOGEX LOADONCALL MOVEABLE DISCARDABLE 0, 0, 220, 76
|
||||
STYLE DS_SHELLFONT | DS_CENTER | WS_BORDER | WS_CAPTION | WS_POPUP | WS_SYSMENU | WS_VISIBLE
|
||||
CAPTION "Download..."
|
||||
FONT 8, "MS Shell Dlg"
|
||||
BEGIN
|
||||
CONTROL "Progress1",IDC_PROGRESS,"msctls_progress32",WS_BORDER|PBS_SMOOTH,10,10,200,12
|
||||
LTEXT "", IDC_STATUS, 10, 30, 200, 10, SS_CENTER
|
||||
PUSHBUTTON "Batal", IDCANCEL, 85, 58, 50, 15, WS_GROUP | WS_TABSTOP
|
||||
END
|
||||
|
||||
IDD_PROF DIALOGEX 6, 6, 267, 110
|
||||
STYLE DS_SHELLFONT | DS_CENTER | WS_BORDER | WS_CAPTION | WS_POPUP | WS_SYSMENU | WS_VISIBLE
|
||||
CAPTION "Proferences"
|
||||
FONT 8, "MS Shell Dlg"
|
||||
BEGIN
|
||||
LTEXT "Download folder:", -1, 6, 10, 140, 8
|
||||
EDITTEXT IDC_DOWNLOAD_FOLDER_EDIT, 6, 20, 205, 14, WS_VISIBLE | WS_TABSTOP
|
||||
PUSHBUTTON "C&hoose...", IDC_CHOOSE_BUTTON, 216, 20, 45, 14
|
||||
AUTOCHECKBOX "&Delete installation files after setup", IDC_DELINST_FILES_CHECKBOX, 8, 40, 210, 10, WS_GROUP
|
||||
LTEXT "Update server:", -1, 6, 55, 140, 8
|
||||
EDITTEXT IDC_UPDATE_SERVER_EDIT, 6, 65, 255, 14, WS_VISIBLE | WS_TABSTOP
|
||||
DEFPUSHBUTTON "&OK", IDOK, 147, 90, 54, 15
|
||||
PUSHBUTTON "&Cancel", IDCANCEL, 207, 90, 54, 15
|
||||
END
|
||||
|
||||
STRINGTABLE DISCARDABLE
|
||||
BEGIN
|
||||
IDS_WINDOW_TITLE "Download ! - ReactOS Downloader"
|
||||
IDS_WELCOME_TITLE "Selamat datang di ReactOS Downloader"
|
||||
IDS_WELCOME "Silahkan pilih kategori di sebelah kiri. Ini versi 1.1."
|
||||
IDS_NO_APP_TITLE "Tidak ada aplikasi yang dipilih"
|
||||
IDS_NO_APP "Silahkan pilih Aplikasi sebelum anda mengklik tombol download, jika anda membutuhkan asistensi silahkan klik pada tombol di sudut kanan atas."
|
||||
IDS_UPDATE_TITLE "Mutakhirkan"
|
||||
IDS_UPDATE "Maaf fitur ini belum diimplementasikan."
|
||||
IDS_HELP_TITLE "Bantuan"
|
||||
IDS_HELP "Pilih kategori di sisi kiri, lalu pilih aplikasi dan klik tombol download. Untuk memutakhirkan informasi aplikasi klik tombol disebelah tombol bantuan."
|
||||
IDS_NO_APPS "Maaf, belum ada aplikasi dalam kategori ini. Anda dapat membantu dan menambahkan aplikasi lebih banyak."
|
||||
IDS_CHOOSE_APP "Silahkan pilih aplikasi."
|
||||
IDS_CHOOSE_SUB "Silahkan pilih subkategori."
|
||||
IDS_CHOOSE_CATEGORY "Silahkan pilih kategori."
|
||||
IDS_CHOOSE_BOTH "Silahkan pilih subkategori atau aplikasi."
|
||||
IDS_XMLERROR_1 "Tidak dapat menemukan file xml !"
|
||||
IDS_XMLERROR_2 "Tidak dapat mengurai file xml !"
|
||||
IDS_DOWNLOAD_ERROR "Tidak bisa mendownload file.\nSilahkan periksa koneksi internet anda."
|
||||
IDS_VERSION "Versi: "
|
||||
IDS_LICENCE "Lisensi: "
|
||||
IDS_MAINTAINER "Pemelihara: "
|
||||
IDS_APPS_TITLE "Applications"
|
||||
IDS_CATS_TITLE "Categories"
|
||||
IDS_CHOOSE_FOLDER "Please, choose the folder..."
|
||||
IDS_NOTCREATE_REGKEY "Could not create the registry key."
|
||||
IDS_DOWNLOAD_FOLDER "Downloader"
|
||||
IDS_UNABLECREATE_FOLDER "Unable to create a folder with this name!"
|
||||
IDS_UPDATE_URL "http://svn.reactos.org"
|
||||
IDS_INSTALL_DEP "%s is required to run %s. Should %s be installed now?"
|
||||
TTT_HELPBUTTON "Get help about the downloader"
|
||||
TTT_UPDATEBUTTON "Not yet available"
|
||||
TTT_PROFBUTTON "Let you configure the downloader"
|
||||
END
|
||||
LANGUAGE LANG_INDONESIAN, SUBLANG_DEFAULT
|
||||
|
||||
IDD_DOWNLOAD DIALOGEX LOADONCALL MOVEABLE DISCARDABLE 0, 0, 220, 76
|
||||
STYLE DS_SHELLFONT | DS_CENTER | WS_BORDER | WS_CAPTION | WS_POPUP | WS_SYSMENU | WS_VISIBLE
|
||||
CAPTION "Download..."
|
||||
FONT 8, "MS Shell Dlg"
|
||||
BEGIN
|
||||
CONTROL "Progress1",IDC_PROGRESS,"msctls_progress32",WS_BORDER|PBS_SMOOTH,10,10,200,12
|
||||
LTEXT "", IDC_STATUS, 10, 30, 200, 10, SS_CENTER
|
||||
PUSHBUTTON "Batal", IDCANCEL, 85, 58, 50, 15, WS_GROUP | WS_TABSTOP
|
||||
END
|
||||
|
||||
IDD_PROF DIALOGEX 6, 6, 267, 110
|
||||
STYLE DS_SHELLFONT | DS_CENTER | WS_BORDER | WS_CAPTION | WS_POPUP | WS_SYSMENU | WS_VISIBLE
|
||||
CAPTION "Proferences"
|
||||
FONT 8, "MS Shell Dlg"
|
||||
BEGIN
|
||||
LTEXT "Download folder:", -1, 6, 10, 140, 8
|
||||
EDITTEXT IDC_DOWNLOAD_FOLDER_EDIT, 6, 20, 205, 14, WS_VISIBLE | WS_TABSTOP
|
||||
PUSHBUTTON "C&hoose...", IDC_CHOOSE_BUTTON, 216, 20, 45, 14
|
||||
AUTOCHECKBOX "&Delete installation files after setup", IDC_DELINST_FILES_CHECKBOX, 8, 40, 210, 10, WS_GROUP
|
||||
LTEXT "Update server:", -1, 6, 55, 140, 8
|
||||
EDITTEXT IDC_UPDATE_SERVER_EDIT, 6, 65, 255, 14, WS_VISIBLE | WS_TABSTOP
|
||||
DEFPUSHBUTTON "&OK", IDOK, 147, 90, 54, 15
|
||||
PUSHBUTTON "&Cancel", IDCANCEL, 207, 90, 54, 15
|
||||
END
|
||||
|
||||
STRINGTABLE DISCARDABLE
|
||||
BEGIN
|
||||
IDS_WINDOW_TITLE "Download ! - ReactOS Downloader"
|
||||
IDS_WELCOME_TITLE "Selamat datang di ReactOS Downloader"
|
||||
IDS_WELCOME "Silahkan pilih kategori di sebelah kiri. Ini versi 1.1."
|
||||
IDS_NO_APP_TITLE "Tidak ada aplikasi yang dipilih"
|
||||
IDS_NO_APP "Silahkan pilih Aplikasi sebelum anda mengklik tombol download, jika anda membutuhkan asistensi silahkan klik pada tombol di sudut kanan atas."
|
||||
IDS_UPDATE_TITLE "Mutakhirkan"
|
||||
IDS_UPDATE "Maaf fitur ini belum diimplementasikan."
|
||||
IDS_HELP_TITLE "Bantuan"
|
||||
IDS_HELP "Pilih kategori di sisi kiri, lalu pilih aplikasi dan klik tombol download. Untuk memutakhirkan informasi aplikasi klik tombol disebelah tombol bantuan."
|
||||
IDS_NO_APPS "Maaf, belum ada aplikasi dalam kategori ini. Anda dapat membantu dan menambahkan aplikasi lebih banyak."
|
||||
IDS_CHOOSE_APP "Silahkan pilih aplikasi."
|
||||
IDS_CHOOSE_SUB "Silahkan pilih subkategori."
|
||||
IDS_CHOOSE_CATEGORY "Silahkan pilih kategori."
|
||||
IDS_CHOOSE_BOTH "Silahkan pilih subkategori atau aplikasi."
|
||||
IDS_XMLERROR_1 "Tidak dapat menemukan file xml !"
|
||||
IDS_XMLERROR_2 "Tidak dapat mengurai file xml !"
|
||||
IDS_DOWNLOAD_ERROR "Tidak bisa mendownload file.\nSilahkan periksa koneksi internet anda."
|
||||
IDS_VERSION "Versi: "
|
||||
IDS_LICENCE "Lisensi: "
|
||||
IDS_MAINTAINER "Pemelihara: "
|
||||
IDS_APPS_TITLE "Applications"
|
||||
IDS_CATS_TITLE "Categories"
|
||||
IDS_CHOOSE_FOLDER "Please, choose the folder..."
|
||||
IDS_NOTCREATE_REGKEY "Could not create the registry key."
|
||||
IDS_DOWNLOAD_FOLDER "Downloader"
|
||||
IDS_UNABLECREATE_FOLDER "Unable to create a folder with this name!"
|
||||
IDS_UPDATE_URL "http://svn.reactos.org"
|
||||
IDS_INSTALL_DEP "%s is required to run %s. Should %s be installed now?"
|
||||
TTT_HELPBUTTON "Get help about the downloader"
|
||||
TTT_UPDATEBUTTON "Not yet available"
|
||||
TTT_PROFBUTTON "Let you configure the downloader"
|
||||
END
|
||||
|
||||
@@ -1,61 +1,61 @@
|
||||
LANGUAGE LANG_ITALIAN, SUBLANG_NEUTRAL
|
||||
|
||||
IDD_DOWNLOAD DIALOGEX LOADONCALL MOVEABLE DISCARDABLE 0, 0, 220, 76
|
||||
STYLE DS_SHELLFONT | DS_CENTER | WS_BORDER | WS_CAPTION | WS_POPUP | WS_SYSMENU | WS_VISIBLE
|
||||
CAPTION "Scarica..."
|
||||
FONT 8, "MS Shell Dlg"
|
||||
BEGIN
|
||||
CONTROL "Progress1",IDC_PROGRESS,"msctls_progress32",WS_BORDER|PBS_SMOOTH,10,10,200,12
|
||||
LTEXT "", IDC_STATUS, 10, 30, 200, 10, SS_CENTER
|
||||
PUSHBUTTON "Annulla", IDCANCEL, 85, 58, 50, 15, WS_GROUP | WS_TABSTOP
|
||||
END
|
||||
|
||||
IDD_PROF DIALOGEX 6, 6, 267, 110
|
||||
STYLE DS_SHELLFONT | DS_CENTER | WS_BORDER | WS_CAPTION | WS_POPUP | WS_SYSMENU | WS_VISIBLE
|
||||
CAPTION "Preferenze"
|
||||
FONT 8, "MS Shell Dlg"
|
||||
BEGIN
|
||||
LTEXT "Cartella dove scaricare:", -1, 6, 10, 140, 8
|
||||
EDITTEXT IDC_DOWNLOAD_FOLDER_EDIT, 6, 20, 205, 14, WS_VISIBLE | WS_TABSTOP
|
||||
PUSHBUTTON "&Scegliere...", IDC_CHOOSE_BUTTON, 216, 20, 45, 14
|
||||
AUTOCHECKBOX "&Cancellare i file di installazione dopo il setup", IDC_DELINST_FILES_CHECKBOX, 8, 40, 210, 10, WS_GROUP
|
||||
LTEXT "Server per gli aggiornamenti:", -1, 6, 55, 140, 8
|
||||
EDITTEXT IDC_UPDATE_SERVER_EDIT, 6, 65, 255, 14, WS_VISIBLE | WS_TABSTOP
|
||||
DEFPUSHBUTTON "&OK", IDOK, 147, 90, 54, 15
|
||||
PUSHBUTTON "&Annulla", IDCANCEL, 207, 90, 54, 15
|
||||
END
|
||||
|
||||
STRINGTABLE DISCARDABLE
|
||||
BEGIN
|
||||
IDS_WINDOW_TITLE "Scarica ! - ReactOS Downloader"
|
||||
IDS_WELCOME_TITLE "Benvenuto al ReactOS Downloader"
|
||||
IDS_WELCOME "Scegli una categoria a sinistra. Questa è la versione 1.1."
|
||||
IDS_NO_APP_TITLE "Nessuna applicazione selezionata"
|
||||
IDS_NO_APP "Scegli una Applicazione prima di premere il bottone Scarica, se serve assistenza clicca sul punto di domanda nell'angolo in alto a destra."
|
||||
IDS_UPDATE_TITLE "Aggiorna"
|
||||
IDS_UPDATE "Funzione non ancora implementata."
|
||||
IDS_HELP_TITLE "Aiuto"
|
||||
IDS_HELP "Scegli una categoria a sinistra, poi scegli una applicazione e clicca il bottone download. Per aggiornare le informazioni sulla applicazione clicca il bottone accanto a quello di aiuto."
|
||||
IDS_NO_APPS "Non ci sono ancora applicazioni in questa categoria. Puoi aiutare aggiungendone altre."
|
||||
IDS_CHOOSE_APP "Scegli una applicazione."
|
||||
IDS_CHOOSE_SUB "Scegli una sottocategoria."
|
||||
IDS_CHOOSE_CATEGORY "Scegli una categoria."
|
||||
IDS_CHOOSE_BOTH "Scegli una sottocategoria o una applicazione."
|
||||
IDS_XMLERROR_1 "File xml non trovato !"
|
||||
IDS_XMLERROR_2 "Impossibile trattare il contenuto del file xml !"
|
||||
IDS_DOWNLOAD_ERROR "Scaricamento del file impossibile.\nVerificare la connessione a Internet."
|
||||
IDS_VERSION "Versione: "
|
||||
IDS_LICENCE "Licenza: "
|
||||
IDS_MAINTAINER "Manutentore: "
|
||||
IDS_APPS_TITLE "Applicazioni"
|
||||
IDS_CATS_TITLE "Categorie"
|
||||
IDS_CHOOSE_FOLDER "Scegliere una cartella..."
|
||||
IDS_NOTCREATE_REGKEY "Impossibile creare la chiave del registry."
|
||||
IDS_DOWNLOAD_FOLDER "Scarica"
|
||||
IDS_UNABLECREATE_FOLDER "Impossibile creare una cartella con questo nome!"
|
||||
IDS_UPDATE_URL "http://svn.reactos.org"
|
||||
IDS_INSTALL_DEP "%s è necessario per la esecuzione di %s. Si vuole procedere alla installazione di %s?"
|
||||
TTT_HELPBUTTON "Informazioni su ReactOS Downloader"
|
||||
TTT_UPDATEBUTTON "Non disponibile"
|
||||
TTT_PROFBUTTON "Permette la configurazione del downloader"
|
||||
END
|
||||
LANGUAGE LANG_ITALIAN, SUBLANG_NEUTRAL
|
||||
|
||||
IDD_DOWNLOAD DIALOGEX LOADONCALL MOVEABLE DISCARDABLE 0, 0, 220, 76
|
||||
STYLE DS_SHELLFONT | DS_CENTER | WS_BORDER | WS_CAPTION | WS_POPUP | WS_SYSMENU | WS_VISIBLE
|
||||
CAPTION "Scarica..."
|
||||
FONT 8, "MS Shell Dlg"
|
||||
BEGIN
|
||||
CONTROL "Progress1",IDC_PROGRESS,"msctls_progress32",WS_BORDER|PBS_SMOOTH,10,10,200,12
|
||||
LTEXT "", IDC_STATUS, 10, 30, 200, 10, SS_CENTER
|
||||
PUSHBUTTON "Annulla", IDCANCEL, 85, 58, 50, 15, WS_GROUP | WS_TABSTOP
|
||||
END
|
||||
|
||||
IDD_PROF DIALOGEX 6, 6, 267, 110
|
||||
STYLE DS_SHELLFONT | DS_CENTER | WS_BORDER | WS_CAPTION | WS_POPUP | WS_SYSMENU | WS_VISIBLE
|
||||
CAPTION "Preferenze"
|
||||
FONT 8, "MS Shell Dlg"
|
||||
BEGIN
|
||||
LTEXT "Cartella dove scaricare:", -1, 6, 10, 140, 8
|
||||
EDITTEXT IDC_DOWNLOAD_FOLDER_EDIT, 6, 20, 205, 14, WS_VISIBLE | WS_TABSTOP
|
||||
PUSHBUTTON "&Scegliere...", IDC_CHOOSE_BUTTON, 216, 20, 45, 14
|
||||
AUTOCHECKBOX "&Cancellare i file di installazione dopo il setup", IDC_DELINST_FILES_CHECKBOX, 8, 40, 210, 10, WS_GROUP
|
||||
LTEXT "Server per gli aggiornamenti:", -1, 6, 55, 140, 8
|
||||
EDITTEXT IDC_UPDATE_SERVER_EDIT, 6, 65, 255, 14, WS_VISIBLE | WS_TABSTOP
|
||||
DEFPUSHBUTTON "&OK", IDOK, 147, 90, 54, 15
|
||||
PUSHBUTTON "&Annulla", IDCANCEL, 207, 90, 54, 15
|
||||
END
|
||||
|
||||
STRINGTABLE DISCARDABLE
|
||||
BEGIN
|
||||
IDS_WINDOW_TITLE "Scarica ! - ReactOS Downloader"
|
||||
IDS_WELCOME_TITLE "Benvenuto al ReactOS Downloader"
|
||||
IDS_WELCOME "Scegli una categoria a sinistra. Questa è la versione 1.1."
|
||||
IDS_NO_APP_TITLE "Nessuna applicazione selezionata"
|
||||
IDS_NO_APP "Scegli una Applicazione prima di premere il bottone Scarica, se serve assistenza clicca sul punto di domanda nell'angolo in alto a destra."
|
||||
IDS_UPDATE_TITLE "Aggiorna"
|
||||
IDS_UPDATE "Funzione non ancora implementata."
|
||||
IDS_HELP_TITLE "Aiuto"
|
||||
IDS_HELP "Scegli una categoria a sinistra, poi scegli una applicazione e clicca il bottone download. Per aggiornare le informazioni sulla applicazione clicca il bottone accanto a quello di aiuto."
|
||||
IDS_NO_APPS "Non ci sono ancora applicazioni in questa categoria. Puoi aiutare aggiungendone altre."
|
||||
IDS_CHOOSE_APP "Scegli una applicazione."
|
||||
IDS_CHOOSE_SUB "Scegli una sottocategoria."
|
||||
IDS_CHOOSE_CATEGORY "Scegli una categoria."
|
||||
IDS_CHOOSE_BOTH "Scegli una sottocategoria o una applicazione."
|
||||
IDS_XMLERROR_1 "File xml non trovato !"
|
||||
IDS_XMLERROR_2 "Impossibile trattare il contenuto del file xml !"
|
||||
IDS_DOWNLOAD_ERROR "Scaricamento del file impossibile.\nVerificare la connessione a Internet."
|
||||
IDS_VERSION "Versione: "
|
||||
IDS_LICENCE "Licenza: "
|
||||
IDS_MAINTAINER "Manutentore: "
|
||||
IDS_APPS_TITLE "Applicazioni"
|
||||
IDS_CATS_TITLE "Categorie"
|
||||
IDS_CHOOSE_FOLDER "Scegliere una cartella..."
|
||||
IDS_NOTCREATE_REGKEY "Impossibile creare la chiave del registry."
|
||||
IDS_DOWNLOAD_FOLDER "Scarica"
|
||||
IDS_UNABLECREATE_FOLDER "Impossibile creare una cartella con questo nome!"
|
||||
IDS_UPDATE_URL "http://svn.reactos.org"
|
||||
IDS_INSTALL_DEP "%s è necessario per la esecuzione di %s. Si vuole procedere alla installazione di %s?"
|
||||
TTT_HELPBUTTON "Informazioni su ReactOS Downloader"
|
||||
TTT_UPDATEBUTTON "Non disponibile"
|
||||
TTT_PROFBUTTON "Permette la configurazione del downloader"
|
||||
END
|
||||
|
||||
@@ -1,63 +1,63 @@
|
||||
//Russian language file. (Dmitry Chapyshev, 2007.06.21)
|
||||
|
||||
LANGUAGE LANG_RUSSIAN, SUBLANG_DEFAULT
|
||||
|
||||
IDD_DOWNLOAD DIALOGEX LOADONCALL MOVEABLE DISCARDABLE 0, 0, 220, 76
|
||||
STYLE DS_SHELLFONT | DS_CENTER | WS_BORDER | WS_CAPTION | WS_POPUP | WS_SYSMENU | WS_VISIBLE
|
||||
CAPTION "Загрузка..."
|
||||
FONT 8, "MS Shell Dlg"
|
||||
BEGIN
|
||||
CONTROL "Progress1",IDC_PROGRESS,"msctls_progress32",WS_BORDER|PBS_SMOOTH,10,10,200,12
|
||||
LTEXT "", IDC_STATUS, 10, 30, 200, 17, SS_CENTER
|
||||
PUSHBUTTON "Отмена", IDCANCEL, 85, 58, 50, 15, WS_GROUP | WS_TABSTOP
|
||||
END
|
||||
|
||||
IDD_PROF DIALOGEX 6, 6, 267, 110
|
||||
STYLE DS_SHELLFONT | DS_CENTER | WS_BORDER | WS_CAPTION | WS_POPUP | WS_SYSMENU | WS_VISIBLE
|
||||
CAPTION "Настройки"
|
||||
FONT 8, "MS Shell Dlg"
|
||||
BEGIN
|
||||
LTEXT "Папка для закачки:", -1, 6, 10, 140, 8
|
||||
EDITTEXT IDC_DOWNLOAD_FOLDER_EDIT, 6, 20, 205, 14, WS_VISIBLE | WS_TABSTOP
|
||||
PUSHBUTTON "&Выбрать...", IDC_CHOOSE_BUTTON, 216, 20, 45, 14
|
||||
AUTOCHECKBOX "&Удалять установочные файлы после установки", IDC_DELINST_FILES_CHECKBOX, 8, 40, 210, 10, WS_GROUP
|
||||
LTEXT "Сервер обновлений:", -1, 6, 55, 140, 8
|
||||
EDITTEXT IDC_UPDATE_SERVER_EDIT, 6, 65, 255, 14, WS_VISIBLE | WS_TABSTOP
|
||||
DEFPUSHBUTTON "&OK", IDOK, 147, 90, 54, 15
|
||||
PUSHBUTTON "О&тмена", IDCANCEL, 207, 90, 54, 15
|
||||
END
|
||||
|
||||
STRINGTABLE DISCARDABLE
|
||||
BEGIN
|
||||
IDS_WINDOW_TITLE "Скачать! - Менеджер закачек ReactOS"
|
||||
IDS_WELCOME_TITLE "Добро пожаловать в Менеджер закачек ReactOS"
|
||||
IDS_WELCOME "Пожалуйста выберите категорию справа. Версия 1.1"
|
||||
IDS_NO_APP_TITLE "Приложение не выбрано"
|
||||
IDS_NO_APP "Пожалуйста, выберите приложение прежде, чем нажать кнопку загрузки. Если вам нужна справка, то нажмите кнопку со знаком вопроса в верхнем правом углу."
|
||||
IDS_UPDATE_TITLE "Обновить"
|
||||
IDS_UPDATE "Извините, данная возможность на данным момент недоступна."
|
||||
IDS_HELP_TITLE "Справка"
|
||||
IDS_HELP "Выберите категорию слева, затем выберите приложение и нажмите кнопку загрузки. Для получения информации об обновлениях нажмите кнопку рядом с кнопкой справки."
|
||||
IDS_NO_APPS "Извените, на данный момент в этой категории приложений нет, но вы можете помочь добавить их."
|
||||
IDS_CHOOSE_APP "Пожалуйста выберите приложение."
|
||||
IDS_CHOOSE_SUB "Пожалуйста выберите подкатегорию."
|
||||
IDS_CHOOSE_CATEGORY "Пожалуйста выберите категорию."
|
||||
IDS_CHOOSE_BOTH "Пожалуйста выберите подкатегорию или приложение."
|
||||
IDS_XMLERROR_1 "Не удалось найти xml-файл!"
|
||||
IDS_XMLERROR_2 "Не удалось обработать xml-файл!"
|
||||
IDS_DOWNLOAD_ERROR "Не удается загрузить файл.\nПожалуйста проверьте ваше подключение к интернет."
|
||||
IDS_VERSION "Версия: "
|
||||
IDS_LICENCE "Лицензия: "
|
||||
IDS_MAINTAINER "Производитель: "
|
||||
IDS_APPS_TITLE "Приложения"
|
||||
IDS_CATS_TITLE "Категории"
|
||||
IDS_CHOOSE_FOLDER "Пожалуйства выберите папку..."
|
||||
IDS_NOTCREATE_REGKEY "Не удалось создать ключ в реестре."
|
||||
IDS_DOWNLOAD_FOLDER "Downloader"
|
||||
IDS_UNABLECREATE_FOLDER "Не удалось создать папку с таким именем!"
|
||||
IDS_UPDATE_URL "http://svn.reactos.org"
|
||||
IDS_INSTALL_DEP "%s требуется для запуска %s. Установить %s?"
|
||||
TTT_HELPBUTTON "Показать справку программы"
|
||||
TTT_UPDATEBUTTON "Сейчас недоступно"
|
||||
TTT_PROFBUTTON "Выполнить настройку программы"
|
||||
END
|
||||
//Russian language file. (Dmitry Chapyshev, 2007.06.21)
|
||||
|
||||
LANGUAGE LANG_RUSSIAN, SUBLANG_DEFAULT
|
||||
|
||||
IDD_DOWNLOAD DIALOGEX LOADONCALL MOVEABLE DISCARDABLE 0, 0, 220, 76
|
||||
STYLE DS_SHELLFONT | DS_CENTER | WS_BORDER | WS_CAPTION | WS_POPUP | WS_SYSMENU | WS_VISIBLE
|
||||
CAPTION "Загрузка..."
|
||||
FONT 8, "MS Shell Dlg"
|
||||
BEGIN
|
||||
CONTROL "Progress1",IDC_PROGRESS,"msctls_progress32",WS_BORDER|PBS_SMOOTH,10,10,200,12
|
||||
LTEXT "", IDC_STATUS, 10, 30, 200, 17, SS_CENTER
|
||||
PUSHBUTTON "Отмена", IDCANCEL, 85, 58, 50, 15, WS_GROUP | WS_TABSTOP
|
||||
END
|
||||
|
||||
IDD_PROF DIALOGEX 6, 6, 267, 110
|
||||
STYLE DS_SHELLFONT | DS_CENTER | WS_BORDER | WS_CAPTION | WS_POPUP | WS_SYSMENU | WS_VISIBLE
|
||||
CAPTION "Настройки"
|
||||
FONT 8, "MS Shell Dlg"
|
||||
BEGIN
|
||||
LTEXT "Папка для закачки:", -1, 6, 10, 140, 8
|
||||
EDITTEXT IDC_DOWNLOAD_FOLDER_EDIT, 6, 20, 205, 14, WS_VISIBLE | WS_TABSTOP
|
||||
PUSHBUTTON "&Выбрать...", IDC_CHOOSE_BUTTON, 216, 20, 45, 14
|
||||
AUTOCHECKBOX "&Удалять установочные файлы после установки", IDC_DELINST_FILES_CHECKBOX, 8, 40, 210, 10, WS_GROUP
|
||||
LTEXT "Сервер обновлений:", -1, 6, 55, 140, 8
|
||||
EDITTEXT IDC_UPDATE_SERVER_EDIT, 6, 65, 255, 14, WS_VISIBLE | WS_TABSTOP
|
||||
DEFPUSHBUTTON "&OK", IDOK, 147, 90, 54, 15
|
||||
PUSHBUTTON "О&тмена", IDCANCEL, 207, 90, 54, 15
|
||||
END
|
||||
|
||||
STRINGTABLE DISCARDABLE
|
||||
BEGIN
|
||||
IDS_WINDOW_TITLE "Скачать! - Менеджер закачек ReactOS"
|
||||
IDS_WELCOME_TITLE "Добро пожаловать в Менеджер закачек ReactOS"
|
||||
IDS_WELCOME "Пожалуйста выберите категорию справа. Версия 1.1"
|
||||
IDS_NO_APP_TITLE "Приложение не выбрано"
|
||||
IDS_NO_APP "Пожалуйста, выберите приложение прежде, чем нажать кнопку загрузки. Если вам нужна справка, то нажмите кнопку со знаком вопроса в верхнем правом углу."
|
||||
IDS_UPDATE_TITLE "Обновить"
|
||||
IDS_UPDATE "Извините, данная возможность на данным момент недоступна."
|
||||
IDS_HELP_TITLE "Справка"
|
||||
IDS_HELP "Выберите категорию слева, затем выберите приложение и нажмите кнопку загрузки. Для получения информации об обновлениях нажмите кнопку рядом с кнопкой справки."
|
||||
IDS_NO_APPS "Извените, на данный момент в этой категории приложений нет, но вы можете помочь добавить их."
|
||||
IDS_CHOOSE_APP "Пожалуйста выберите приложение."
|
||||
IDS_CHOOSE_SUB "Пожалуйста выберите подкатегорию."
|
||||
IDS_CHOOSE_CATEGORY "Пожалуйста выберите категорию."
|
||||
IDS_CHOOSE_BOTH "Пожалуйста выберите подкатегорию или приложение."
|
||||
IDS_XMLERROR_1 "Не удалось найти xml-файл!"
|
||||
IDS_XMLERROR_2 "Не удалось обработать xml-файл!"
|
||||
IDS_DOWNLOAD_ERROR "Не удается загрузить файл.\nПожалуйста проверьте ваше подключение к интернет."
|
||||
IDS_VERSION "Версия: "
|
||||
IDS_LICENCE "Лицензия: "
|
||||
IDS_MAINTAINER "Производитель: "
|
||||
IDS_APPS_TITLE "Приложения"
|
||||
IDS_CATS_TITLE "Категории"
|
||||
IDS_CHOOSE_FOLDER "Пожалуйства выберите папку..."
|
||||
IDS_NOTCREATE_REGKEY "Не удалось создать ключ в реестре."
|
||||
IDS_DOWNLOAD_FOLDER "Downloader"
|
||||
IDS_UNABLECREATE_FOLDER "Не удалось создать папку с таким именем!"
|
||||
IDS_UPDATE_URL "http://svn.reactos.org"
|
||||
IDS_INSTALL_DEP "%s требуется для запуска %s. Установить %s?"
|
||||
TTT_HELPBUTTON "Показать справку программы"
|
||||
TTT_UPDATEBUTTON "Сейчас недоступно"
|
||||
TTT_PROFBUTTON "Выполнить настройку программы"
|
||||
END
|
||||
|
||||
@@ -1,69 +1,69 @@
|
||||
/*
|
||||
* PROJECT: ReactOS Downloader
|
||||
* LICENSE: GPL - See COPYING in the top level directory
|
||||
* FILE: rosapps/downloader/lang/uk-UA.rc
|
||||
* PURPOSE: Ukraianian Language File for Downloader
|
||||
* TRANSLATOR: Artem Reznikov
|
||||
*/
|
||||
|
||||
LANGUAGE LANG_UKRAINIAN, SUBLANG_DEFAULT
|
||||
|
||||
IDD_DOWNLOAD DIALOGEX LOADONCALL MOVEABLE DISCARDABLE 0, 0, 220, 76
|
||||
STYLE DS_SHELLFONT | DS_CENTER | WS_BORDER | WS_CAPTION | WS_POPUP | WS_SYSMENU | WS_VISIBLE
|
||||
CAPTION "Çàâàíòàæåííÿ..."
|
||||
FONT 8, "MS Shell Dlg"
|
||||
BEGIN
|
||||
CONTROL "Progress1",IDC_PROGRESS,"msctls_progress32",WS_BORDER|PBS_SMOOTH,10,10,200,12
|
||||
LTEXT "", IDC_STATUS, 10, 30, 200, 10, SS_CENTER
|
||||
PUSHBUTTON "Ñêàñóâàòè", IDCANCEL, 85, 58, 50, 15, WS_GROUP | WS_TABSTOP
|
||||
END
|
||||
|
||||
IDD_PROF DIALOGEX 6, 6, 267, 110
|
||||
STYLE DS_SHELLFONT | DS_CENTER | WS_BORDER | WS_CAPTION | WS_POPUP | WS_SYSMENU | WS_VISIBLE
|
||||
CAPTION "Íàñòðîéêè"
|
||||
FONT 8, "MS Shell Dlg"
|
||||
BEGIN
|
||||
LTEXT "Ïàïêà äëÿ çàâàíòàæåííÿ:", -1, 6, 10, 140, 8
|
||||
EDITTEXT IDC_DOWNLOAD_FOLDER_EDIT, 6, 20, 205, 14, WS_VISIBLE | WS_TABSTOP
|
||||
PUSHBUTTON "&Âèáðàòè...", IDC_CHOOSE_BUTTON, 216, 20, 45, 14
|
||||
AUTOCHECKBOX "&Âèäàëÿòè íàñòàíîâí³ ôàéëè ï³ñëÿ óñòàíîâêè", IDC_DELINST_FILES_CHECKBOX, 8, 40, 210, 10, WS_GROUP
|
||||
LTEXT "Ñåðâåð îíîâëåíü:", -1, 6, 55, 140, 8
|
||||
EDITTEXT IDC_UPDATE_SERVER_EDIT, 6, 65, 255, 14, WS_VISIBLE | WS_TABSTOP
|
||||
DEFPUSHBUTTON "&OK", IDOK, 147, 90, 54, 15
|
||||
PUSHBUTTON "&Ñêàñóâàòè", IDCANCEL, 207, 90, 54, 15
|
||||
END
|
||||
|
||||
STRINGTABLE DISCARDABLE
|
||||
BEGIN
|
||||
IDS_WINDOW_TITLE "Çàâàíòàæèòè ! - Çàâàíòàæóâà÷ ReactOS"
|
||||
IDS_WELCOME_TITLE "Ëàñêàâî ïðîñèìî ó Çàâàíòàæóâà÷ ReactOS"
|
||||
IDS_WELCOME "Áóäü ëàñêà âèáåð³òü êàòåãîð³þ çë³âà. Öå âåðñ³ÿ 1.1."
|
||||
IDS_NO_APP_TITLE "Äîäàòîê íå âèáðàíèé"
|
||||
IDS_NO_APP "Áóäü ëàñêà, âèáåð³òü äîäàòîê ïåðø í³æ íàòèñíóòè êíîïêó çàâàíòàæåííÿ. ßêùî Âàì ïîòð³áíà äîïîìîãà, íàòèñí³òü êíîïêó ç³ çíàêîì ïèòàííÿ ó âåðõíüîìó ïðàâîìó êóòêó."
|
||||
IDS_UPDATE_TITLE "Îíîâèòè"
|
||||
IDS_UPDATE "Âèáà÷òå, äàíà ìîæëèâ³ñòü ùå íåäîñòóïíà."
|
||||
IDS_HELP_TITLE "Äîâ³äêà"
|
||||
IDS_HELP "Âèáåð³òü êàòåãîð³þ çë³âà, ïîò³ì âèáåð³òü äîäàòîê ³ íàòèñí³òü êíîïêó çàâàíòàæåííÿ. Äëÿ îòðèìàííÿ ³íôîðìàö³¿ ïðî îíîâëåííÿ íàòèñí³òü êíîïêó ïîðÿä ç êíîïêîþ äîâ³äêè."
|
||||
IDS_NO_APPS "Âèáà÷òå, â ö³é êàòåãî𳿠ùå íåìຠäîäàòê³â. Âè ìîæåòå äîïîìîãòè ³ äîäàòè á³ëüøå äîäàòê³â."
|
||||
IDS_CHOOSE_APP "Áóäü ëàñêà âèáåð³òü äîäàòîê."
|
||||
IDS_CHOOSE_SUB "Áóäü ëàñêà âèáåð³òü ï³äêàòåãîð³þ."
|
||||
IDS_CHOOSE_CATEGORY "Áóäü ëàñêà âèáåð³òü êàòåãîð³þ."
|
||||
IDS_CHOOSE_BOTH "Áóäü ëàñêà âèáåð³òü ï³äêàòåãîð³þ àáî äîäàòîê."
|
||||
IDS_XMLERROR_1 "Íå âäàëîñÿ çíàéòè ôàéë XML !"
|
||||
IDS_XMLERROR_2 "Íå âäàëîñÿ îáðîáèòè ôàéë XML !"
|
||||
IDS_DOWNLOAD_ERROR "Íåìîæëèâî çàâàíòàæèòè ôàéë.\nÁóäü ëàñêà ïåðåâ³ðòå âàøå ³íòåðíåò-ç'ºäíàííÿ."
|
||||
IDS_VERSION "Âåðñ³ÿ: "
|
||||
IDS_LICENCE "˳öåíç³ÿ: "
|
||||
IDS_MAINTAINER "Âèðîáíèê: "
|
||||
IDS_APPS_TITLE "Äîäàòêè"
|
||||
IDS_CATS_TITLE "Êàòåãîð³¿"
|
||||
IDS_CHOOSE_FOLDER "Áóäü ëàñêà âèáåð³òü ïàïêó..."
|
||||
IDS_NOTCREATE_REGKEY "Íå âäàëîñÿ ñòâîðèòè êëþ÷ ó ðåºñòð³."
|
||||
IDS_DOWNLOAD_FOLDER "Downloader"
|
||||
IDS_UNABLECREATE_FOLDER "Íå âäàëîñÿ ñòâîðèòè ïàïêó ç òàêèì ³ì'ÿì!"
|
||||
IDS_UPDATE_URL "http://svn.reactos.org"
|
||||
IDS_INSTALL_DEP "%s ïîòð³áíèé ùîá çàïóñòèòè %s. Âñòàíîâèòè %s çàðàç?"
|
||||
TTT_HELPBUTTON "Îòðèìàéòè äîïîìîãó ïðî çàâàíòàæóâà÷"
|
||||
TTT_UPDATEBUTTON "Ïîêè ùî íå äîñòóïíî"
|
||||
TTT_PROFBUTTON "Íàëàøòóâàòè çàâàíòàæóâà÷"
|
||||
END
|
||||
/*
|
||||
* PROJECT: ReactOS Downloader
|
||||
* LICENSE: GPL - See COPYING in the top level directory
|
||||
* FILE: rosapps/downloader/lang/uk-UA.rc
|
||||
* PURPOSE: Ukraianian Language File for Downloader
|
||||
* TRANSLATOR: Artem Reznikov
|
||||
*/
|
||||
|
||||
LANGUAGE LANG_UKRAINIAN, SUBLANG_DEFAULT
|
||||
|
||||
IDD_DOWNLOAD DIALOGEX LOADONCALL MOVEABLE DISCARDABLE 0, 0, 220, 76
|
||||
STYLE DS_SHELLFONT | DS_CENTER | WS_BORDER | WS_CAPTION | WS_POPUP | WS_SYSMENU | WS_VISIBLE
|
||||
CAPTION "Çàâàíòàæåííÿ..."
|
||||
FONT 8, "MS Shell Dlg"
|
||||
BEGIN
|
||||
CONTROL "Progress1",IDC_PROGRESS,"msctls_progress32",WS_BORDER|PBS_SMOOTH,10,10,200,12
|
||||
LTEXT "", IDC_STATUS, 10, 30, 200, 10, SS_CENTER
|
||||
PUSHBUTTON "Ñêàñóâàòè", IDCANCEL, 85, 58, 50, 15, WS_GROUP | WS_TABSTOP
|
||||
END
|
||||
|
||||
IDD_PROF DIALOGEX 6, 6, 267, 110
|
||||
STYLE DS_SHELLFONT | DS_CENTER | WS_BORDER | WS_CAPTION | WS_POPUP | WS_SYSMENU | WS_VISIBLE
|
||||
CAPTION "Íàñòðîéêè"
|
||||
FONT 8, "MS Shell Dlg"
|
||||
BEGIN
|
||||
LTEXT "Ïàïêà äëÿ çàâàíòàæåííÿ:", -1, 6, 10, 140, 8
|
||||
EDITTEXT IDC_DOWNLOAD_FOLDER_EDIT, 6, 20, 205, 14, WS_VISIBLE | WS_TABSTOP
|
||||
PUSHBUTTON "&Âèáðàòè...", IDC_CHOOSE_BUTTON, 216, 20, 45, 14
|
||||
AUTOCHECKBOX "&Âèäàëÿòè íàñòàíîâí³ ôàéëè ï³ñëÿ óñòàíîâêè", IDC_DELINST_FILES_CHECKBOX, 8, 40, 210, 10, WS_GROUP
|
||||
LTEXT "Ñåðâåð îíîâëåíü:", -1, 6, 55, 140, 8
|
||||
EDITTEXT IDC_UPDATE_SERVER_EDIT, 6, 65, 255, 14, WS_VISIBLE | WS_TABSTOP
|
||||
DEFPUSHBUTTON "&OK", IDOK, 147, 90, 54, 15
|
||||
PUSHBUTTON "&Ñêàñóâàòè", IDCANCEL, 207, 90, 54, 15
|
||||
END
|
||||
|
||||
STRINGTABLE DISCARDABLE
|
||||
BEGIN
|
||||
IDS_WINDOW_TITLE "Çàâàíòàæèòè ! - Çàâàíòàæóâà÷ ReactOS"
|
||||
IDS_WELCOME_TITLE "Ëàñêàâî ïðîñèìî ó Çàâàíòàæóâà÷ ReactOS"
|
||||
IDS_WELCOME "Áóäü ëàñêà âèáåð³òü êàòåãîð³þ çë³âà. Öå âåðñ³ÿ 1.1."
|
||||
IDS_NO_APP_TITLE "Äîäàòîê íå âèáðàíèé"
|
||||
IDS_NO_APP "Áóäü ëàñêà, âèáåð³òü äîäàòîê ïåðø í³æ íàòèñíóòè êíîïêó çàâàíòàæåííÿ. ßêùî Âàì ïîòð³áíà äîïîìîãà, íàòèñí³òü êíîïêó ç³ çíàêîì ïèòàííÿ ó âåðõíüîìó ïðàâîìó êóòêó."
|
||||
IDS_UPDATE_TITLE "Îíîâèòè"
|
||||
IDS_UPDATE "Âèáà÷òå, äàíà ìîæëèâ³ñòü ùå íåäîñòóïíà."
|
||||
IDS_HELP_TITLE "Äîâ³äêà"
|
||||
IDS_HELP "Âèáåð³òü êàòåãîð³þ çë³âà, ïîò³ì âèáåð³òü äîäàòîê ³ íàòèñí³òü êíîïêó çàâàíòàæåííÿ. Äëÿ îòðèìàííÿ ³íôîðìàö³¿ ïðî îíîâëåííÿ íàòèñí³òü êíîïêó ïîðÿä ç êíîïêîþ äîâ³äêè."
|
||||
IDS_NO_APPS "Âèáà÷òå, â ö³é êàòåãî𳿠ùå íåìຠäîäàòê³â. Âè ìîæåòå äîïîìîãòè ³ äîäàòè á³ëüøå äîäàòê³â."
|
||||
IDS_CHOOSE_APP "Áóäü ëàñêà âèáåð³òü äîäàòîê."
|
||||
IDS_CHOOSE_SUB "Áóäü ëàñêà âèáåð³òü ï³äêàòåãîð³þ."
|
||||
IDS_CHOOSE_CATEGORY "Áóäü ëàñêà âèáåð³òü êàòåãîð³þ."
|
||||
IDS_CHOOSE_BOTH "Áóäü ëàñêà âèáåð³òü ï³äêàòåãîð³þ àáî äîäàòîê."
|
||||
IDS_XMLERROR_1 "Íå âäàëîñÿ çíàéòè ôàéë XML !"
|
||||
IDS_XMLERROR_2 "Íå âäàëîñÿ îáðîáèòè ôàéë XML !"
|
||||
IDS_DOWNLOAD_ERROR "Íåìîæëèâî çàâàíòàæèòè ôàéë.\nÁóäü ëàñêà ïåðåâ³ðòå âàøå ³íòåðíåò-ç'ºäíàííÿ."
|
||||
IDS_VERSION "Âåðñ³ÿ: "
|
||||
IDS_LICENCE "˳öåíç³ÿ: "
|
||||
IDS_MAINTAINER "Âèðîáíèê: "
|
||||
IDS_APPS_TITLE "Äîäàòêè"
|
||||
IDS_CATS_TITLE "Êàòåãîð³¿"
|
||||
IDS_CHOOSE_FOLDER "Áóäü ëàñêà âèáåð³òü ïàïêó..."
|
||||
IDS_NOTCREATE_REGKEY "Íå âäàëîñÿ ñòâîðèòè êëþ÷ ó ðåºñòð³."
|
||||
IDS_DOWNLOAD_FOLDER "Downloader"
|
||||
IDS_UNABLECREATE_FOLDER "Íå âäàëîñÿ ñòâîðèòè ïàïêó ç òàêèì ³ì'ÿì!"
|
||||
IDS_UPDATE_URL "http://svn.reactos.org"
|
||||
IDS_INSTALL_DEP "%s ïîòð³áíèé ùîá çàïóñòèòè %s. Âñòàíîâèòè %s çàðàç?"
|
||||
TTT_HELPBUTTON "Îòðèìàéòè äîïîìîãó ïðî çàâàíòàæóâà÷"
|
||||
TTT_UPDATEBUTTON "Ïîêè ùî íå äîñòóïíî"
|
||||
TTT_PROFBUTTON "Íàëàøòóâàòè çàâàíòàæóâà÷"
|
||||
END
|
||||
|
||||
@@ -1,412 +1,412 @@
|
||||
/*
|
||||
* fontview display class
|
||||
*
|
||||
* display.c
|
||||
*
|
||||
* Copyright (C) 2007 Timo Kreuzer <timo <dot> kreuzer <at> reactos <dot> org>
|
||||
*
|
||||
* 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.
|
||||
*
|
||||
* This 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.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||
*/
|
||||
|
||||
#include <windows.h>
|
||||
#include <stdio.h>
|
||||
|
||||
#include "display.h"
|
||||
|
||||
#define SPACING1 8
|
||||
#define SPACING2 5
|
||||
|
||||
const WCHAR g_szFontDisplayClassName[] = L"FontDisplayClass";
|
||||
LRESULT CALLBACK DisplayProc(HWND, UINT, WPARAM, LPARAM);
|
||||
|
||||
/* Internal data storage type */
|
||||
typedef struct
|
||||
{
|
||||
int nPageHeight;
|
||||
WCHAR szTypeFaceName[LF_FULLFACESIZE];
|
||||
WCHAR szFormat[MAX_FORMAT];
|
||||
WCHAR szString[MAX_STRING];
|
||||
|
||||
HFONT hCaptionFont;
|
||||
HFONT hCharSetFont;
|
||||
HFONT hSizeFont;
|
||||
HFONT hFonts[MAX_SIZES];
|
||||
int nSizes[MAX_SIZES];
|
||||
int nHeights[MAX_SIZES];
|
||||
} DISPLAYDATA;
|
||||
|
||||
/* This is the only public function, it registers the class */
|
||||
BOOL
|
||||
Display_InitClass(HINSTANCE hInstance)
|
||||
{
|
||||
WNDCLASSEXW wincl;
|
||||
|
||||
/* Set the fontdisplay window class structure */
|
||||
wincl.cbSize = sizeof(WNDCLASSEX);
|
||||
wincl.style = CS_DBLCLKS;
|
||||
wincl.lpfnWndProc = DisplayProc;
|
||||
wincl.cbClsExtra = 0;
|
||||
wincl.cbWndExtra = 0;
|
||||
wincl.hInstance = hInstance;
|
||||
wincl.hIcon = NULL;
|
||||
wincl.hCursor = LoadCursor (NULL, IDC_ARROW);
|
||||
wincl.hbrBackground = GetStockObject(WHITE_BRUSH);
|
||||
wincl.lpszMenuName = NULL;
|
||||
wincl.lpszClassName = g_szFontDisplayClassName;
|
||||
wincl.hIconSm = NULL;
|
||||
|
||||
/* Register the window class, and if it fails return FALSE */
|
||||
if (!RegisterClassExW (&wincl))
|
||||
{
|
||||
return FALSE;
|
||||
}
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
static int
|
||||
Display_DrawText(HDC hDC, DISPLAYDATA* pData, int nYPos)
|
||||
{
|
||||
HFONT hOldFont;
|
||||
TEXTMETRIC tm;
|
||||
int i, y;
|
||||
WCHAR szSize[5];
|
||||
WCHAR szCaption[LF_FULLFACESIZE + 20];
|
||||
|
||||
/* This is the location on the DC where we draw */
|
||||
y = -nYPos;
|
||||
|
||||
hOldFont = SelectObject(hDC, pData->hCaptionFont);
|
||||
GetTextMetrics(hDC, &tm);
|
||||
|
||||
swprintf(szCaption, L"%s%s", pData->szTypeFaceName, pData->szFormat);
|
||||
TextOutW(hDC, 0, y, szCaption, wcslen(szCaption));
|
||||
y += tm.tmHeight + SPACING1;
|
||||
|
||||
/* Draw a seperation Line */
|
||||
SelectObject(hDC, GetStockObject(BLACK_PEN));
|
||||
MoveToEx(hDC, 0, y, NULL);
|
||||
LineTo(hDC, 10000, y);
|
||||
y += SPACING2;
|
||||
|
||||
/* TODO: Output font info */
|
||||
|
||||
/* Output Character set */
|
||||
hOldFont = SelectObject(hDC, pData->hCharSetFont);
|
||||
GetTextMetrics(hDC, &tm);
|
||||
swprintf(szCaption, L"abcdefghijklmnopqrstuvwxyz");
|
||||
TextOutW(hDC, 0, y, szCaption, wcslen(szCaption));
|
||||
y += tm.tmHeight + 1;
|
||||
|
||||
swprintf(szCaption, L"ABCDEFGHIJKLMNOPQRSTUVWXYZ");
|
||||
TextOutW(hDC, 0, y, szCaption, wcslen(szCaption));
|
||||
y += tm.tmHeight + 1;
|
||||
|
||||
swprintf(szCaption, L"0123456789.:,;(\"~!@#$%^&*')");
|
||||
TextOutW(hDC, 0, y, szCaption, wcslen(szCaption));
|
||||
y += tm.tmHeight + 1;
|
||||
|
||||
/* Draw a seperation Line */
|
||||
SelectObject(hDC, GetStockObject(BLACK_PEN));
|
||||
MoveToEx(hDC, 0, y, NULL);
|
||||
LineTo(hDC, 10000, y);
|
||||
y += SPACING2;
|
||||
|
||||
/* Output the strings for different sizes */
|
||||
for (i = 0; i < MAX_SIZES; i++)
|
||||
{
|
||||
SelectObject(hDC, pData->hFonts[i]);
|
||||
TextOutW(hDC, 20, y, pData->szString, wcslen(pData->szString));
|
||||
GetTextMetrics(hDC, &tm);
|
||||
y += tm.tmHeight + 1;
|
||||
SelectObject(hDC, pData->hSizeFont);
|
||||
swprintf(szSize, L"%d", pData->nSizes[i]);
|
||||
TextOutW(hDC, 0, y - 13 - tm.tmDescent, szSize, wcslen(szSize));
|
||||
}
|
||||
SelectObject(hDC, hOldFont);
|
||||
|
||||
return y;
|
||||
}
|
||||
|
||||
static LRESULT
|
||||
Display_SetTypeFace(HWND hwnd, PEXTLOGFONTW pExtLogFont)
|
||||
{
|
||||
DISPLAYDATA* pData;
|
||||
TEXTMETRIC tm;
|
||||
HDC hDC;
|
||||
RECT rect;
|
||||
SCROLLINFO si;
|
||||
int i;
|
||||
LOGFONTW logfont;
|
||||
|
||||
/* Set the new type face name */
|
||||
pData = (DISPLAYDATA*)GetWindowLongPtr(hwnd, GWLP_USERDATA);
|
||||
_snwprintf(pData->szTypeFaceName, LF_FULLFACESIZE, pExtLogFont->elfFullName);
|
||||
|
||||
/* Create the new fonts */
|
||||
hDC = GetDC(hwnd);
|
||||
DeleteObject(pData->hCharSetFont);
|
||||
|
||||
logfont = pExtLogFont->elfLogFont;
|
||||
logfont.lfHeight = -MulDiv(16, GetDeviceCaps(GetDC(NULL), LOGPIXELSY), 72);
|
||||
pData->hCharSetFont = CreateFontIndirectW(&logfont);
|
||||
|
||||
/* Get font format */
|
||||
// FIXME: Get the real font format (OpenType?)
|
||||
SelectObject(hDC, pData->hCharSetFont);
|
||||
GetTextMetrics(hDC, &tm);
|
||||
if ((tm.tmPitchAndFamily & TMPF_TRUETYPE) == TMPF_TRUETYPE)
|
||||
{
|
||||
swprintf(pData->szFormat, L" (TrueType)");
|
||||
}
|
||||
|
||||
for (i = 0; i < MAX_SIZES; i++)
|
||||
{
|
||||
DeleteObject(pData->hFonts[i]);
|
||||
logfont.lfHeight = -MulDiv(pData->nSizes[i], GetDeviceCaps(hDC, LOGPIXELSY), 72);
|
||||
pData->hFonts[i] = CreateFontIndirectW(&logfont);
|
||||
}
|
||||
|
||||
/* Calculate new page dimensions */
|
||||
pData->nPageHeight = Display_DrawText(hDC, pData, 0);
|
||||
ReleaseDC(hwnd, hDC);
|
||||
|
||||
/* Set the vertical scrolling range and page size */
|
||||
GetClientRect(hwnd, &rect);
|
||||
si.cbSize = sizeof(si);
|
||||
si.fMask = SIF_RANGE | SIF_PAGE | SIF_POS | SIF_TRACKPOS;
|
||||
si.nMin = 0;
|
||||
si.nMax = pData->nPageHeight;
|
||||
si.nPage = rect.bottom;
|
||||
si.nPos = 0;
|
||||
si.nTrackPos = 0;
|
||||
SetScrollInfo(hwnd, SB_VERT, &si, TRUE);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
static LRESULT
|
||||
Display_SetString(HWND hwnd, LPARAM lParam)
|
||||
{
|
||||
DISPLAYDATA* pData;
|
||||
|
||||
pData = (DISPLAYDATA*)GetWindowLongPtr(hwnd, GWLP_USERDATA);
|
||||
_snwprintf(pData->szString, MAX_STRING, (WCHAR*)lParam);
|
||||
|
||||
// FIXME: redraw the window
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
static LRESULT
|
||||
Display_OnCreate(HWND hwnd)
|
||||
{
|
||||
DISPLAYDATA* pData;
|
||||
const int nSizes[MAX_SIZES] = {8, 12, 18, 24, 36, 48, 60, 72};
|
||||
int i;
|
||||
EXTLOGFONTW ExtLogFont = {{50, 0, 0, 0, FW_NORMAL, FALSE, FALSE, FALSE,
|
||||
ANSI_CHARSET, OUT_DEFAULT_PRECIS,
|
||||
CLIP_DEFAULT_PRECIS, PROOF_QUALITY,
|
||||
DEFAULT_PITCH , L"Ms Shell Dlg"},
|
||||
L"Ms Shell Dlg"};
|
||||
|
||||
/* Create data structure */
|
||||
pData = malloc(sizeof(DISPLAYDATA));
|
||||
ZeroMemory(pData, sizeof(DISPLAYDATA));
|
||||
|
||||
/* Set the window's GWLP_USERDATA to our data structure */
|
||||
SetWindowLongPtr(hwnd, GWLP_USERDATA, (LONG_PTR)pData);
|
||||
|
||||
for (i = 0; i < MAX_SIZES; i++)
|
||||
{
|
||||
pData->nSizes[i] = nSizes[i];
|
||||
}
|
||||
|
||||
pData->hCaptionFont = CreateFontIndirectW(&ExtLogFont.elfLogFont);
|
||||
ExtLogFont.elfLogFont.lfHeight = 12;
|
||||
pData->hSizeFont = CreateFontIndirectW(&ExtLogFont.elfLogFont);
|
||||
|
||||
Display_SetString(hwnd, (LPARAM)L"Jackdaws love my big sphinx of quartz. 1234567890");
|
||||
|
||||
Display_SetTypeFace(hwnd, &ExtLogFont);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
static LRESULT
|
||||
Display_OnPaint(HWND hwnd)
|
||||
{
|
||||
DISPLAYDATA* pData;
|
||||
PAINTSTRUCT ps;
|
||||
SCROLLINFO si;
|
||||
|
||||
pData = (DISPLAYDATA*)GetWindowLongPtr(hwnd, GWLP_USERDATA);
|
||||
|
||||
/* Get the Scroll position */
|
||||
si.cbSize = sizeof(si);
|
||||
si.fMask = SIF_POS;
|
||||
GetScrollInfo(hwnd, SB_VERT, &si);
|
||||
|
||||
BeginPaint(hwnd, &ps);
|
||||
|
||||
/* Erase background */
|
||||
FillRect(ps.hdc, &ps.rcPaint, GetStockObject(WHITE_BRUSH));
|
||||
|
||||
/* Draw the text */
|
||||
Display_DrawText(ps.hdc, pData, si.nPos);
|
||||
|
||||
EndPaint(hwnd, &ps);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
static LRESULT
|
||||
Display_OnSize(HWND hwnd)
|
||||
{
|
||||
RECT rect;
|
||||
SCROLLINFO si;
|
||||
int nOldPos;
|
||||
|
||||
GetClientRect(hwnd, &rect);
|
||||
|
||||
/* Get the old scroll pos */
|
||||
si.cbSize = sizeof(si);
|
||||
si.fMask = SIF_POS;
|
||||
GetScrollInfo(hwnd, SB_VERT, &si);
|
||||
nOldPos = si.nPos;
|
||||
|
||||
/* Set the new page size */
|
||||
si.fMask = SIF_PAGE;
|
||||
si.nPage = rect.bottom;
|
||||
SetScrollInfo(hwnd, SB_VERT, &si, TRUE);
|
||||
|
||||
/* Get the new scroll pos */
|
||||
si.fMask = SIF_POS;
|
||||
GetScrollInfo(hwnd, SB_VERT, &si);
|
||||
|
||||
/* If they don't match ... */
|
||||
if (nOldPos != si.nPos)
|
||||
{
|
||||
/* ... scroll the window */
|
||||
ScrollWindowEx(hwnd, 0, nOldPos - si.nPos, NULL, NULL, NULL, NULL, SW_INVALIDATE);
|
||||
UpdateWindow(hwnd);
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
static LRESULT
|
||||
Display_OnVScroll(HWND hwnd, WPARAM wParam)
|
||||
{
|
||||
SCROLLINFO si;
|
||||
int nPos;
|
||||
|
||||
si.cbSize = sizeof(si);
|
||||
si.fMask = SIF_POS | SIF_RANGE | SIF_TRACKPOS;
|
||||
GetScrollInfo(hwnd, SB_VERT, &si);
|
||||
|
||||
switch(LOWORD(wParam))
|
||||
{
|
||||
case SB_PAGEUP:
|
||||
nPos = si.nPos - 50;
|
||||
break;
|
||||
case SB_PAGEDOWN:
|
||||
nPos = si.nPos + 50;
|
||||
break;
|
||||
case SB_LINEUP:
|
||||
nPos = si.nPos - 10;
|
||||
break;
|
||||
case SB_LINEDOWN:
|
||||
nPos = si.nPos + 10;
|
||||
break;
|
||||
case SB_THUMBTRACK:
|
||||
case SB_THUMBPOSITION:
|
||||
nPos = si.nTrackPos;
|
||||
break;
|
||||
default:
|
||||
nPos = si.nPos;
|
||||
}
|
||||
|
||||
nPos = max(nPos, si.nMin);
|
||||
nPos = min(nPos, si.nMax);
|
||||
if (nPos != si.nPos)
|
||||
{
|
||||
ScrollWindowEx(hwnd, 0, si.nPos - nPos, NULL, NULL, NULL, NULL, SW_INVALIDATE);
|
||||
si.cbSize = sizeof(si);
|
||||
si.nPos = nPos;
|
||||
si.fMask = SIF_POS;
|
||||
SetScrollInfo(hwnd, SB_VERT, &si, TRUE);
|
||||
UpdateWindow(hwnd);
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
static LRESULT
|
||||
Display_OnDestroy(HWND hwnd)
|
||||
{
|
||||
DISPLAYDATA* pData;
|
||||
int i;
|
||||
|
||||
pData = (DISPLAYDATA*)GetWindowLongPtr(hwnd, GWLP_USERDATA);
|
||||
|
||||
/* Delete the fonts */
|
||||
DeleteObject(pData->hCaptionFont);
|
||||
DeleteObject(pData->hCharSetFont);
|
||||
DeleteObject(pData->hSizeFont);
|
||||
|
||||
for (i = 0; i < MAX_SIZES; i++)
|
||||
{
|
||||
DeleteObject(pData->hFonts[i]);
|
||||
}
|
||||
|
||||
/* Free the data structure */
|
||||
free(pData);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
LRESULT CALLBACK
|
||||
DisplayProc(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam)
|
||||
{
|
||||
switch (message)
|
||||
{
|
||||
case WM_CREATE:
|
||||
return Display_OnCreate(hwnd);
|
||||
|
||||
case WM_PAINT:
|
||||
return Display_OnPaint(hwnd);
|
||||
|
||||
case WM_SIZE:
|
||||
return Display_OnSize(hwnd);
|
||||
|
||||
case WM_VSCROLL:
|
||||
return Display_OnVScroll(hwnd, wParam);
|
||||
|
||||
case FVM_SETTYPEFACE:
|
||||
return Display_SetTypeFace(hwnd, (PEXTLOGFONTW)lParam);
|
||||
|
||||
case FVM_SETSTRING:
|
||||
return Display_SetString(hwnd, lParam);
|
||||
|
||||
case WM_DESTROY:
|
||||
return Display_OnDestroy(hwnd);
|
||||
|
||||
default:
|
||||
return DefWindowProcW(hwnd, message, wParam, lParam);
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
/*
|
||||
* fontview display class
|
||||
*
|
||||
* display.c
|
||||
*
|
||||
* Copyright (C) 2007 Timo Kreuzer <timo <dot> kreuzer <at> reactos <dot> org>
|
||||
*
|
||||
* 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.
|
||||
*
|
||||
* This 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.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||
*/
|
||||
|
||||
#include <windows.h>
|
||||
#include <stdio.h>
|
||||
|
||||
#include "display.h"
|
||||
|
||||
#define SPACING1 8
|
||||
#define SPACING2 5
|
||||
|
||||
const WCHAR g_szFontDisplayClassName[] = L"FontDisplayClass";
|
||||
LRESULT CALLBACK DisplayProc(HWND, UINT, WPARAM, LPARAM);
|
||||
|
||||
/* Internal data storage type */
|
||||
typedef struct
|
||||
{
|
||||
int nPageHeight;
|
||||
WCHAR szTypeFaceName[LF_FULLFACESIZE];
|
||||
WCHAR szFormat[MAX_FORMAT];
|
||||
WCHAR szString[MAX_STRING];
|
||||
|
||||
HFONT hCaptionFont;
|
||||
HFONT hCharSetFont;
|
||||
HFONT hSizeFont;
|
||||
HFONT hFonts[MAX_SIZES];
|
||||
int nSizes[MAX_SIZES];
|
||||
int nHeights[MAX_SIZES];
|
||||
} DISPLAYDATA;
|
||||
|
||||
/* This is the only public function, it registers the class */
|
||||
BOOL
|
||||
Display_InitClass(HINSTANCE hInstance)
|
||||
{
|
||||
WNDCLASSEXW wincl;
|
||||
|
||||
/* Set the fontdisplay window class structure */
|
||||
wincl.cbSize = sizeof(WNDCLASSEX);
|
||||
wincl.style = CS_DBLCLKS;
|
||||
wincl.lpfnWndProc = DisplayProc;
|
||||
wincl.cbClsExtra = 0;
|
||||
wincl.cbWndExtra = 0;
|
||||
wincl.hInstance = hInstance;
|
||||
wincl.hIcon = NULL;
|
||||
wincl.hCursor = LoadCursor (NULL, IDC_ARROW);
|
||||
wincl.hbrBackground = GetStockObject(WHITE_BRUSH);
|
||||
wincl.lpszMenuName = NULL;
|
||||
wincl.lpszClassName = g_szFontDisplayClassName;
|
||||
wincl.hIconSm = NULL;
|
||||
|
||||
/* Register the window class, and if it fails return FALSE */
|
||||
if (!RegisterClassExW (&wincl))
|
||||
{
|
||||
return FALSE;
|
||||
}
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
static int
|
||||
Display_DrawText(HDC hDC, DISPLAYDATA* pData, int nYPos)
|
||||
{
|
||||
HFONT hOldFont;
|
||||
TEXTMETRIC tm;
|
||||
int i, y;
|
||||
WCHAR szSize[5];
|
||||
WCHAR szCaption[LF_FULLFACESIZE + 20];
|
||||
|
||||
/* This is the location on the DC where we draw */
|
||||
y = -nYPos;
|
||||
|
||||
hOldFont = SelectObject(hDC, pData->hCaptionFont);
|
||||
GetTextMetrics(hDC, &tm);
|
||||
|
||||
swprintf(szCaption, L"%s%s", pData->szTypeFaceName, pData->szFormat);
|
||||
TextOutW(hDC, 0, y, szCaption, wcslen(szCaption));
|
||||
y += tm.tmHeight + SPACING1;
|
||||
|
||||
/* Draw a seperation Line */
|
||||
SelectObject(hDC, GetStockObject(BLACK_PEN));
|
||||
MoveToEx(hDC, 0, y, NULL);
|
||||
LineTo(hDC, 10000, y);
|
||||
y += SPACING2;
|
||||
|
||||
/* TODO: Output font info */
|
||||
|
||||
/* Output Character set */
|
||||
hOldFont = SelectObject(hDC, pData->hCharSetFont);
|
||||
GetTextMetrics(hDC, &tm);
|
||||
swprintf(szCaption, L"abcdefghijklmnopqrstuvwxyz");
|
||||
TextOutW(hDC, 0, y, szCaption, wcslen(szCaption));
|
||||
y += tm.tmHeight + 1;
|
||||
|
||||
swprintf(szCaption, L"ABCDEFGHIJKLMNOPQRSTUVWXYZ");
|
||||
TextOutW(hDC, 0, y, szCaption, wcslen(szCaption));
|
||||
y += tm.tmHeight + 1;
|
||||
|
||||
swprintf(szCaption, L"0123456789.:,;(\"~!@#$%^&*')");
|
||||
TextOutW(hDC, 0, y, szCaption, wcslen(szCaption));
|
||||
y += tm.tmHeight + 1;
|
||||
|
||||
/* Draw a seperation Line */
|
||||
SelectObject(hDC, GetStockObject(BLACK_PEN));
|
||||
MoveToEx(hDC, 0, y, NULL);
|
||||
LineTo(hDC, 10000, y);
|
||||
y += SPACING2;
|
||||
|
||||
/* Output the strings for different sizes */
|
||||
for (i = 0; i < MAX_SIZES; i++)
|
||||
{
|
||||
SelectObject(hDC, pData->hFonts[i]);
|
||||
TextOutW(hDC, 20, y, pData->szString, wcslen(pData->szString));
|
||||
GetTextMetrics(hDC, &tm);
|
||||
y += tm.tmHeight + 1;
|
||||
SelectObject(hDC, pData->hSizeFont);
|
||||
swprintf(szSize, L"%d", pData->nSizes[i]);
|
||||
TextOutW(hDC, 0, y - 13 - tm.tmDescent, szSize, wcslen(szSize));
|
||||
}
|
||||
SelectObject(hDC, hOldFont);
|
||||
|
||||
return y;
|
||||
}
|
||||
|
||||
static LRESULT
|
||||
Display_SetTypeFace(HWND hwnd, PEXTLOGFONTW pExtLogFont)
|
||||
{
|
||||
DISPLAYDATA* pData;
|
||||
TEXTMETRIC tm;
|
||||
HDC hDC;
|
||||
RECT rect;
|
||||
SCROLLINFO si;
|
||||
int i;
|
||||
LOGFONTW logfont;
|
||||
|
||||
/* Set the new type face name */
|
||||
pData = (DISPLAYDATA*)GetWindowLongPtr(hwnd, GWLP_USERDATA);
|
||||
_snwprintf(pData->szTypeFaceName, LF_FULLFACESIZE, pExtLogFont->elfFullName);
|
||||
|
||||
/* Create the new fonts */
|
||||
hDC = GetDC(hwnd);
|
||||
DeleteObject(pData->hCharSetFont);
|
||||
|
||||
logfont = pExtLogFont->elfLogFont;
|
||||
logfont.lfHeight = -MulDiv(16, GetDeviceCaps(GetDC(NULL), LOGPIXELSY), 72);
|
||||
pData->hCharSetFont = CreateFontIndirectW(&logfont);
|
||||
|
||||
/* Get font format */
|
||||
// FIXME: Get the real font format (OpenType?)
|
||||
SelectObject(hDC, pData->hCharSetFont);
|
||||
GetTextMetrics(hDC, &tm);
|
||||
if ((tm.tmPitchAndFamily & TMPF_TRUETYPE) == TMPF_TRUETYPE)
|
||||
{
|
||||
swprintf(pData->szFormat, L" (TrueType)");
|
||||
}
|
||||
|
||||
for (i = 0; i < MAX_SIZES; i++)
|
||||
{
|
||||
DeleteObject(pData->hFonts[i]);
|
||||
logfont.lfHeight = -MulDiv(pData->nSizes[i], GetDeviceCaps(hDC, LOGPIXELSY), 72);
|
||||
pData->hFonts[i] = CreateFontIndirectW(&logfont);
|
||||
}
|
||||
|
||||
/* Calculate new page dimensions */
|
||||
pData->nPageHeight = Display_DrawText(hDC, pData, 0);
|
||||
ReleaseDC(hwnd, hDC);
|
||||
|
||||
/* Set the vertical scrolling range and page size */
|
||||
GetClientRect(hwnd, &rect);
|
||||
si.cbSize = sizeof(si);
|
||||
si.fMask = SIF_RANGE | SIF_PAGE | SIF_POS | SIF_TRACKPOS;
|
||||
si.nMin = 0;
|
||||
si.nMax = pData->nPageHeight;
|
||||
si.nPage = rect.bottom;
|
||||
si.nPos = 0;
|
||||
si.nTrackPos = 0;
|
||||
SetScrollInfo(hwnd, SB_VERT, &si, TRUE);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
static LRESULT
|
||||
Display_SetString(HWND hwnd, LPARAM lParam)
|
||||
{
|
||||
DISPLAYDATA* pData;
|
||||
|
||||
pData = (DISPLAYDATA*)GetWindowLongPtr(hwnd, GWLP_USERDATA);
|
||||
_snwprintf(pData->szString, MAX_STRING, (WCHAR*)lParam);
|
||||
|
||||
// FIXME: redraw the window
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
static LRESULT
|
||||
Display_OnCreate(HWND hwnd)
|
||||
{
|
||||
DISPLAYDATA* pData;
|
||||
const int nSizes[MAX_SIZES] = {8, 12, 18, 24, 36, 48, 60, 72};
|
||||
int i;
|
||||
EXTLOGFONTW ExtLogFont = {{50, 0, 0, 0, FW_NORMAL, FALSE, FALSE, FALSE,
|
||||
ANSI_CHARSET, OUT_DEFAULT_PRECIS,
|
||||
CLIP_DEFAULT_PRECIS, PROOF_QUALITY,
|
||||
DEFAULT_PITCH , L"Ms Shell Dlg"},
|
||||
L"Ms Shell Dlg"};
|
||||
|
||||
/* Create data structure */
|
||||
pData = malloc(sizeof(DISPLAYDATA));
|
||||
ZeroMemory(pData, sizeof(DISPLAYDATA));
|
||||
|
||||
/* Set the window's GWLP_USERDATA to our data structure */
|
||||
SetWindowLongPtr(hwnd, GWLP_USERDATA, (LONG_PTR)pData);
|
||||
|
||||
for (i = 0; i < MAX_SIZES; i++)
|
||||
{
|
||||
pData->nSizes[i] = nSizes[i];
|
||||
}
|
||||
|
||||
pData->hCaptionFont = CreateFontIndirectW(&ExtLogFont.elfLogFont);
|
||||
ExtLogFont.elfLogFont.lfHeight = 12;
|
||||
pData->hSizeFont = CreateFontIndirectW(&ExtLogFont.elfLogFont);
|
||||
|
||||
Display_SetString(hwnd, (LPARAM)L"Jackdaws love my big sphinx of quartz. 1234567890");
|
||||
|
||||
Display_SetTypeFace(hwnd, &ExtLogFont);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
static LRESULT
|
||||
Display_OnPaint(HWND hwnd)
|
||||
{
|
||||
DISPLAYDATA* pData;
|
||||
PAINTSTRUCT ps;
|
||||
SCROLLINFO si;
|
||||
|
||||
pData = (DISPLAYDATA*)GetWindowLongPtr(hwnd, GWLP_USERDATA);
|
||||
|
||||
/* Get the Scroll position */
|
||||
si.cbSize = sizeof(si);
|
||||
si.fMask = SIF_POS;
|
||||
GetScrollInfo(hwnd, SB_VERT, &si);
|
||||
|
||||
BeginPaint(hwnd, &ps);
|
||||
|
||||
/* Erase background */
|
||||
FillRect(ps.hdc, &ps.rcPaint, GetStockObject(WHITE_BRUSH));
|
||||
|
||||
/* Draw the text */
|
||||
Display_DrawText(ps.hdc, pData, si.nPos);
|
||||
|
||||
EndPaint(hwnd, &ps);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
static LRESULT
|
||||
Display_OnSize(HWND hwnd)
|
||||
{
|
||||
RECT rect;
|
||||
SCROLLINFO si;
|
||||
int nOldPos;
|
||||
|
||||
GetClientRect(hwnd, &rect);
|
||||
|
||||
/* Get the old scroll pos */
|
||||
si.cbSize = sizeof(si);
|
||||
si.fMask = SIF_POS;
|
||||
GetScrollInfo(hwnd, SB_VERT, &si);
|
||||
nOldPos = si.nPos;
|
||||
|
||||
/* Set the new page size */
|
||||
si.fMask = SIF_PAGE;
|
||||
si.nPage = rect.bottom;
|
||||
SetScrollInfo(hwnd, SB_VERT, &si, TRUE);
|
||||
|
||||
/* Get the new scroll pos */
|
||||
si.fMask = SIF_POS;
|
||||
GetScrollInfo(hwnd, SB_VERT, &si);
|
||||
|
||||
/* If they don't match ... */
|
||||
if (nOldPos != si.nPos)
|
||||
{
|
||||
/* ... scroll the window */
|
||||
ScrollWindowEx(hwnd, 0, nOldPos - si.nPos, NULL, NULL, NULL, NULL, SW_INVALIDATE);
|
||||
UpdateWindow(hwnd);
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
static LRESULT
|
||||
Display_OnVScroll(HWND hwnd, WPARAM wParam)
|
||||
{
|
||||
SCROLLINFO si;
|
||||
int nPos;
|
||||
|
||||
si.cbSize = sizeof(si);
|
||||
si.fMask = SIF_POS | SIF_RANGE | SIF_TRACKPOS;
|
||||
GetScrollInfo(hwnd, SB_VERT, &si);
|
||||
|
||||
switch(LOWORD(wParam))
|
||||
{
|
||||
case SB_PAGEUP:
|
||||
nPos = si.nPos - 50;
|
||||
break;
|
||||
case SB_PAGEDOWN:
|
||||
nPos = si.nPos + 50;
|
||||
break;
|
||||
case SB_LINEUP:
|
||||
nPos = si.nPos - 10;
|
||||
break;
|
||||
case SB_LINEDOWN:
|
||||
nPos = si.nPos + 10;
|
||||
break;
|
||||
case SB_THUMBTRACK:
|
||||
case SB_THUMBPOSITION:
|
||||
nPos = si.nTrackPos;
|
||||
break;
|
||||
default:
|
||||
nPos = si.nPos;
|
||||
}
|
||||
|
||||
nPos = max(nPos, si.nMin);
|
||||
nPos = min(nPos, si.nMax);
|
||||
if (nPos != si.nPos)
|
||||
{
|
||||
ScrollWindowEx(hwnd, 0, si.nPos - nPos, NULL, NULL, NULL, NULL, SW_INVALIDATE);
|
||||
si.cbSize = sizeof(si);
|
||||
si.nPos = nPos;
|
||||
si.fMask = SIF_POS;
|
||||
SetScrollInfo(hwnd, SB_VERT, &si, TRUE);
|
||||
UpdateWindow(hwnd);
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
static LRESULT
|
||||
Display_OnDestroy(HWND hwnd)
|
||||
{
|
||||
DISPLAYDATA* pData;
|
||||
int i;
|
||||
|
||||
pData = (DISPLAYDATA*)GetWindowLongPtr(hwnd, GWLP_USERDATA);
|
||||
|
||||
/* Delete the fonts */
|
||||
DeleteObject(pData->hCaptionFont);
|
||||
DeleteObject(pData->hCharSetFont);
|
||||
DeleteObject(pData->hSizeFont);
|
||||
|
||||
for (i = 0; i < MAX_SIZES; i++)
|
||||
{
|
||||
DeleteObject(pData->hFonts[i]);
|
||||
}
|
||||
|
||||
/* Free the data structure */
|
||||
free(pData);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
LRESULT CALLBACK
|
||||
DisplayProc(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam)
|
||||
{
|
||||
switch (message)
|
||||
{
|
||||
case WM_CREATE:
|
||||
return Display_OnCreate(hwnd);
|
||||
|
||||
case WM_PAINT:
|
||||
return Display_OnPaint(hwnd);
|
||||
|
||||
case WM_SIZE:
|
||||
return Display_OnSize(hwnd);
|
||||
|
||||
case WM_VSCROLL:
|
||||
return Display_OnVScroll(hwnd, wParam);
|
||||
|
||||
case FVM_SETTYPEFACE:
|
||||
return Display_SetTypeFace(hwnd, (PEXTLOGFONTW)lParam);
|
||||
|
||||
case FVM_SETSTRING:
|
||||
return Display_SetString(hwnd, lParam);
|
||||
|
||||
case WM_DESTROY:
|
||||
return Display_OnDestroy(hwnd);
|
||||
|
||||
default:
|
||||
return DefWindowProcW(hwnd, message, wParam, lParam);
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
@@ -1,18 +1,18 @@
|
||||
#ifndef _DISPLAY_H
|
||||
#define _DISPLAY_H
|
||||
|
||||
/* Messages for the display class */
|
||||
#define FVM_SETTYPEFACE WM_USER
|
||||
#define FVM_SETSTRING (WM_USER + 1)
|
||||
|
||||
/* Size restrictions */
|
||||
#define MAX_STRING 100
|
||||
#define MAX_FORMAT 20
|
||||
#define MAX_SIZES 8
|
||||
|
||||
extern const WCHAR g_szFontDisplayClassName[];
|
||||
|
||||
/* Public function */
|
||||
BOOL Display_InitClass(HINSTANCE hInstance);
|
||||
|
||||
#endif // _DISPLAY_H
|
||||
#ifndef _DISPLAY_H
|
||||
#define _DISPLAY_H
|
||||
|
||||
/* Messages for the display class */
|
||||
#define FVM_SETTYPEFACE WM_USER
|
||||
#define FVM_SETSTRING (WM_USER + 1)
|
||||
|
||||
/* Size restrictions */
|
||||
#define MAX_STRING 100
|
||||
#define MAX_FORMAT 20
|
||||
#define MAX_SIZES 8
|
||||
|
||||
extern const WCHAR g_szFontDisplayClassName[];
|
||||
|
||||
/* Public function */
|
||||
BOOL Display_InitClass(HINSTANCE hInstance);
|
||||
|
||||
#endif // _DISPLAY_H
|
||||
|
||||
@@ -1,327 +1,327 @@
|
||||
/*
|
||||
* fontview
|
||||
*
|
||||
* fontview.c
|
||||
*
|
||||
* Copyright (C) 2007 Timo Kreuzer <timo <dot> kreuzer <at> reactos <dot> org>
|
||||
*
|
||||
* 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.
|
||||
*
|
||||
* This 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.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||
*/
|
||||
|
||||
#include "fontview.h"
|
||||
|
||||
HINSTANCE g_hInstance;
|
||||
EXTLOGFONTW g_ExtLogFontW;
|
||||
|
||||
static const WCHAR g_szFontViewClassName[] = L"FontViewWClass";
|
||||
|
||||
/* Tye definition for the GetFontResourceInfo function */
|
||||
typedef BOOL (WINAPI *PGFRI)(LPCWSTR, DWORD *, LPVOID, DWORD);
|
||||
|
||||
DWORD
|
||||
FormatString(
|
||||
DWORD dwFlags,
|
||||
HINSTANCE hInstance,
|
||||
DWORD dwStringId,
|
||||
DWORD dwLanguageId,
|
||||
LPWSTR lpBuffer,
|
||||
DWORD nSize,
|
||||
va_list* Arguments
|
||||
)
|
||||
{
|
||||
DWORD dwRet;
|
||||
int len;
|
||||
WCHAR Buffer[1000];
|
||||
|
||||
len = LoadStringW(hInstance, dwStringId, (LPWSTR)Buffer, 1000);
|
||||
|
||||
if (len)
|
||||
{
|
||||
dwFlags |= FORMAT_MESSAGE_FROM_STRING;
|
||||
dwFlags &= ~(FORMAT_MESSAGE_FROM_HMODULE | FORMAT_MESSAGE_FROM_SYSTEM);
|
||||
dwRet = FormatMessageW(dwFlags, Buffer, 0, dwLanguageId, lpBuffer, nSize, Arguments);
|
||||
return dwRet;
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
static void
|
||||
ErrorMsgBox(HWND hParent, DWORD dwCaptionID, DWORD dwMessageId, ...)
|
||||
{
|
||||
HMODULE hModule;
|
||||
HLOCAL hMemCaption = NULL;
|
||||
HLOCAL hMemText = NULL;
|
||||
va_list args;
|
||||
|
||||
hModule = GetModuleHandle(NULL);
|
||||
|
||||
va_start(args, dwMessageId);
|
||||
FormatString(FORMAT_MESSAGE_ALLOCATE_BUFFER,
|
||||
NULL, dwMessageId, 0, (LPWSTR)&hMemText, 0, &args);
|
||||
va_end(args);
|
||||
|
||||
FormatString(FORMAT_MESSAGE_ALLOCATE_BUFFER,
|
||||
NULL, dwCaptionID, 0, (LPWSTR)&hMemCaption, 0, NULL);
|
||||
|
||||
MessageBoxW(hParent, hMemText, hMemCaption, MB_ICONERROR);
|
||||
|
||||
LocalFree(hMemCaption);
|
||||
LocalFree(hMemText);
|
||||
}
|
||||
|
||||
int WINAPI
|
||||
WinMain (HINSTANCE hThisInstance,
|
||||
HINSTANCE hPrevInstance,
|
||||
LPSTR lpCmdLine,
|
||||
int nCmdShow)
|
||||
{
|
||||
int argc;
|
||||
WCHAR** argv;
|
||||
DWORD dwSize;
|
||||
HWND hMainWnd;
|
||||
MSG msg;
|
||||
WNDCLASSEXW wincl;
|
||||
HINSTANCE hDLL;
|
||||
PGFRI GetFontResourceInfoW;
|
||||
|
||||
g_hInstance = hThisInstance;
|
||||
|
||||
/* Get unicode command line */
|
||||
argv = CommandLineToArgvW(GetCommandLineW(), &argc);
|
||||
if (argc < 2)
|
||||
{
|
||||
ErrorMsgBox(0, IDS_ERROR, IDS_ERROR_BADCMD, argv[1]);
|
||||
return -1;
|
||||
}
|
||||
|
||||
/* Try to add the font resource */
|
||||
if (!AddFontResourceW(argv[1]))
|
||||
{
|
||||
ErrorMsgBox(0, IDS_ERROR, IDS_ERROR_NOFONT, argv[1]);
|
||||
return -1;
|
||||
}
|
||||
|
||||
/* Load the GetFontResourceInfo function from gdi32.dll */
|
||||
hDLL = LoadLibraryW(L"GDI32.DLL");
|
||||
GetFontResourceInfoW = (PGFRI)GetProcAddress(hDLL, "GetFontResourceInfoW");
|
||||
|
||||
/* Get the font name */
|
||||
dwSize = sizeof(g_ExtLogFontW.elfFullName);
|
||||
if (!GetFontResourceInfoW(argv[1], &dwSize, g_ExtLogFontW.elfFullName, 1))
|
||||
{
|
||||
ErrorMsgBox(0, IDS_ERROR, IDS_ERROR_NOFONT, argv[1]);
|
||||
return -1;
|
||||
}
|
||||
|
||||
dwSize = sizeof(LOGFONTW);
|
||||
if (!GetFontResourceInfoW(argv[1], &dwSize, &g_ExtLogFontW.elfLogFont, 2))
|
||||
{
|
||||
ErrorMsgBox(0, IDS_ERROR, IDS_ERROR_NOFONT, argv[1]);
|
||||
return -1;
|
||||
}
|
||||
|
||||
if (!Display_InitClass(hThisInstance))
|
||||
{
|
||||
ErrorMsgBox(0, IDS_ERROR, IDS_ERROR_NOCLASS);
|
||||
return -1;
|
||||
}
|
||||
|
||||
/* The main window class */
|
||||
wincl.cbSize = sizeof (WNDCLASSEXW);
|
||||
wincl.style = CS_DBLCLKS;
|
||||
wincl.lpfnWndProc = MainWndProc;
|
||||
wincl.cbClsExtra = 0;
|
||||
wincl.cbWndExtra = 0;
|
||||
wincl.hInstance = hThisInstance;
|
||||
wincl.hIcon = LoadIcon (NULL, IDI_APPLICATION);
|
||||
wincl.hCursor = LoadCursor (NULL, IDC_ARROW);
|
||||
wincl.hbrBackground = (HBRUSH)COLOR_BACKGROUND;
|
||||
wincl.lpszMenuName = NULL;
|
||||
wincl.lpszClassName = g_szFontViewClassName;
|
||||
wincl.hIconSm = LoadIcon (NULL, IDI_APPLICATION);
|
||||
|
||||
/* Register the window class, and if it fails quit the program */
|
||||
if (!RegisterClassExW (&wincl))
|
||||
{
|
||||
ErrorMsgBox(0, IDS_ERROR, IDS_ERROR_NOCLASS);
|
||||
return 0;
|
||||
}
|
||||
|
||||
/* The class is registered, let's create the main window */
|
||||
hMainWnd = CreateWindowExW(
|
||||
0, /* Extended possibilites for variation */
|
||||
g_szFontViewClassName, /* Classname */
|
||||
g_ExtLogFontW.elfFullName,/* Title Text */
|
||||
WS_OVERLAPPEDWINDOW, /* default window */
|
||||
CW_USEDEFAULT, /* Windows decides the position */
|
||||
CW_USEDEFAULT, /* where the window ends up on the screen */
|
||||
544, /* The programs width */
|
||||
375, /* and height in pixels */
|
||||
HWND_DESKTOP, /* The window is a child-window to desktop */
|
||||
NULL, /* No menu */
|
||||
hThisInstance, /* Program Instance handler */
|
||||
NULL /* No Window Creation data */
|
||||
);
|
||||
ShowWindow(hMainWnd, nCmdShow);
|
||||
|
||||
/* Main message loop */
|
||||
while (GetMessage (&msg, NULL, 0, 0))
|
||||
{
|
||||
TranslateMessage(&msg);
|
||||
DispatchMessage(&msg);
|
||||
}
|
||||
|
||||
RemoveFontResourceW(argv[1]);
|
||||
|
||||
return msg.wParam;
|
||||
}
|
||||
|
||||
static LRESULT
|
||||
MainWnd_OnCreate(HWND hwnd)
|
||||
{
|
||||
WCHAR szQuit[MAX_BUTTONNAME];
|
||||
WCHAR szPrint[MAX_BUTTONNAME];
|
||||
WCHAR szString[MAX_STRING];
|
||||
HWND hDisplay, hButtonQuit, hButtonPrint;
|
||||
|
||||
/* create the display window */
|
||||
hDisplay = CreateWindowExW(
|
||||
0, /* Extended style */
|
||||
g_szFontDisplayClassName, /* Classname */
|
||||
L"", /* Title text */
|
||||
WS_CHILD | WS_VSCROLL, /* Window style */
|
||||
0, /* X-pos */
|
||||
HEADER_SIZE, /* Y-Pos */
|
||||
550, /* Width */
|
||||
370-HEADER_SIZE, /* Height */
|
||||
hwnd, /* Parent */
|
||||
(HMENU)IDC_DISPLAY, /* Identifier */
|
||||
g_hInstance, /* Program Instance handler */
|
||||
NULL /* Window Creation data */
|
||||
);
|
||||
|
||||
LoadStringW(g_hInstance, IDS_STRING, szString, MAX_STRING);
|
||||
SendMessage(hDisplay, FVM_SETSTRING, 0, (LPARAM)szString);
|
||||
|
||||
/* Init the display window with the font name */
|
||||
SendMessage(hDisplay, FVM_SETTYPEFACE, 0, (LPARAM)&g_ExtLogFontW);
|
||||
ShowWindow(hDisplay, SW_SHOWNORMAL);
|
||||
|
||||
/* Create the quit button */
|
||||
LoadStringW(g_hInstance, IDS_QUIT, szQuit, MAX_BUTTONNAME);
|
||||
hButtonQuit = CreateWindowExW(
|
||||
0, /* Extended style */
|
||||
L"button", /* Classname */
|
||||
szQuit, /* Title text */
|
||||
WS_CHILD | WS_VISIBLE, /* Window style */
|
||||
BUTTON_POS_X, /* X-pos */
|
||||
BUTTON_POS_Y, /* Y-Pos */
|
||||
BUTTON_WIDTH, /* Width */
|
||||
BUTTON_HEIGHT, /* Height */
|
||||
hwnd, /* Parent */
|
||||
(HMENU)IDC_QUIT, /* Identifier */
|
||||
g_hInstance, /* Program Instance handler */
|
||||
NULL /* Window Creation data */
|
||||
);
|
||||
SendMessage(hButtonQuit, WM_SETFONT, (WPARAM)GetStockObject(DEFAULT_GUI_FONT), (LPARAM)TRUE);
|
||||
|
||||
/* Create the print button */
|
||||
LoadStringW(g_hInstance, IDS_PRINT, szPrint, MAX_BUTTONNAME);
|
||||
hButtonPrint = CreateWindowExW(
|
||||
0, /* Extended style */
|
||||
L"button", /* Classname */
|
||||
szPrint, /* Title text */
|
||||
WS_CHILD | WS_VISIBLE, /* Window style */
|
||||
450, /* X-pos */
|
||||
BUTTON_POS_Y, /* Y-Pos */
|
||||
BUTTON_WIDTH, /* Width */
|
||||
BUTTON_HEIGHT, /* Height */
|
||||
hwnd, /* Parent */
|
||||
(HMENU)IDC_PRINT, /* Identifier */
|
||||
g_hInstance, /* Program Instance handler */
|
||||
NULL /* Window Creation data */
|
||||
);
|
||||
SendMessage(hButtonPrint, WM_SETFONT, (WPARAM)GetStockObject(DEFAULT_GUI_FONT), (LPARAM)TRUE);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
static LRESULT
|
||||
MainWnd_OnSize(HWND hwnd)
|
||||
{
|
||||
RECT rc;
|
||||
|
||||
GetClientRect(hwnd, &rc);
|
||||
MoveWindow(GetDlgItem(hwnd, IDC_PRINT), rc.right - BUTTON_WIDTH - BUTTON_POS_X, BUTTON_POS_Y, BUTTON_WIDTH, BUTTON_HEIGHT, TRUE);
|
||||
MoveWindow(GetDlgItem(hwnd, IDC_DISPLAY), 0, HEADER_SIZE, rc.right, rc.bottom - HEADER_SIZE, TRUE);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
static LRESULT
|
||||
MainWnd_OnPaint(HWND hwnd)
|
||||
{
|
||||
HDC hDC;
|
||||
PAINTSTRUCT ps;
|
||||
RECT rc;
|
||||
|
||||
hDC = BeginPaint(hwnd, &ps);
|
||||
GetClientRect(hwnd, &rc);
|
||||
rc.top = HEADER_SIZE - 2;
|
||||
rc.bottom = HEADER_SIZE;
|
||||
FillRect(hDC, &rc, GetStockObject(GRAY_BRUSH));
|
||||
EndPaint(hwnd, &ps);
|
||||
return 0;
|
||||
}
|
||||
|
||||
LRESULT CALLBACK
|
||||
MainWndProc(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam)
|
||||
{
|
||||
switch (message)
|
||||
{
|
||||
case WM_CREATE:
|
||||
return MainWnd_OnCreate(hwnd);
|
||||
|
||||
case WM_PAINT:
|
||||
return MainWnd_OnPaint(hwnd);
|
||||
|
||||
case WM_SIZE:
|
||||
return MainWnd_OnSize(hwnd);
|
||||
|
||||
case WM_COMMAND:
|
||||
switch(LOWORD(wParam))
|
||||
{
|
||||
case IDC_QUIT:
|
||||
PostQuitMessage (0); /* send a WM_QUIT to the message queue */
|
||||
break;
|
||||
|
||||
case IDC_PRINT:
|
||||
MessageBox(hwnd, TEXT("This function is unimplemented"), TEXT("Unimplemented"), MB_OK);
|
||||
break;
|
||||
}
|
||||
break;
|
||||
|
||||
case WM_DESTROY:
|
||||
PostQuitMessage (0); /* send a WM_QUIT to the message queue */
|
||||
break;
|
||||
|
||||
default: /* for messages that we don't deal with */
|
||||
return DefWindowProcW(hwnd, message, wParam, lParam);
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
/* EOF */
|
||||
/*
|
||||
* fontview
|
||||
*
|
||||
* fontview.c
|
||||
*
|
||||
* Copyright (C) 2007 Timo Kreuzer <timo <dot> kreuzer <at> reactos <dot> org>
|
||||
*
|
||||
* 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.
|
||||
*
|
||||
* This 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.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||
*/
|
||||
|
||||
#include "fontview.h"
|
||||
|
||||
HINSTANCE g_hInstance;
|
||||
EXTLOGFONTW g_ExtLogFontW;
|
||||
|
||||
static const WCHAR g_szFontViewClassName[] = L"FontViewWClass";
|
||||
|
||||
/* Tye definition for the GetFontResourceInfo function */
|
||||
typedef BOOL (WINAPI *PGFRI)(LPCWSTR, DWORD *, LPVOID, DWORD);
|
||||
|
||||
DWORD
|
||||
FormatString(
|
||||
DWORD dwFlags,
|
||||
HINSTANCE hInstance,
|
||||
DWORD dwStringId,
|
||||
DWORD dwLanguageId,
|
||||
LPWSTR lpBuffer,
|
||||
DWORD nSize,
|
||||
va_list* Arguments
|
||||
)
|
||||
{
|
||||
DWORD dwRet;
|
||||
int len;
|
||||
WCHAR Buffer[1000];
|
||||
|
||||
len = LoadStringW(hInstance, dwStringId, (LPWSTR)Buffer, 1000);
|
||||
|
||||
if (len)
|
||||
{
|
||||
dwFlags |= FORMAT_MESSAGE_FROM_STRING;
|
||||
dwFlags &= ~(FORMAT_MESSAGE_FROM_HMODULE | FORMAT_MESSAGE_FROM_SYSTEM);
|
||||
dwRet = FormatMessageW(dwFlags, Buffer, 0, dwLanguageId, lpBuffer, nSize, Arguments);
|
||||
return dwRet;
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
static void
|
||||
ErrorMsgBox(HWND hParent, DWORD dwCaptionID, DWORD dwMessageId, ...)
|
||||
{
|
||||
HMODULE hModule;
|
||||
HLOCAL hMemCaption = NULL;
|
||||
HLOCAL hMemText = NULL;
|
||||
va_list args;
|
||||
|
||||
hModule = GetModuleHandle(NULL);
|
||||
|
||||
va_start(args, dwMessageId);
|
||||
FormatString(FORMAT_MESSAGE_ALLOCATE_BUFFER,
|
||||
NULL, dwMessageId, 0, (LPWSTR)&hMemText, 0, &args);
|
||||
va_end(args);
|
||||
|
||||
FormatString(FORMAT_MESSAGE_ALLOCATE_BUFFER,
|
||||
NULL, dwCaptionID, 0, (LPWSTR)&hMemCaption, 0, NULL);
|
||||
|
||||
MessageBoxW(hParent, hMemText, hMemCaption, MB_ICONERROR);
|
||||
|
||||
LocalFree(hMemCaption);
|
||||
LocalFree(hMemText);
|
||||
}
|
||||
|
||||
int WINAPI
|
||||
WinMain (HINSTANCE hThisInstance,
|
||||
HINSTANCE hPrevInstance,
|
||||
LPSTR lpCmdLine,
|
||||
int nCmdShow)
|
||||
{
|
||||
int argc;
|
||||
WCHAR** argv;
|
||||
DWORD dwSize;
|
||||
HWND hMainWnd;
|
||||
MSG msg;
|
||||
WNDCLASSEXW wincl;
|
||||
HINSTANCE hDLL;
|
||||
PGFRI GetFontResourceInfoW;
|
||||
|
||||
g_hInstance = hThisInstance;
|
||||
|
||||
/* Get unicode command line */
|
||||
argv = CommandLineToArgvW(GetCommandLineW(), &argc);
|
||||
if (argc < 2)
|
||||
{
|
||||
ErrorMsgBox(0, IDS_ERROR, IDS_ERROR_BADCMD, argv[1]);
|
||||
return -1;
|
||||
}
|
||||
|
||||
/* Try to add the font resource */
|
||||
if (!AddFontResourceW(argv[1]))
|
||||
{
|
||||
ErrorMsgBox(0, IDS_ERROR, IDS_ERROR_NOFONT, argv[1]);
|
||||
return -1;
|
||||
}
|
||||
|
||||
/* Load the GetFontResourceInfo function from gdi32.dll */
|
||||
hDLL = LoadLibraryW(L"GDI32.DLL");
|
||||
GetFontResourceInfoW = (PGFRI)GetProcAddress(hDLL, "GetFontResourceInfoW");
|
||||
|
||||
/* Get the font name */
|
||||
dwSize = sizeof(g_ExtLogFontW.elfFullName);
|
||||
if (!GetFontResourceInfoW(argv[1], &dwSize, g_ExtLogFontW.elfFullName, 1))
|
||||
{
|
||||
ErrorMsgBox(0, IDS_ERROR, IDS_ERROR_NOFONT, argv[1]);
|
||||
return -1;
|
||||
}
|
||||
|
||||
dwSize = sizeof(LOGFONTW);
|
||||
if (!GetFontResourceInfoW(argv[1], &dwSize, &g_ExtLogFontW.elfLogFont, 2))
|
||||
{
|
||||
ErrorMsgBox(0, IDS_ERROR, IDS_ERROR_NOFONT, argv[1]);
|
||||
return -1;
|
||||
}
|
||||
|
||||
if (!Display_InitClass(hThisInstance))
|
||||
{
|
||||
ErrorMsgBox(0, IDS_ERROR, IDS_ERROR_NOCLASS);
|
||||
return -1;
|
||||
}
|
||||
|
||||
/* The main window class */
|
||||
wincl.cbSize = sizeof (WNDCLASSEXW);
|
||||
wincl.style = CS_DBLCLKS;
|
||||
wincl.lpfnWndProc = MainWndProc;
|
||||
wincl.cbClsExtra = 0;
|
||||
wincl.cbWndExtra = 0;
|
||||
wincl.hInstance = hThisInstance;
|
||||
wincl.hIcon = LoadIcon (NULL, IDI_APPLICATION);
|
||||
wincl.hCursor = LoadCursor (NULL, IDC_ARROW);
|
||||
wincl.hbrBackground = (HBRUSH)COLOR_BACKGROUND;
|
||||
wincl.lpszMenuName = NULL;
|
||||
wincl.lpszClassName = g_szFontViewClassName;
|
||||
wincl.hIconSm = LoadIcon (NULL, IDI_APPLICATION);
|
||||
|
||||
/* Register the window class, and if it fails quit the program */
|
||||
if (!RegisterClassExW (&wincl))
|
||||
{
|
||||
ErrorMsgBox(0, IDS_ERROR, IDS_ERROR_NOCLASS);
|
||||
return 0;
|
||||
}
|
||||
|
||||
/* The class is registered, let's create the main window */
|
||||
hMainWnd = CreateWindowExW(
|
||||
0, /* Extended possibilites for variation */
|
||||
g_szFontViewClassName, /* Classname */
|
||||
g_ExtLogFontW.elfFullName,/* Title Text */
|
||||
WS_OVERLAPPEDWINDOW, /* default window */
|
||||
CW_USEDEFAULT, /* Windows decides the position */
|
||||
CW_USEDEFAULT, /* where the window ends up on the screen */
|
||||
544, /* The programs width */
|
||||
375, /* and height in pixels */
|
||||
HWND_DESKTOP, /* The window is a child-window to desktop */
|
||||
NULL, /* No menu */
|
||||
hThisInstance, /* Program Instance handler */
|
||||
NULL /* No Window Creation data */
|
||||
);
|
||||
ShowWindow(hMainWnd, nCmdShow);
|
||||
|
||||
/* Main message loop */
|
||||
while (GetMessage (&msg, NULL, 0, 0))
|
||||
{
|
||||
TranslateMessage(&msg);
|
||||
DispatchMessage(&msg);
|
||||
}
|
||||
|
||||
RemoveFontResourceW(argv[1]);
|
||||
|
||||
return msg.wParam;
|
||||
}
|
||||
|
||||
static LRESULT
|
||||
MainWnd_OnCreate(HWND hwnd)
|
||||
{
|
||||
WCHAR szQuit[MAX_BUTTONNAME];
|
||||
WCHAR szPrint[MAX_BUTTONNAME];
|
||||
WCHAR szString[MAX_STRING];
|
||||
HWND hDisplay, hButtonQuit, hButtonPrint;
|
||||
|
||||
/* create the display window */
|
||||
hDisplay = CreateWindowExW(
|
||||
0, /* Extended style */
|
||||
g_szFontDisplayClassName, /* Classname */
|
||||
L"", /* Title text */
|
||||
WS_CHILD | WS_VSCROLL, /* Window style */
|
||||
0, /* X-pos */
|
||||
HEADER_SIZE, /* Y-Pos */
|
||||
550, /* Width */
|
||||
370-HEADER_SIZE, /* Height */
|
||||
hwnd, /* Parent */
|
||||
(HMENU)IDC_DISPLAY, /* Identifier */
|
||||
g_hInstance, /* Program Instance handler */
|
||||
NULL /* Window Creation data */
|
||||
);
|
||||
|
||||
LoadStringW(g_hInstance, IDS_STRING, szString, MAX_STRING);
|
||||
SendMessage(hDisplay, FVM_SETSTRING, 0, (LPARAM)szString);
|
||||
|
||||
/* Init the display window with the font name */
|
||||
SendMessage(hDisplay, FVM_SETTYPEFACE, 0, (LPARAM)&g_ExtLogFontW);
|
||||
ShowWindow(hDisplay, SW_SHOWNORMAL);
|
||||
|
||||
/* Create the quit button */
|
||||
LoadStringW(g_hInstance, IDS_QUIT, szQuit, MAX_BUTTONNAME);
|
||||
hButtonQuit = CreateWindowExW(
|
||||
0, /* Extended style */
|
||||
L"button", /* Classname */
|
||||
szQuit, /* Title text */
|
||||
WS_CHILD | WS_VISIBLE, /* Window style */
|
||||
BUTTON_POS_X, /* X-pos */
|
||||
BUTTON_POS_Y, /* Y-Pos */
|
||||
BUTTON_WIDTH, /* Width */
|
||||
BUTTON_HEIGHT, /* Height */
|
||||
hwnd, /* Parent */
|
||||
(HMENU)IDC_QUIT, /* Identifier */
|
||||
g_hInstance, /* Program Instance handler */
|
||||
NULL /* Window Creation data */
|
||||
);
|
||||
SendMessage(hButtonQuit, WM_SETFONT, (WPARAM)GetStockObject(DEFAULT_GUI_FONT), (LPARAM)TRUE);
|
||||
|
||||
/* Create the print button */
|
||||
LoadStringW(g_hInstance, IDS_PRINT, szPrint, MAX_BUTTONNAME);
|
||||
hButtonPrint = CreateWindowExW(
|
||||
0, /* Extended style */
|
||||
L"button", /* Classname */
|
||||
szPrint, /* Title text */
|
||||
WS_CHILD | WS_VISIBLE, /* Window style */
|
||||
450, /* X-pos */
|
||||
BUTTON_POS_Y, /* Y-Pos */
|
||||
BUTTON_WIDTH, /* Width */
|
||||
BUTTON_HEIGHT, /* Height */
|
||||
hwnd, /* Parent */
|
||||
(HMENU)IDC_PRINT, /* Identifier */
|
||||
g_hInstance, /* Program Instance handler */
|
||||
NULL /* Window Creation data */
|
||||
);
|
||||
SendMessage(hButtonPrint, WM_SETFONT, (WPARAM)GetStockObject(DEFAULT_GUI_FONT), (LPARAM)TRUE);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
static LRESULT
|
||||
MainWnd_OnSize(HWND hwnd)
|
||||
{
|
||||
RECT rc;
|
||||
|
||||
GetClientRect(hwnd, &rc);
|
||||
MoveWindow(GetDlgItem(hwnd, IDC_PRINT), rc.right - BUTTON_WIDTH - BUTTON_POS_X, BUTTON_POS_Y, BUTTON_WIDTH, BUTTON_HEIGHT, TRUE);
|
||||
MoveWindow(GetDlgItem(hwnd, IDC_DISPLAY), 0, HEADER_SIZE, rc.right, rc.bottom - HEADER_SIZE, TRUE);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
static LRESULT
|
||||
MainWnd_OnPaint(HWND hwnd)
|
||||
{
|
||||
HDC hDC;
|
||||
PAINTSTRUCT ps;
|
||||
RECT rc;
|
||||
|
||||
hDC = BeginPaint(hwnd, &ps);
|
||||
GetClientRect(hwnd, &rc);
|
||||
rc.top = HEADER_SIZE - 2;
|
||||
rc.bottom = HEADER_SIZE;
|
||||
FillRect(hDC, &rc, GetStockObject(GRAY_BRUSH));
|
||||
EndPaint(hwnd, &ps);
|
||||
return 0;
|
||||
}
|
||||
|
||||
LRESULT CALLBACK
|
||||
MainWndProc(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam)
|
||||
{
|
||||
switch (message)
|
||||
{
|
||||
case WM_CREATE:
|
||||
return MainWnd_OnCreate(hwnd);
|
||||
|
||||
case WM_PAINT:
|
||||
return MainWnd_OnPaint(hwnd);
|
||||
|
||||
case WM_SIZE:
|
||||
return MainWnd_OnSize(hwnd);
|
||||
|
||||
case WM_COMMAND:
|
||||
switch(LOWORD(wParam))
|
||||
{
|
||||
case IDC_QUIT:
|
||||
PostQuitMessage (0); /* send a WM_QUIT to the message queue */
|
||||
break;
|
||||
|
||||
case IDC_PRINT:
|
||||
MessageBox(hwnd, TEXT("This function is unimplemented"), TEXT("Unimplemented"), MB_OK);
|
||||
break;
|
||||
}
|
||||
break;
|
||||
|
||||
case WM_DESTROY:
|
||||
PostQuitMessage (0); /* send a WM_QUIT to the message queue */
|
||||
break;
|
||||
|
||||
default: /* for messages that we don't deal with */
|
||||
return DefWindowProcW(hwnd, message, wParam, lParam);
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
/* EOF */
|
||||
|
||||
@@ -1,21 +1,21 @@
|
||||
#include <windows.h>
|
||||
|
||||
#include "resource.h"
|
||||
#include "display.h"
|
||||
|
||||
#define MAX_LOADSTRING 50
|
||||
#define MAX_BUTTONNAME 30
|
||||
|
||||
#define HEADER_SIZE 37
|
||||
#define BUTTON_POS_X 6
|
||||
#define BUTTON_POS_Y 8
|
||||
#define BUTTON_WIDTH 72
|
||||
#define BUTTON_HEIGHT 21
|
||||
|
||||
#define IDC_QUIT 1001
|
||||
#define IDC_PRINT 1002
|
||||
#define IDC_DISPLAY 1003
|
||||
|
||||
LRESULT CALLBACK MainWndProc(HWND, UINT, WPARAM, LPARAM);
|
||||
|
||||
BOOL LoadFont(LPWSTR lpCmdLine);
|
||||
#include <windows.h>
|
||||
|
||||
#include "resource.h"
|
||||
#include "display.h"
|
||||
|
||||
#define MAX_LOADSTRING 50
|
||||
#define MAX_BUTTONNAME 30
|
||||
|
||||
#define HEADER_SIZE 37
|
||||
#define BUTTON_POS_X 6
|
||||
#define BUTTON_POS_Y 8
|
||||
#define BUTTON_WIDTH 72
|
||||
#define BUTTON_HEIGHT 21
|
||||
|
||||
#define IDC_QUIT 1001
|
||||
#define IDC_PRINT 1002
|
||||
#define IDC_DISPLAY 1003
|
||||
|
||||
LRESULT CALLBACK MainWndProc(HWND, UINT, WPARAM, LPARAM);
|
||||
|
||||
BOOL LoadFont(LPWSTR lpCmdLine);
|
||||
|
||||
@@ -1,10 +1,10 @@
|
||||
<module name="fontview" type="win32gui" installbase="system32" installname="fontview.exe">
|
||||
<include base="fontview">.</include>
|
||||
<library>gdi32</library>
|
||||
<library>user32</library>
|
||||
<library>shell32</library>
|
||||
<library>kernel32</library>
|
||||
<file>fontview.c</file>
|
||||
<file>display.c</file>
|
||||
<file>fontview.rc</file>
|
||||
</module>
|
||||
<module name="fontview" type="win32gui" installbase="system32" installname="fontview.exe">
|
||||
<include base="fontview">.</include>
|
||||
<library>gdi32</library>
|
||||
<library>user32</library>
|
||||
<library>shell32</library>
|
||||
<library>kernel32</library>
|
||||
<file>fontview.c</file>
|
||||
<file>display.c</file>
|
||||
<file>fontview.rc</file>
|
||||
</module>
|
||||
|
||||
@@ -1,18 +1,18 @@
|
||||
/*
|
||||
* Spanish language file by Javier Remacha <2007-09-21>
|
||||
*/
|
||||
LANGUAGE LANG_SPANISH, SUBLANG_NEUTRAL
|
||||
|
||||
STRINGTABLE DISCARDABLE
|
||||
BEGIN
|
||||
IDS_QUIT, "Cerrar"
|
||||
IDS_PRINT, "Imprimir"
|
||||
IDS_STRING, "Haz el amor y no la guerra. 1234567890"
|
||||
IDS_ERROR, "Error"
|
||||
IDS_ERROR_NOMEM, "No hay memoria suficiente para completar la operación."
|
||||
IDS_ERROR_NOFONT, "El archivo %1 no es un archivo válido de fuente."
|
||||
IDS_ERROR_NOCLASS, "No es posible iniciar la clase."
|
||||
IDS_ERROR_BADCMD, "No hay archivo de fuente.\nSyntax:\n fontview.exe <font file>"
|
||||
END
|
||||
|
||||
|
||||
/*
|
||||
* Spanish language file by Javier Remacha <2007-09-21>
|
||||
*/
|
||||
LANGUAGE LANG_SPANISH, SUBLANG_NEUTRAL
|
||||
|
||||
STRINGTABLE DISCARDABLE
|
||||
BEGIN
|
||||
IDS_QUIT, "Cerrar"
|
||||
IDS_PRINT, "Imprimir"
|
||||
IDS_STRING, "Haz el amor y no la guerra. 1234567890"
|
||||
IDS_ERROR, "Error"
|
||||
IDS_ERROR_NOMEM, "No hay memoria suficiente para completar la operación."
|
||||
IDS_ERROR_NOFONT, "El archivo %1 no es un archivo válido de fuente."
|
||||
IDS_ERROR_NOCLASS, "No es posible iniciar la clase."
|
||||
IDS_ERROR_BADCMD, "No hay archivo de fuente.\nSyntax:\n fontview.exe <font file>"
|
||||
END
|
||||
|
||||
|
||||
|
||||
@@ -1,15 +1,15 @@
|
||||
|
||||
#define IDS_ERROR 100
|
||||
#define IDS_ERROR_NOMEM 101
|
||||
#define IDS_ERROR_NOFONT 102
|
||||
#define IDS_ERROR_NOCLASS 103
|
||||
#define IDS_ERROR_BADCMD 104
|
||||
|
||||
#define IDS_QUIT 500
|
||||
#define IDS_PRINT 501
|
||||
#define IDS_STRING 502
|
||||
|
||||
#define IDS_CHARSLOWER 700
|
||||
#define IDS_CHARSUPPER 701
|
||||
#define IDS_SPECIALCHARS 702
|
||||
|
||||
|
||||
#define IDS_ERROR 100
|
||||
#define IDS_ERROR_NOMEM 101
|
||||
#define IDS_ERROR_NOFONT 102
|
||||
#define IDS_ERROR_NOCLASS 103
|
||||
#define IDS_ERROR_BADCMD 104
|
||||
|
||||
#define IDS_QUIT 500
|
||||
#define IDS_PRINT 501
|
||||
#define IDS_STRING 502
|
||||
|
||||
#define IDS_CHARSLOWER 700
|
||||
#define IDS_CHARSUPPER 701
|
||||
#define IDS_SPECIALCHARS 702
|
||||
|
||||
|
||||
@@ -1,10 +1,10 @@
|
||||
<?xml version="1.0"?>
|
||||
<!DOCTYPE module SYSTEM "../../../tools/rbuild/project.dtd">
|
||||
<module name="hh" type="win32gui" installbase="system32" installname="hh.exe" unicode="no">
|
||||
<include base="hh">.</include>
|
||||
<library>kernel32</library>
|
||||
<library>user32</library>
|
||||
<library>gdi32</library>
|
||||
<file>main.c</file>
|
||||
<file>hh.rc</file>
|
||||
</module>
|
||||
<?xml version="1.0"?>
|
||||
<!DOCTYPE module SYSTEM "../../../tools/rbuild/project.dtd">
|
||||
<module name="hh" type="win32gui" installbase="system32" installname="hh.exe" unicode="no">
|
||||
<include base="hh">.</include>
|
||||
<library>kernel32</library>
|
||||
<library>user32</library>
|
||||
<library>gdi32</library>
|
||||
<file>main.c</file>
|
||||
<file>hh.rc</file>
|
||||
</module>
|
||||
|
||||
@@ -1,23 +1,23 @@
|
||||
#include <windows.h>
|
||||
|
||||
typedef int WINAPI DOWINMAIN(HMODULE hMod, LPSTR cmdline);
|
||||
|
||||
int WINAPI
|
||||
WinMain(HINSTANCE hInst,
|
||||
HINSTANCE hPrevInst,
|
||||
LPSTR cmdline,
|
||||
int cmdshow)
|
||||
{
|
||||
HMODULE hModule;
|
||||
DOWINMAIN *doWinMain;
|
||||
int ret = -1;
|
||||
|
||||
hModule = LoadLibraryA("hhctrl.ocx");
|
||||
doWinMain = (DOWINMAIN*) GetProcAddress(hModule, "doWinMain");
|
||||
|
||||
ret = doWinMain(hInst, cmdline);
|
||||
|
||||
FreeLibrary(hModule);
|
||||
|
||||
return ret;
|
||||
}
|
||||
#include <windows.h>
|
||||
|
||||
typedef int WINAPI DOWINMAIN(HMODULE hMod, LPSTR cmdline);
|
||||
|
||||
int WINAPI
|
||||
WinMain(HINSTANCE hInst,
|
||||
HINSTANCE hPrevInst,
|
||||
LPSTR cmdline,
|
||||
int cmdshow)
|
||||
{
|
||||
HMODULE hModule;
|
||||
DOWINMAIN *doWinMain;
|
||||
int ret = -1;
|
||||
|
||||
hModule = LoadLibraryA("hhctrl.ocx");
|
||||
doWinMain = (DOWINMAIN*) GetProcAddress(hModule, "doWinMain");
|
||||
|
||||
ret = doWinMain(hInst, cmdline);
|
||||
|
||||
FreeLibrary(hModule);
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
@@ -1,15 +1,15 @@
|
||||
LANGUAGE LANG_ITALIAN, SUBLANG_NEUTRAL
|
||||
|
||||
STRINGTABLE DISCARDABLE
|
||||
BEGIN
|
||||
|
||||
IDS_USAGE, "Termina una sessione.\n\n\
|
||||
/v\t\tVisualizza le informazioni sulle azioni effettuate.\n\
|
||||
/?\t\tVisualizza questa guida.\n\n"
|
||||
|
||||
IDS_LOGOFF_REMOTE, "Sto terminando una sessione su una macchina remota."
|
||||
IDS_LOGOFF_LOCAL, "Sto terminando la sessione corrente su questa macchina."
|
||||
|
||||
IDS_ILLEGAL_PARAM, "Parametri non validi\n"
|
||||
END
|
||||
/* EOF */
|
||||
LANGUAGE LANG_ITALIAN, SUBLANG_NEUTRAL
|
||||
|
||||
STRINGTABLE DISCARDABLE
|
||||
BEGIN
|
||||
|
||||
IDS_USAGE, "Termina una sessione.\n\n\
|
||||
/v\t\tVisualizza le informazioni sulle azioni effettuate.\n\
|
||||
/?\t\tVisualizza questa guida.\n\n"
|
||||
|
||||
IDS_LOGOFF_REMOTE, "Sto terminando una sessione su una macchina remota."
|
||||
IDS_LOGOFF_LOCAL, "Sto terminando la sessione corrente su questa macchina."
|
||||
|
||||
IDS_ILLEGAL_PARAM, "Parametri non validi\n"
|
||||
END
|
||||
/* EOF */
|
||||
|
||||
@@ -1,68 +1,68 @@
|
||||
/*
|
||||
* Spanish language file by Javier Remacha <2007-09-21>
|
||||
*/
|
||||
LANGUAGE LANG_SPANISH, SUBLANG_NEUTRAL
|
||||
|
||||
IDC_MAGNIFIER MENU
|
||||
BEGIN
|
||||
POPUP "&Archivo"
|
||||
BEGIN
|
||||
MENUITEM "S&alir", IDM_EXIT
|
||||
MENUITEM "&Opciones", IDM_OPTIONS
|
||||
MENUITEM SEPARATOR
|
||||
MENUITEM "&Acerca de...", IDM_ABOUT
|
||||
END
|
||||
END
|
||||
|
||||
IDC_MAGNIFIER ACCELERATORS
|
||||
BEGIN
|
||||
"?", IDM_ABOUT, ASCII, ALT
|
||||
"/", IDM_ABOUT, ASCII, ALT
|
||||
END
|
||||
|
||||
IDD_ABOUTBOX DIALOGEX 22, 17, 220, 75
|
||||
STYLE DS_SHELLFONT | DS_MODALFRAME | DS_CENTER | WS_CAPTION | WS_SYSMENU
|
||||
CAPTION "Acerca de"
|
||||
FONT 8, "MS Shell Dlg", 0, 0, 0x0
|
||||
BEGIN
|
||||
ICON IDI_ICON,IDC_MYICON,14,9,20,20
|
||||
LTEXT "Magnifier Version 1.0",IDC_STATIC,49,10,119,8,SS_NOPREFIX
|
||||
LTEXT "Copyright (C) 2007 Marc Piulachs ([email protected])",IDC_STATIC,48,24,125,22
|
||||
PUSHBUTTON "Aceptar",IDOK,162,48,50,14
|
||||
END
|
||||
|
||||
IDD_DIALOGOPTIONS DIALOGEX 0, 0, 153, 182
|
||||
STYLE DS_SHELLFONT | DS_MODALFRAME | DS_CENTER | WS_MINIMIZEBOX | WS_POPUP | WS_CAPTION | WS_SYSMENU
|
||||
CAPTION "Configurar Magnifier"
|
||||
FONT 8, "MS Shell Dlg", 400, 0, 0x1
|
||||
BEGIN
|
||||
DEFPUSHBUTTON "Salir",IDOK,96,161,50,14
|
||||
PUSHBUTTON "Ayuda",IDC_BUTTON_HELP,38,161,50,14
|
||||
LTEXT "Nivel de aumento:",IDC_STATIC,6,8,68,8
|
||||
COMBOBOX IDC_ZOOM,72,6,63,66,CBS_DROPDOWNLIST | CBS_SORT | WS_VSCROLL | WS_TABSTOP
|
||||
GROUPBOX "Rastreando",IDC_STATIC,7,25,139,59
|
||||
GROUPBOX "Presentación",IDC_STATIC,7,87,139,57
|
||||
CONTROL "Seguir el cursor del ratón",IDC_FOLLOWMOUSECHECK,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,18,42,114,10
|
||||
CONTROL "Seguir el foco del teclado",IDC_FOLLOWKEYBOARDCHECK,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,18,54,114,10
|
||||
CONTROL "Seguir la edición de texto",IDC_FOLLOWTEXTEDITINGCHECK,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,18,66,114,10
|
||||
CONTROL "Invertir colores",IDC_INVERTCOLORSCHECK,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,18,102,114,10
|
||||
CONTROL "Comenzar minimizado",IDC_STARTMINIMIZEDCHECK,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,18,114,114,10
|
||||
CONTROL "Mostrar Magnifier",IDC_SHOWMAGNIFIERCHECK,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,18,126,114,10
|
||||
END
|
||||
|
||||
IDD_WARNINGDIALOG DIALOGEX 0, 0, 250, 97
|
||||
STYLE DS_SHELLFONT | DS_MODALFRAME | DS_CENTER | WS_POPUP | WS_CAPTION
|
||||
CAPTION "ReactOS Magnifier"
|
||||
FONT 8, "MS Shell Dlg", 400, 0, 0x1
|
||||
BEGIN
|
||||
DEFPUSHBUTTON "Aceptar",IDOK,193,76,50,14
|
||||
ICON IDI_ICON,IDC_STATIC,7,17,20,20
|
||||
LTEXT "Magnifier está pensada para proporcionar un nivel mínimo de funcionalidad para usuarios con pequeñas deficiencias visuales. La mayoría de los usuarios con deficiencias visuales necesitarán una utilidad de mayor ampliación para el uso diario.",IDC_STATIC,36,7,207,33
|
||||
CONTROL "No volver a mostrar este mensaje",IDC_SHOWWARNINGCHECK, "Button",BS_AUTOCHECKBOX | WS_TABSTOP,43,80,137,10
|
||||
END
|
||||
|
||||
STRINGTABLE
|
||||
BEGIN
|
||||
IDS_APP_TITLE "Magnifier"
|
||||
IDC_MAGNIFIER "MAGNIFIER"
|
||||
END
|
||||
/*
|
||||
* Spanish language file by Javier Remacha <2007-09-21>
|
||||
*/
|
||||
LANGUAGE LANG_SPANISH, SUBLANG_NEUTRAL
|
||||
|
||||
IDC_MAGNIFIER MENU
|
||||
BEGIN
|
||||
POPUP "&Archivo"
|
||||
BEGIN
|
||||
MENUITEM "S&alir", IDM_EXIT
|
||||
MENUITEM "&Opciones", IDM_OPTIONS
|
||||
MENUITEM SEPARATOR
|
||||
MENUITEM "&Acerca de...", IDM_ABOUT
|
||||
END
|
||||
END
|
||||
|
||||
IDC_MAGNIFIER ACCELERATORS
|
||||
BEGIN
|
||||
"?", IDM_ABOUT, ASCII, ALT
|
||||
"/", IDM_ABOUT, ASCII, ALT
|
||||
END
|
||||
|
||||
IDD_ABOUTBOX DIALOGEX 22, 17, 220, 75
|
||||
STYLE DS_SHELLFONT | DS_MODALFRAME | DS_CENTER | WS_CAPTION | WS_SYSMENU
|
||||
CAPTION "Acerca de"
|
||||
FONT 8, "MS Shell Dlg", 0, 0, 0x0
|
||||
BEGIN
|
||||
ICON IDI_ICON,IDC_MYICON,14,9,20,20
|
||||
LTEXT "Magnifier Version 1.0",IDC_STATIC,49,10,119,8,SS_NOPREFIX
|
||||
LTEXT "Copyright (C) 2007 Marc Piulachs ([email protected])",IDC_STATIC,48,24,125,22
|
||||
PUSHBUTTON "Aceptar",IDOK,162,48,50,14
|
||||
END
|
||||
|
||||
IDD_DIALOGOPTIONS DIALOGEX 0, 0, 153, 182
|
||||
STYLE DS_SHELLFONT | DS_MODALFRAME | DS_CENTER | WS_MINIMIZEBOX | WS_POPUP | WS_CAPTION | WS_SYSMENU
|
||||
CAPTION "Configurar Magnifier"
|
||||
FONT 8, "MS Shell Dlg", 400, 0, 0x1
|
||||
BEGIN
|
||||
DEFPUSHBUTTON "Salir",IDOK,96,161,50,14
|
||||
PUSHBUTTON "Ayuda",IDC_BUTTON_HELP,38,161,50,14
|
||||
LTEXT "Nivel de aumento:",IDC_STATIC,6,8,68,8
|
||||
COMBOBOX IDC_ZOOM,72,6,63,66,CBS_DROPDOWNLIST | CBS_SORT | WS_VSCROLL | WS_TABSTOP
|
||||
GROUPBOX "Rastreando",IDC_STATIC,7,25,139,59
|
||||
GROUPBOX "Presentación",IDC_STATIC,7,87,139,57
|
||||
CONTROL "Seguir el cursor del ratón",IDC_FOLLOWMOUSECHECK,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,18,42,114,10
|
||||
CONTROL "Seguir el foco del teclado",IDC_FOLLOWKEYBOARDCHECK,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,18,54,114,10
|
||||
CONTROL "Seguir la edición de texto",IDC_FOLLOWTEXTEDITINGCHECK,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,18,66,114,10
|
||||
CONTROL "Invertir colores",IDC_INVERTCOLORSCHECK,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,18,102,114,10
|
||||
CONTROL "Comenzar minimizado",IDC_STARTMINIMIZEDCHECK,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,18,114,114,10
|
||||
CONTROL "Mostrar Magnifier",IDC_SHOWMAGNIFIERCHECK,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,18,126,114,10
|
||||
END
|
||||
|
||||
IDD_WARNINGDIALOG DIALOGEX 0, 0, 250, 97
|
||||
STYLE DS_SHELLFONT | DS_MODALFRAME | DS_CENTER | WS_POPUP | WS_CAPTION
|
||||
CAPTION "ReactOS Magnifier"
|
||||
FONT 8, "MS Shell Dlg", 400, 0, 0x1
|
||||
BEGIN
|
||||
DEFPUSHBUTTON "Aceptar",IDOK,193,76,50,14
|
||||
ICON IDI_ICON,IDC_STATIC,7,17,20,20
|
||||
LTEXT "Magnifier está pensada para proporcionar un nivel mínimo de funcionalidad para usuarios con pequeñas deficiencias visuales. La mayoría de los usuarios con deficiencias visuales necesitarán una utilidad de mayor ampliación para el uso diario.",IDC_STATIC,36,7,207,33
|
||||
CONTROL "No volver a mostrar este mensaje",IDC_SHOWWARNINGCHECK, "Button",BS_AUTOCHECKBOX | WS_TABSTOP,43,80,137,10
|
||||
END
|
||||
|
||||
STRINGTABLE
|
||||
BEGIN
|
||||
IDS_APP_TITLE "Magnifier"
|
||||
IDC_MAGNIFIER "MAGNIFIER"
|
||||
END
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -1,36 +1,36 @@
|
||||
/*
|
||||
* WineCalc (magnifier.h)
|
||||
*
|
||||
* Copyright 2007 Marc Piulachs
|
||||
*
|
||||
* This library is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU Lesser General Public
|
||||
* License as published by the Free Software Foundation; either
|
||||
* version 2.1 of the License, or (at your option) any later version.
|
||||
*
|
||||
* This library 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
|
||||
* Lesser General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Lesser General Public
|
||||
* License along with this library; if not, write to the Free Software
|
||||
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||
*/
|
||||
|
||||
//////////////////////////////////////////////////////////////////
|
||||
|
||||
extern int iZoom;
|
||||
|
||||
extern BOOL bShowWarning;
|
||||
|
||||
extern BOOL bFollowMouse;
|
||||
extern BOOL bFollowFocus;
|
||||
extern BOOL bFollowCaret;
|
||||
|
||||
extern BOOL bInvertColors;
|
||||
extern BOOL bStartMinimized;
|
||||
extern BOOL bShowMagnifier;
|
||||
|
||||
void LoadSettings();
|
||||
void SaveSettings();
|
||||
/*
|
||||
* WineCalc (magnifier.h)
|
||||
*
|
||||
* Copyright 2007 Marc Piulachs
|
||||
*
|
||||
* This library is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU Lesser General Public
|
||||
* License as published by the Free Software Foundation; either
|
||||
* version 2.1 of the License, or (at your option) any later version.
|
||||
*
|
||||
* This library 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
|
||||
* Lesser General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Lesser General Public
|
||||
* License along with this library; if not, write to the Free Software
|
||||
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||
*/
|
||||
|
||||
//////////////////////////////////////////////////////////////////
|
||||
|
||||
extern int iZoom;
|
||||
|
||||
extern BOOL bShowWarning;
|
||||
|
||||
extern BOOL bFollowMouse;
|
||||
extern BOOL bFollowFocus;
|
||||
extern BOOL bFollowCaret;
|
||||
|
||||
extern BOOL bInvertColors;
|
||||
extern BOOL bStartMinimized;
|
||||
extern BOOL bShowMagnifier;
|
||||
|
||||
void LoadSettings();
|
||||
void SaveSettings();
|
||||
|
||||
@@ -1,13 +1,13 @@
|
||||
<?xml version="1.0"?>
|
||||
<!DOCTYPE project SYSTEM "tools/rbuild/project.dtd">
|
||||
<module name="magnify" type="win32gui" installbase="system32" installname="magnify.exe">
|
||||
<include base="magnify">.</include>
|
||||
<library>user32</library>
|
||||
<library>gdi32</library>
|
||||
<library>advapi32</library>
|
||||
<library>shell32</library>
|
||||
<library>kernel32</library>
|
||||
<file>magnifier.c</file>
|
||||
<file>settings.c</file>
|
||||
<file>magnify.rc</file>
|
||||
</module>
|
||||
<?xml version="1.0"?>
|
||||
<!DOCTYPE project SYSTEM "tools/rbuild/project.dtd">
|
||||
<module name="magnify" type="win32gui" installbase="system32" installname="magnify.exe">
|
||||
<include base="magnify">.</include>
|
||||
<library>user32</library>
|
||||
<library>gdi32</library>
|
||||
<library>advapi32</library>
|
||||
<library>shell32</library>
|
||||
<library>kernel32</library>
|
||||
<file>magnifier.c</file>
|
||||
<file>settings.c</file>
|
||||
<file>magnify.rc</file>
|
||||
</module>
|
||||
|
||||
@@ -1,26 +1,26 @@
|
||||
#define IDC_STATIC -1
|
||||
|
||||
#define IDI_ICON 101
|
||||
#define IDD_MAGNIFIER_DIALOG 102
|
||||
#define IDS_APP_TITLE 103
|
||||
#define IDD_ABOUTBOX 103
|
||||
#define IDM_ABOUT 104
|
||||
#define IDM_EXIT 105
|
||||
#define IDC_MYICON 106
|
||||
#define IDC_MAGNIFIER 109
|
||||
#define IDR_MAINFRAME 128
|
||||
#define IDD_DIALOGOPTIONS 129
|
||||
#define IDD_WARNINGDIALOG 130
|
||||
#define IDC_ZOOM 1000
|
||||
#define IDC_FOLLOWKEYBOARDCHECK 1002
|
||||
#define IDC_FOLLOWTEXTEDITINGCHECK 1003
|
||||
#define IDC_INVERTCOLORSCHECK 1004
|
||||
#define IDC_STARTMINIMIZEDCHECK 1005
|
||||
#define IDC_SHOWMAGNIFIER 1006
|
||||
#define IDC_SHOWMAGNIFIERCHECK 1006
|
||||
#define IDC_FOLLOWMOUSECHECK 1007
|
||||
#define IDC_BUTTON_HELP 1008
|
||||
#define IDC_SHOWWARNINGCHECK 1009
|
||||
#define ID_FILE_OPTIONS 32771
|
||||
#define ID_OPTIONS 32772
|
||||
#define IDM_OPTIONS 32773
|
||||
#define IDC_STATIC -1
|
||||
|
||||
#define IDI_ICON 101
|
||||
#define IDD_MAGNIFIER_DIALOG 102
|
||||
#define IDS_APP_TITLE 103
|
||||
#define IDD_ABOUTBOX 103
|
||||
#define IDM_ABOUT 104
|
||||
#define IDM_EXIT 105
|
||||
#define IDC_MYICON 106
|
||||
#define IDC_MAGNIFIER 109
|
||||
#define IDR_MAINFRAME 128
|
||||
#define IDD_DIALOGOPTIONS 129
|
||||
#define IDD_WARNINGDIALOG 130
|
||||
#define IDC_ZOOM 1000
|
||||
#define IDC_FOLLOWKEYBOARDCHECK 1002
|
||||
#define IDC_FOLLOWTEXTEDITINGCHECK 1003
|
||||
#define IDC_INVERTCOLORSCHECK 1004
|
||||
#define IDC_STARTMINIMIZEDCHECK 1005
|
||||
#define IDC_SHOWMAGNIFIER 1006
|
||||
#define IDC_SHOWMAGNIFIERCHECK 1006
|
||||
#define IDC_FOLLOWMOUSECHECK 1007
|
||||
#define IDC_BUTTON_HELP 1008
|
||||
#define IDC_SHOWWARNINGCHECK 1009
|
||||
#define ID_FILE_OPTIONS 32771
|
||||
#define ID_OPTIONS 32772
|
||||
#define IDM_OPTIONS 32773
|
||||
|
||||
@@ -1,89 +1,89 @@
|
||||
#include <windows.h>
|
||||
#include <tchar.h>
|
||||
#include "magnifier.h"
|
||||
|
||||
int iZoom = 3;
|
||||
|
||||
BOOL bShowWarning = TRUE;
|
||||
|
||||
BOOL bFollowMouse = TRUE;
|
||||
BOOL bFollowFocus = TRUE;
|
||||
BOOL bFollowCaret = TRUE;
|
||||
|
||||
BOOL bInvertColors = FALSE;
|
||||
BOOL bStartMinimized = FALSE;
|
||||
BOOL bShowMagnifier = TRUE;
|
||||
|
||||
void LoadSettings()
|
||||
{
|
||||
HKEY hkey;
|
||||
LONG value;
|
||||
ULONG len;
|
||||
|
||||
RegCreateKeyEx(HKEY_CURRENT_USER, _T("Software\\Microsoft\\Magnify"), 0,
|
||||
_T(""), 0, KEY_READ, NULL, &hkey, NULL);
|
||||
|
||||
if(ERROR_SUCCESS == RegQueryValueEx(hkey, _T("StationaryMagLevel"), 0, 0, (BYTE *)&value, &len))
|
||||
{
|
||||
if(value >= 0 && value <= 9)
|
||||
iZoom = value;
|
||||
}
|
||||
|
||||
if(ERROR_SUCCESS == RegQueryValueEx(hkey, _T("ShowWarning"), 0, 0, (BYTE *)&value, &len))
|
||||
bShowWarning = (value == 0 ? FALSE : TRUE);
|
||||
|
||||
if(ERROR_SUCCESS == RegQueryValueEx(hkey, _T("StationaryInvertColors"), 0, 0, (BYTE *)&value, &len))
|
||||
bInvertColors = (value == 0 ? FALSE : TRUE);
|
||||
|
||||
if(ERROR_SUCCESS == RegQueryValueEx(hkey, _T("StationaryStartMinimized"), 0, 0, (BYTE *)&value, &len))
|
||||
bStartMinimized = (value == 0 ? FALSE : TRUE);
|
||||
|
||||
if(ERROR_SUCCESS == RegQueryValueEx(hkey, _T("StationaryTrackCursor"), 0, 0, (BYTE *)&value, &len))
|
||||
bFollowMouse = (value == 0 ? FALSE : TRUE);
|
||||
|
||||
if(ERROR_SUCCESS == RegQueryValueEx(hkey, _T("StationaryTrackFocus"), 0, 0, (BYTE *)&value, &len))
|
||||
bFollowFocus = (value == 0 ? FALSE : TRUE);
|
||||
|
||||
if(ERROR_SUCCESS == RegQueryValueEx(hkey, _T("StationaryTrackSecondaryFocus"), 0, 0, (BYTE *)&value, &len))
|
||||
bFollowFocus = (value == 0 ? FALSE : TRUE);
|
||||
|
||||
if(ERROR_SUCCESS == RegQueryValueEx(hkey, _T("StationaryTrackText"), 0, 0, (BYTE *)&value, &len))
|
||||
bFollowCaret = (value == 0 ? FALSE : TRUE);
|
||||
|
||||
RegCloseKey(hkey);
|
||||
}
|
||||
|
||||
void SaveSettings()
|
||||
{
|
||||
HKEY hkey;
|
||||
LONG value;
|
||||
|
||||
RegCreateKeyEx(HKEY_CURRENT_USER, _T("Software\\Microsoft\\Magnify"), 0,
|
||||
_T(""), 0, KEY_WRITE, NULL, &hkey, NULL);
|
||||
|
||||
value = iZoom;
|
||||
RegSetValueEx(hkey, _T("StationaryMagLevel"), 0, REG_DWORD, (BYTE *)&value, sizeof value);
|
||||
|
||||
value = bShowWarning;
|
||||
RegSetValueEx(hkey, _T("ShowWarning"), 0, REG_DWORD, (BYTE *)&value, sizeof value);
|
||||
|
||||
value = bInvertColors;
|
||||
RegSetValueEx(hkey, _T("StationaryInvertColors"), 0, REG_DWORD, (BYTE *)&value, sizeof value);
|
||||
|
||||
value = bStartMinimized;
|
||||
RegSetValueEx(hkey, _T("StationaryStartMinimized"), 0, REG_DWORD, (BYTE *)&value, sizeof value);
|
||||
|
||||
value = bFollowMouse;
|
||||
RegSetValueEx(hkey, _T("StationaryTrackCursor"), 0, REG_DWORD, (BYTE *)&value, sizeof value);
|
||||
|
||||
value = bFollowFocus;
|
||||
RegSetValueEx(hkey, _T("StationaryTrackFocus"), 0, REG_DWORD, (BYTE *)&value, sizeof value);
|
||||
|
||||
value = bFollowFocus;
|
||||
RegSetValueEx(hkey, _T("StationaryTrackSecondaryFocus"), 0, REG_DWORD, (BYTE *)&value, sizeof value);
|
||||
|
||||
value = bFollowCaret;
|
||||
RegSetValueEx(hkey, _T("StationaryTrackText"), 0, REG_DWORD, (BYTE *)&value, sizeof value);
|
||||
|
||||
RegCloseKey(hkey);
|
||||
}
|
||||
#include <windows.h>
|
||||
#include <tchar.h>
|
||||
#include "magnifier.h"
|
||||
|
||||
int iZoom = 3;
|
||||
|
||||
BOOL bShowWarning = TRUE;
|
||||
|
||||
BOOL bFollowMouse = TRUE;
|
||||
BOOL bFollowFocus = TRUE;
|
||||
BOOL bFollowCaret = TRUE;
|
||||
|
||||
BOOL bInvertColors = FALSE;
|
||||
BOOL bStartMinimized = FALSE;
|
||||
BOOL bShowMagnifier = TRUE;
|
||||
|
||||
void LoadSettings()
|
||||
{
|
||||
HKEY hkey;
|
||||
LONG value;
|
||||
ULONG len;
|
||||
|
||||
RegCreateKeyEx(HKEY_CURRENT_USER, _T("Software\\Microsoft\\Magnify"), 0,
|
||||
_T(""), 0, KEY_READ, NULL, &hkey, NULL);
|
||||
|
||||
if(ERROR_SUCCESS == RegQueryValueEx(hkey, _T("StationaryMagLevel"), 0, 0, (BYTE *)&value, &len))
|
||||
{
|
||||
if(value >= 0 && value <= 9)
|
||||
iZoom = value;
|
||||
}
|
||||
|
||||
if(ERROR_SUCCESS == RegQueryValueEx(hkey, _T("ShowWarning"), 0, 0, (BYTE *)&value, &len))
|
||||
bShowWarning = (value == 0 ? FALSE : TRUE);
|
||||
|
||||
if(ERROR_SUCCESS == RegQueryValueEx(hkey, _T("StationaryInvertColors"), 0, 0, (BYTE *)&value, &len))
|
||||
bInvertColors = (value == 0 ? FALSE : TRUE);
|
||||
|
||||
if(ERROR_SUCCESS == RegQueryValueEx(hkey, _T("StationaryStartMinimized"), 0, 0, (BYTE *)&value, &len))
|
||||
bStartMinimized = (value == 0 ? FALSE : TRUE);
|
||||
|
||||
if(ERROR_SUCCESS == RegQueryValueEx(hkey, _T("StationaryTrackCursor"), 0, 0, (BYTE *)&value, &len))
|
||||
bFollowMouse = (value == 0 ? FALSE : TRUE);
|
||||
|
||||
if(ERROR_SUCCESS == RegQueryValueEx(hkey, _T("StationaryTrackFocus"), 0, 0, (BYTE *)&value, &len))
|
||||
bFollowFocus = (value == 0 ? FALSE : TRUE);
|
||||
|
||||
if(ERROR_SUCCESS == RegQueryValueEx(hkey, _T("StationaryTrackSecondaryFocus"), 0, 0, (BYTE *)&value, &len))
|
||||
bFollowFocus = (value == 0 ? FALSE : TRUE);
|
||||
|
||||
if(ERROR_SUCCESS == RegQueryValueEx(hkey, _T("StationaryTrackText"), 0, 0, (BYTE *)&value, &len))
|
||||
bFollowCaret = (value == 0 ? FALSE : TRUE);
|
||||
|
||||
RegCloseKey(hkey);
|
||||
}
|
||||
|
||||
void SaveSettings()
|
||||
{
|
||||
HKEY hkey;
|
||||
LONG value;
|
||||
|
||||
RegCreateKeyEx(HKEY_CURRENT_USER, _T("Software\\Microsoft\\Magnify"), 0,
|
||||
_T(""), 0, KEY_WRITE, NULL, &hkey, NULL);
|
||||
|
||||
value = iZoom;
|
||||
RegSetValueEx(hkey, _T("StationaryMagLevel"), 0, REG_DWORD, (BYTE *)&value, sizeof value);
|
||||
|
||||
value = bShowWarning;
|
||||
RegSetValueEx(hkey, _T("ShowWarning"), 0, REG_DWORD, (BYTE *)&value, sizeof value);
|
||||
|
||||
value = bInvertColors;
|
||||
RegSetValueEx(hkey, _T("StationaryInvertColors"), 0, REG_DWORD, (BYTE *)&value, sizeof value);
|
||||
|
||||
value = bStartMinimized;
|
||||
RegSetValueEx(hkey, _T("StationaryStartMinimized"), 0, REG_DWORD, (BYTE *)&value, sizeof value);
|
||||
|
||||
value = bFollowMouse;
|
||||
RegSetValueEx(hkey, _T("StationaryTrackCursor"), 0, REG_DWORD, (BYTE *)&value, sizeof value);
|
||||
|
||||
value = bFollowFocus;
|
||||
RegSetValueEx(hkey, _T("StationaryTrackFocus"), 0, REG_DWORD, (BYTE *)&value, sizeof value);
|
||||
|
||||
value = bFollowFocus;
|
||||
RegSetValueEx(hkey, _T("StationaryTrackSecondaryFocus"), 0, REG_DWORD, (BYTE *)&value, sizeof value);
|
||||
|
||||
value = bFollowCaret;
|
||||
RegSetValueEx(hkey, _T("StationaryTrackText"), 0, REG_DWORD, (BYTE *)&value, sizeof value);
|
||||
|
||||
RegCloseKey(hkey);
|
||||
}
|
||||
|
||||
@@ -1,444 +1,444 @@
|
||||
/*
|
||||
* PROJECT: ReactOS Services
|
||||
* LICENSE: GPL - See COPYING in the top level directory
|
||||
* FILE: base/applications/mscutils/servman/listview.c
|
||||
* PURPOSE: service listview manipulation functions
|
||||
* COPYRIGHT: Copyright 2006-2007 Ged Murphy <[email protected]>
|
||||
*
|
||||
*/
|
||||
|
||||
#include "precomp.h"
|
||||
|
||||
|
||||
VOID
|
||||
SetListViewStyle(HWND hListView,
|
||||
DWORD View)
|
||||
{
|
||||
DWORD Style = GetWindowLongPtr(hListView, GWL_STYLE);
|
||||
|
||||
if ((Style & LVS_TYPEMASK) != View)
|
||||
{
|
||||
SetWindowLongPtr(hListView,
|
||||
GWL_STYLE,
|
||||
(Style & ~LVS_TYPEMASK) | View);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
VOID
|
||||
ListViewSelectionChanged(PMAIN_WND_INFO Info,
|
||||
LPNMLISTVIEW pnmv)
|
||||
{
|
||||
HMENU hMainMenu;
|
||||
|
||||
/* get handle to menu */
|
||||
hMainMenu = GetMenu(Info->hMainWnd);
|
||||
|
||||
/* activate properties menu item, if not already */
|
||||
if (GetMenuState(hMainMenu,
|
||||
ID_PROP,
|
||||
MF_BYCOMMAND) != MF_ENABLED)
|
||||
{
|
||||
EnableMenuItem(hMainMenu,
|
||||
ID_PROP,
|
||||
MF_ENABLED);
|
||||
EnableMenuItem(GetSubMenu(Info->hShortcutMenu, 0),
|
||||
ID_PROP,
|
||||
MF_ENABLED);
|
||||
SetMenuDefaultItem(GetSubMenu(Info->hShortcutMenu, 0),
|
||||
ID_PROP,
|
||||
MF_BYCOMMAND);
|
||||
}
|
||||
|
||||
/* activate delete menu item, if not already */
|
||||
if (GetMenuState(hMainMenu,
|
||||
ID_DELETE,
|
||||
MF_BYCOMMAND) != MF_ENABLED)
|
||||
{
|
||||
EnableMenuItem(hMainMenu,
|
||||
ID_DELETE,
|
||||
MF_ENABLED);
|
||||
EnableMenuItem(GetSubMenu(Info->hShortcutMenu, 0),
|
||||
ID_DELETE,
|
||||
MF_ENABLED);
|
||||
}
|
||||
|
||||
/* set selected service */
|
||||
Info->SelectedItem = pnmv->iItem;
|
||||
|
||||
/* get pointer to selected service */
|
||||
Info->pCurrentService = GetSelectedService(Info);
|
||||
|
||||
/* set current selected service in the status bar */
|
||||
SendMessage(Info->hStatus,
|
||||
SB_SETTEXT,
|
||||
1,
|
||||
(LPARAM)Info->pCurrentService->lpDisplayName);
|
||||
|
||||
/* show the properties button */
|
||||
SendMessage(Info->hTool,
|
||||
TB_SETSTATE,
|
||||
ID_PROP,
|
||||
(LPARAM)MAKELONG(TBSTATE_ENABLED, 0));
|
||||
}
|
||||
|
||||
|
||||
VOID
|
||||
ChangeListViewText(PMAIN_WND_INFO Info,
|
||||
ENUM_SERVICE_STATUS_PROCESS* pService,
|
||||
UINT Column)
|
||||
{
|
||||
LVFINDINFO lvfi;
|
||||
LVITEM lvItem;
|
||||
INT index;
|
||||
|
||||
lvfi.flags = LVFI_PARAM;
|
||||
lvfi.lParam = (LPARAM)pService;
|
||||
index = ListView_FindItem(Info->hListView,
|
||||
-1,
|
||||
&lvfi);
|
||||
if (index != -1)
|
||||
{
|
||||
lvItem.iItem = index;
|
||||
lvItem.iSubItem = Column;
|
||||
|
||||
switch (Column)
|
||||
{
|
||||
case LVNAME:
|
||||
{
|
||||
LPQUERY_SERVICE_CONFIG lpServiceConfig;
|
||||
|
||||
lpServiceConfig = GetServiceConfig(pService->lpServiceName);
|
||||
if (lpServiceConfig)
|
||||
{
|
||||
lvItem.pszText = lpServiceConfig->lpDisplayName;
|
||||
SendMessage(Info->hListView,
|
||||
LVM_SETITEMTEXT,
|
||||
lvItem.iItem,
|
||||
(LPARAM)&lvItem);
|
||||
|
||||
HeapFree(ProcessHeap,
|
||||
0,
|
||||
lpServiceConfig);
|
||||
}
|
||||
}
|
||||
break;
|
||||
|
||||
case LVDESC:
|
||||
{
|
||||
LPTSTR lpDescription;
|
||||
|
||||
lpDescription = GetServiceDescription(pService->lpServiceName);
|
||||
|
||||
lvItem.pszText = lpDescription;
|
||||
SendMessage(Info->hListView,
|
||||
LVM_SETITEMTEXT,
|
||||
lvItem.iItem,
|
||||
(LPARAM) &lvItem);
|
||||
|
||||
HeapFree(ProcessHeap,
|
||||
0,
|
||||
lpDescription);
|
||||
}
|
||||
break;
|
||||
|
||||
case LVSTATUS:
|
||||
{
|
||||
TCHAR szStatus[64];
|
||||
|
||||
if (pService->ServiceStatusProcess.dwCurrentState == SERVICE_RUNNING)
|
||||
{
|
||||
LoadString(hInstance,
|
||||
IDS_SERVICES_STARTED,
|
||||
szStatus,
|
||||
sizeof(szStatus) / sizeof(TCHAR));
|
||||
}
|
||||
else
|
||||
{
|
||||
szStatus[0] = 0;
|
||||
}
|
||||
|
||||
lvItem.pszText = szStatus;
|
||||
SendMessage(Info->hListView,
|
||||
LVM_SETITEMTEXT,
|
||||
lvItem.iItem,
|
||||
(LPARAM) &lvItem);
|
||||
}
|
||||
break;
|
||||
|
||||
case LVSTARTUP:
|
||||
{
|
||||
LPQUERY_SERVICE_CONFIG lpServiceConfig;
|
||||
LPTSTR lpStartup = NULL;
|
||||
DWORD StringId = 0;
|
||||
|
||||
lpServiceConfig = GetServiceConfig(pService->lpServiceName);
|
||||
|
||||
if (lpServiceConfig)
|
||||
{
|
||||
switch (lpServiceConfig->dwStartType)
|
||||
{
|
||||
case 2: StringId = IDS_SERVICES_AUTO; break;
|
||||
case 3: StringId = IDS_SERVICES_MAN; break;
|
||||
case 4: StringId = IDS_SERVICES_DIS; break;
|
||||
}
|
||||
}
|
||||
|
||||
if (StringId)
|
||||
AllocAndLoadString(&lpStartup,
|
||||
hInstance,
|
||||
StringId);
|
||||
|
||||
lvItem.pszText = lpStartup;
|
||||
SendMessage(Info->hListView,
|
||||
LVM_SETITEMTEXT,
|
||||
lvItem.iItem,
|
||||
(LPARAM)&lvItem);
|
||||
|
||||
HeapFree(ProcessHeap,
|
||||
0,
|
||||
lpStartup);
|
||||
HeapFree(ProcessHeap,
|
||||
0,
|
||||
lpServiceConfig);
|
||||
}
|
||||
break;
|
||||
|
||||
case LVLOGONAS:
|
||||
{
|
||||
LPQUERY_SERVICE_CONFIG lpServiceConfig;
|
||||
|
||||
lpServiceConfig = GetServiceConfig(pService->lpServiceName);
|
||||
if (lpServiceConfig)
|
||||
{
|
||||
lvItem.pszText = lpServiceConfig->lpServiceStartName;
|
||||
SendMessage(Info->hListView,
|
||||
LVM_SETITEMTEXT,
|
||||
lvItem.iItem,
|
||||
(LPARAM)&lvItem);
|
||||
|
||||
HeapFree(ProcessHeap,
|
||||
0,
|
||||
lpServiceConfig);
|
||||
}
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
BOOL
|
||||
RefreshServiceList(PMAIN_WND_INFO Info)
|
||||
{
|
||||
ENUM_SERVICE_STATUS_PROCESS *pService;
|
||||
LVITEM lvItem;
|
||||
DWORD NumServices;
|
||||
DWORD Index;
|
||||
|
||||
SendMessage (Info->hListView,
|
||||
WM_SETREDRAW,
|
||||
FALSE,
|
||||
0);
|
||||
|
||||
(void)ListView_DeleteAllItems(Info->hListView);
|
||||
|
||||
if (GetServiceList(Info, &NumServices))
|
||||
{
|
||||
for (Index = 0; Index < NumServices; Index++)
|
||||
{
|
||||
INT i;
|
||||
|
||||
pService = &Info->pAllServices[Index];
|
||||
|
||||
/* set the display name */
|
||||
ZeroMemory(&lvItem, sizeof(LVITEM));
|
||||
lvItem.mask = LVIF_TEXT | LVIF_PARAM;
|
||||
lvItem.pszText = pService->lpDisplayName;
|
||||
|
||||
/* Add the service pointer */
|
||||
lvItem.lParam = (LPARAM)pService;
|
||||
|
||||
/* add it to the listview */
|
||||
lvItem.iItem = ListView_InsertItem(Info->hListView, &lvItem);
|
||||
|
||||
/* fill out all the column data */
|
||||
for (i = LVDESC; i <= LVLOGONAS; i++)
|
||||
{
|
||||
ChangeListViewText(Info, pService, i);
|
||||
}
|
||||
}
|
||||
|
||||
UpdateServiceCount(Info);
|
||||
}
|
||||
|
||||
/* turn redraw flag on. */
|
||||
SendMessage (Info->hListView,
|
||||
WM_SETREDRAW,
|
||||
TRUE,
|
||||
0);
|
||||
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
|
||||
static VOID
|
||||
InitListViewImage(PMAIN_WND_INFO Info)
|
||||
{
|
||||
HICON hSmIconItem, hLgIconItem;
|
||||
HIMAGELIST hSmall, hLarge;
|
||||
|
||||
hSmall = ImageList_Create(GetSystemMetrics(SM_CXSMICON),
|
||||
GetSystemMetrics(SM_CYSMICON),
|
||||
ILC_MASK | ILC_COLOR32,
|
||||
1,
|
||||
1);
|
||||
if (hSmall)
|
||||
{
|
||||
hSmIconItem = LoadImage(hInstance,
|
||||
MAKEINTRESOURCE(IDI_SM_ICON),
|
||||
IMAGE_ICON,
|
||||
16,
|
||||
16,
|
||||
0);
|
||||
if (hSmIconItem)
|
||||
{
|
||||
ImageList_AddIcon(hSmall,
|
||||
hSmIconItem);
|
||||
(void)ListView_SetImageList(Info->hListView,
|
||||
hSmall,
|
||||
LVSIL_SMALL);
|
||||
|
||||
DestroyIcon(hSmIconItem);
|
||||
}
|
||||
}
|
||||
|
||||
hLarge = ImageList_Create(GetSystemMetrics(SM_CXICON),
|
||||
GetSystemMetrics(SM_CYICON),
|
||||
ILC_MASK | ILC_COLOR32,
|
||||
1,
|
||||
1);
|
||||
if (hLarge)
|
||||
{
|
||||
hLgIconItem = LoadImage(hInstance,
|
||||
MAKEINTRESOURCE(IDI_SM_ICON),
|
||||
IMAGE_ICON,
|
||||
32,
|
||||
32,
|
||||
0);
|
||||
if (hLgIconItem)
|
||||
{
|
||||
ImageList_AddIcon(hLarge,
|
||||
hLgIconItem);
|
||||
(void)ListView_SetImageList(Info->hListView,
|
||||
hLarge,
|
||||
LVSIL_NORMAL);
|
||||
DestroyIcon(hLgIconItem);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
BOOL
|
||||
CreateListView(PMAIN_WND_INFO Info)
|
||||
{
|
||||
LVCOLUMN lvc = { 0 };
|
||||
TCHAR szTemp[256];
|
||||
|
||||
Info->hListView = CreateWindowEx(WS_EX_CLIENTEDGE,
|
||||
WC_LISTVIEW,
|
||||
NULL,
|
||||
WS_CHILD | WS_VISIBLE | LVS_REPORT | WS_BORDER |
|
||||
LBS_NOTIFY | LVS_SORTASCENDING | LBS_NOREDRAW,
|
||||
0, 0, 0, 0,
|
||||
Info->hMainWnd,
|
||||
(HMENU) IDC_SERVLIST,
|
||||
hInstance,
|
||||
NULL);
|
||||
if (Info->hListView == NULL)
|
||||
{
|
||||
MessageBox(Info->hMainWnd,
|
||||
_T("Could not create List View."),
|
||||
_T("Error"),
|
||||
MB_OK | MB_ICONERROR);
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
(void)ListView_SetExtendedListViewStyle(Info->hListView,
|
||||
LVS_EX_FULLROWSELECT | LVS_EX_HEADERDRAGDROP);/*LVS_EX_GRIDLINES |*/
|
||||
|
||||
lvc.mask = LVCF_TEXT | LVCF_SUBITEM | LVCF_WIDTH | LVCF_FMT;
|
||||
lvc.fmt = LVCFMT_LEFT;
|
||||
|
||||
/* Add columns to the list-view */
|
||||
/* name */
|
||||
lvc.iSubItem = LVNAME;
|
||||
lvc.cx = 150;
|
||||
LoadString(hInstance,
|
||||
IDS_FIRSTCOLUMN,
|
||||
szTemp,
|
||||
sizeof(szTemp) / sizeof(TCHAR));
|
||||
lvc.pszText = szTemp;
|
||||
(void)ListView_InsertColumn(Info->hListView,
|
||||
0,
|
||||
&lvc);
|
||||
|
||||
/* description */
|
||||
lvc.iSubItem = LVDESC;
|
||||
lvc.cx = 240;
|
||||
LoadString(hInstance,
|
||||
IDS_SECONDCOLUMN,
|
||||
szTemp,
|
||||
sizeof(szTemp) / sizeof(TCHAR));
|
||||
lvc.pszText = szTemp;
|
||||
(void)ListView_InsertColumn(Info->hListView,
|
||||
1,
|
||||
&lvc);
|
||||
|
||||
/* status */
|
||||
lvc.iSubItem = LVSTATUS;
|
||||
lvc.cx = 55;
|
||||
LoadString(hInstance,
|
||||
IDS_THIRDCOLUMN,
|
||||
szTemp,
|
||||
sizeof(szTemp) / sizeof(TCHAR));
|
||||
lvc.pszText = szTemp;
|
||||
(void)ListView_InsertColumn(Info->hListView,
|
||||
2,
|
||||
&lvc);
|
||||
|
||||
/* startup type */
|
||||
lvc.iSubItem = LVSTARTUP;
|
||||
lvc.cx = 80;
|
||||
LoadString(hInstance,
|
||||
IDS_FOURTHCOLUMN,
|
||||
szTemp,
|
||||
sizeof(szTemp) / sizeof(TCHAR));
|
||||
lvc.pszText = szTemp;
|
||||
(void)ListView_InsertColumn(Info->hListView,
|
||||
3,
|
||||
&lvc);
|
||||
|
||||
/* logon as */
|
||||
lvc.iSubItem = LVLOGONAS;
|
||||
lvc.cx = 100;
|
||||
LoadString(hInstance,
|
||||
IDS_FITHCOLUMN,
|
||||
szTemp,
|
||||
sizeof(szTemp) / sizeof(TCHAR));
|
||||
lvc.pszText = szTemp;
|
||||
(void)ListView_InsertColumn(Info->hListView,
|
||||
4,
|
||||
&lvc);
|
||||
|
||||
InitListViewImage(Info);
|
||||
|
||||
/* check the details view menu item */
|
||||
CheckMenuRadioItem(GetMenu(Info->hMainWnd),
|
||||
ID_VIEW_LARGE,
|
||||
ID_VIEW_DETAILS,
|
||||
ID_VIEW_DETAILS,
|
||||
MF_BYCOMMAND);
|
||||
|
||||
return TRUE;
|
||||
}
|
||||
/*
|
||||
* PROJECT: ReactOS Services
|
||||
* LICENSE: GPL - See COPYING in the top level directory
|
||||
* FILE: base/applications/mscutils/servman/listview.c
|
||||
* PURPOSE: service listview manipulation functions
|
||||
* COPYRIGHT: Copyright 2006-2007 Ged Murphy <[email protected]>
|
||||
*
|
||||
*/
|
||||
|
||||
#include "precomp.h"
|
||||
|
||||
|
||||
VOID
|
||||
SetListViewStyle(HWND hListView,
|
||||
DWORD View)
|
||||
{
|
||||
DWORD Style = GetWindowLongPtr(hListView, GWL_STYLE);
|
||||
|
||||
if ((Style & LVS_TYPEMASK) != View)
|
||||
{
|
||||
SetWindowLongPtr(hListView,
|
||||
GWL_STYLE,
|
||||
(Style & ~LVS_TYPEMASK) | View);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
VOID
|
||||
ListViewSelectionChanged(PMAIN_WND_INFO Info,
|
||||
LPNMLISTVIEW pnmv)
|
||||
{
|
||||
HMENU hMainMenu;
|
||||
|
||||
/* get handle to menu */
|
||||
hMainMenu = GetMenu(Info->hMainWnd);
|
||||
|
||||
/* activate properties menu item, if not already */
|
||||
if (GetMenuState(hMainMenu,
|
||||
ID_PROP,
|
||||
MF_BYCOMMAND) != MF_ENABLED)
|
||||
{
|
||||
EnableMenuItem(hMainMenu,
|
||||
ID_PROP,
|
||||
MF_ENABLED);
|
||||
EnableMenuItem(GetSubMenu(Info->hShortcutMenu, 0),
|
||||
ID_PROP,
|
||||
MF_ENABLED);
|
||||
SetMenuDefaultItem(GetSubMenu(Info->hShortcutMenu, 0),
|
||||
ID_PROP,
|
||||
MF_BYCOMMAND);
|
||||
}
|
||||
|
||||
/* activate delete menu item, if not already */
|
||||
if (GetMenuState(hMainMenu,
|
||||
ID_DELETE,
|
||||
MF_BYCOMMAND) != MF_ENABLED)
|
||||
{
|
||||
EnableMenuItem(hMainMenu,
|
||||
ID_DELETE,
|
||||
MF_ENABLED);
|
||||
EnableMenuItem(GetSubMenu(Info->hShortcutMenu, 0),
|
||||
ID_DELETE,
|
||||
MF_ENABLED);
|
||||
}
|
||||
|
||||
/* set selected service */
|
||||
Info->SelectedItem = pnmv->iItem;
|
||||
|
||||
/* get pointer to selected service */
|
||||
Info->pCurrentService = GetSelectedService(Info);
|
||||
|
||||
/* set current selected service in the status bar */
|
||||
SendMessage(Info->hStatus,
|
||||
SB_SETTEXT,
|
||||
1,
|
||||
(LPARAM)Info->pCurrentService->lpDisplayName);
|
||||
|
||||
/* show the properties button */
|
||||
SendMessage(Info->hTool,
|
||||
TB_SETSTATE,
|
||||
ID_PROP,
|
||||
(LPARAM)MAKELONG(TBSTATE_ENABLED, 0));
|
||||
}
|
||||
|
||||
|
||||
VOID
|
||||
ChangeListViewText(PMAIN_WND_INFO Info,
|
||||
ENUM_SERVICE_STATUS_PROCESS* pService,
|
||||
UINT Column)
|
||||
{
|
||||
LVFINDINFO lvfi;
|
||||
LVITEM lvItem;
|
||||
INT index;
|
||||
|
||||
lvfi.flags = LVFI_PARAM;
|
||||
lvfi.lParam = (LPARAM)pService;
|
||||
index = ListView_FindItem(Info->hListView,
|
||||
-1,
|
||||
&lvfi);
|
||||
if (index != -1)
|
||||
{
|
||||
lvItem.iItem = index;
|
||||
lvItem.iSubItem = Column;
|
||||
|
||||
switch (Column)
|
||||
{
|
||||
case LVNAME:
|
||||
{
|
||||
LPQUERY_SERVICE_CONFIG lpServiceConfig;
|
||||
|
||||
lpServiceConfig = GetServiceConfig(pService->lpServiceName);
|
||||
if (lpServiceConfig)
|
||||
{
|
||||
lvItem.pszText = lpServiceConfig->lpDisplayName;
|
||||
SendMessage(Info->hListView,
|
||||
LVM_SETITEMTEXT,
|
||||
lvItem.iItem,
|
||||
(LPARAM)&lvItem);
|
||||
|
||||
HeapFree(ProcessHeap,
|
||||
0,
|
||||
lpServiceConfig);
|
||||
}
|
||||
}
|
||||
break;
|
||||
|
||||
case LVDESC:
|
||||
{
|
||||
LPTSTR lpDescription;
|
||||
|
||||
lpDescription = GetServiceDescription(pService->lpServiceName);
|
||||
|
||||
lvItem.pszText = lpDescription;
|
||||
SendMessage(Info->hListView,
|
||||
LVM_SETITEMTEXT,
|
||||
lvItem.iItem,
|
||||
(LPARAM) &lvItem);
|
||||
|
||||
HeapFree(ProcessHeap,
|
||||
0,
|
||||
lpDescription);
|
||||
}
|
||||
break;
|
||||
|
||||
case LVSTATUS:
|
||||
{
|
||||
TCHAR szStatus[64];
|
||||
|
||||
if (pService->ServiceStatusProcess.dwCurrentState == SERVICE_RUNNING)
|
||||
{
|
||||
LoadString(hInstance,
|
||||
IDS_SERVICES_STARTED,
|
||||
szStatus,
|
||||
sizeof(szStatus) / sizeof(TCHAR));
|
||||
}
|
||||
else
|
||||
{
|
||||
szStatus[0] = 0;
|
||||
}
|
||||
|
||||
lvItem.pszText = szStatus;
|
||||
SendMessage(Info->hListView,
|
||||
LVM_SETITEMTEXT,
|
||||
lvItem.iItem,
|
||||
(LPARAM) &lvItem);
|
||||
}
|
||||
break;
|
||||
|
||||
case LVSTARTUP:
|
||||
{
|
||||
LPQUERY_SERVICE_CONFIG lpServiceConfig;
|
||||
LPTSTR lpStartup = NULL;
|
||||
DWORD StringId = 0;
|
||||
|
||||
lpServiceConfig = GetServiceConfig(pService->lpServiceName);
|
||||
|
||||
if (lpServiceConfig)
|
||||
{
|
||||
switch (lpServiceConfig->dwStartType)
|
||||
{
|
||||
case 2: StringId = IDS_SERVICES_AUTO; break;
|
||||
case 3: StringId = IDS_SERVICES_MAN; break;
|
||||
case 4: StringId = IDS_SERVICES_DIS; break;
|
||||
}
|
||||
}
|
||||
|
||||
if (StringId)
|
||||
AllocAndLoadString(&lpStartup,
|
||||
hInstance,
|
||||
StringId);
|
||||
|
||||
lvItem.pszText = lpStartup;
|
||||
SendMessage(Info->hListView,
|
||||
LVM_SETITEMTEXT,
|
||||
lvItem.iItem,
|
||||
(LPARAM)&lvItem);
|
||||
|
||||
HeapFree(ProcessHeap,
|
||||
0,
|
||||
lpStartup);
|
||||
HeapFree(ProcessHeap,
|
||||
0,
|
||||
lpServiceConfig);
|
||||
}
|
||||
break;
|
||||
|
||||
case LVLOGONAS:
|
||||
{
|
||||
LPQUERY_SERVICE_CONFIG lpServiceConfig;
|
||||
|
||||
lpServiceConfig = GetServiceConfig(pService->lpServiceName);
|
||||
if (lpServiceConfig)
|
||||
{
|
||||
lvItem.pszText = lpServiceConfig->lpServiceStartName;
|
||||
SendMessage(Info->hListView,
|
||||
LVM_SETITEMTEXT,
|
||||
lvItem.iItem,
|
||||
(LPARAM)&lvItem);
|
||||
|
||||
HeapFree(ProcessHeap,
|
||||
0,
|
||||
lpServiceConfig);
|
||||
}
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
BOOL
|
||||
RefreshServiceList(PMAIN_WND_INFO Info)
|
||||
{
|
||||
ENUM_SERVICE_STATUS_PROCESS *pService;
|
||||
LVITEM lvItem;
|
||||
DWORD NumServices;
|
||||
DWORD Index;
|
||||
|
||||
SendMessage (Info->hListView,
|
||||
WM_SETREDRAW,
|
||||
FALSE,
|
||||
0);
|
||||
|
||||
(void)ListView_DeleteAllItems(Info->hListView);
|
||||
|
||||
if (GetServiceList(Info, &NumServices))
|
||||
{
|
||||
for (Index = 0; Index < NumServices; Index++)
|
||||
{
|
||||
INT i;
|
||||
|
||||
pService = &Info->pAllServices[Index];
|
||||
|
||||
/* set the display name */
|
||||
ZeroMemory(&lvItem, sizeof(LVITEM));
|
||||
lvItem.mask = LVIF_TEXT | LVIF_PARAM;
|
||||
lvItem.pszText = pService->lpDisplayName;
|
||||
|
||||
/* Add the service pointer */
|
||||
lvItem.lParam = (LPARAM)pService;
|
||||
|
||||
/* add it to the listview */
|
||||
lvItem.iItem = ListView_InsertItem(Info->hListView, &lvItem);
|
||||
|
||||
/* fill out all the column data */
|
||||
for (i = LVDESC; i <= LVLOGONAS; i++)
|
||||
{
|
||||
ChangeListViewText(Info, pService, i);
|
||||
}
|
||||
}
|
||||
|
||||
UpdateServiceCount(Info);
|
||||
}
|
||||
|
||||
/* turn redraw flag on. */
|
||||
SendMessage (Info->hListView,
|
||||
WM_SETREDRAW,
|
||||
TRUE,
|
||||
0);
|
||||
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
|
||||
static VOID
|
||||
InitListViewImage(PMAIN_WND_INFO Info)
|
||||
{
|
||||
HICON hSmIconItem, hLgIconItem;
|
||||
HIMAGELIST hSmall, hLarge;
|
||||
|
||||
hSmall = ImageList_Create(GetSystemMetrics(SM_CXSMICON),
|
||||
GetSystemMetrics(SM_CYSMICON),
|
||||
ILC_MASK | ILC_COLOR32,
|
||||
1,
|
||||
1);
|
||||
if (hSmall)
|
||||
{
|
||||
hSmIconItem = LoadImage(hInstance,
|
||||
MAKEINTRESOURCE(IDI_SM_ICON),
|
||||
IMAGE_ICON,
|
||||
16,
|
||||
16,
|
||||
0);
|
||||
if (hSmIconItem)
|
||||
{
|
||||
ImageList_AddIcon(hSmall,
|
||||
hSmIconItem);
|
||||
(void)ListView_SetImageList(Info->hListView,
|
||||
hSmall,
|
||||
LVSIL_SMALL);
|
||||
|
||||
DestroyIcon(hSmIconItem);
|
||||
}
|
||||
}
|
||||
|
||||
hLarge = ImageList_Create(GetSystemMetrics(SM_CXICON),
|
||||
GetSystemMetrics(SM_CYICON),
|
||||
ILC_MASK | ILC_COLOR32,
|
||||
1,
|
||||
1);
|
||||
if (hLarge)
|
||||
{
|
||||
hLgIconItem = LoadImage(hInstance,
|
||||
MAKEINTRESOURCE(IDI_SM_ICON),
|
||||
IMAGE_ICON,
|
||||
32,
|
||||
32,
|
||||
0);
|
||||
if (hLgIconItem)
|
||||
{
|
||||
ImageList_AddIcon(hLarge,
|
||||
hLgIconItem);
|
||||
(void)ListView_SetImageList(Info->hListView,
|
||||
hLarge,
|
||||
LVSIL_NORMAL);
|
||||
DestroyIcon(hLgIconItem);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
BOOL
|
||||
CreateListView(PMAIN_WND_INFO Info)
|
||||
{
|
||||
LVCOLUMN lvc = { 0 };
|
||||
TCHAR szTemp[256];
|
||||
|
||||
Info->hListView = CreateWindowEx(WS_EX_CLIENTEDGE,
|
||||
WC_LISTVIEW,
|
||||
NULL,
|
||||
WS_CHILD | WS_VISIBLE | LVS_REPORT | WS_BORDER |
|
||||
LBS_NOTIFY | LVS_SORTASCENDING | LBS_NOREDRAW,
|
||||
0, 0, 0, 0,
|
||||
Info->hMainWnd,
|
||||
(HMENU) IDC_SERVLIST,
|
||||
hInstance,
|
||||
NULL);
|
||||
if (Info->hListView == NULL)
|
||||
{
|
||||
MessageBox(Info->hMainWnd,
|
||||
_T("Could not create List View."),
|
||||
_T("Error"),
|
||||
MB_OK | MB_ICONERROR);
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
(void)ListView_SetExtendedListViewStyle(Info->hListView,
|
||||
LVS_EX_FULLROWSELECT | LVS_EX_HEADERDRAGDROP);/*LVS_EX_GRIDLINES |*/
|
||||
|
||||
lvc.mask = LVCF_TEXT | LVCF_SUBITEM | LVCF_WIDTH | LVCF_FMT;
|
||||
lvc.fmt = LVCFMT_LEFT;
|
||||
|
||||
/* Add columns to the list-view */
|
||||
/* name */
|
||||
lvc.iSubItem = LVNAME;
|
||||
lvc.cx = 150;
|
||||
LoadString(hInstance,
|
||||
IDS_FIRSTCOLUMN,
|
||||
szTemp,
|
||||
sizeof(szTemp) / sizeof(TCHAR));
|
||||
lvc.pszText = szTemp;
|
||||
(void)ListView_InsertColumn(Info->hListView,
|
||||
0,
|
||||
&lvc);
|
||||
|
||||
/* description */
|
||||
lvc.iSubItem = LVDESC;
|
||||
lvc.cx = 240;
|
||||
LoadString(hInstance,
|
||||
IDS_SECONDCOLUMN,
|
||||
szTemp,
|
||||
sizeof(szTemp) / sizeof(TCHAR));
|
||||
lvc.pszText = szTemp;
|
||||
(void)ListView_InsertColumn(Info->hListView,
|
||||
1,
|
||||
&lvc);
|
||||
|
||||
/* status */
|
||||
lvc.iSubItem = LVSTATUS;
|
||||
lvc.cx = 55;
|
||||
LoadString(hInstance,
|
||||
IDS_THIRDCOLUMN,
|
||||
szTemp,
|
||||
sizeof(szTemp) / sizeof(TCHAR));
|
||||
lvc.pszText = szTemp;
|
||||
(void)ListView_InsertColumn(Info->hListView,
|
||||
2,
|
||||
&lvc);
|
||||
|
||||
/* startup type */
|
||||
lvc.iSubItem = LVSTARTUP;
|
||||
lvc.cx = 80;
|
||||
LoadString(hInstance,
|
||||
IDS_FOURTHCOLUMN,
|
||||
szTemp,
|
||||
sizeof(szTemp) / sizeof(TCHAR));
|
||||
lvc.pszText = szTemp;
|
||||
(void)ListView_InsertColumn(Info->hListView,
|
||||
3,
|
||||
&lvc);
|
||||
|
||||
/* logon as */
|
||||
lvc.iSubItem = LVLOGONAS;
|
||||
lvc.cx = 100;
|
||||
LoadString(hInstance,
|
||||
IDS_FITHCOLUMN,
|
||||
szTemp,
|
||||
sizeof(szTemp) / sizeof(TCHAR));
|
||||
lvc.pszText = szTemp;
|
||||
(void)ListView_InsertColumn(Info->hListView,
|
||||
4,
|
||||
&lvc);
|
||||
|
||||
InitListViewImage(Info);
|
||||
|
||||
/* check the details view menu item */
|
||||
CheckMenuRadioItem(GetMenu(Info->hMainWnd),
|
||||
ID_VIEW_LARGE,
|
||||
ID_VIEW_DETAILS,
|
||||
ID_VIEW_DETAILS,
|
||||
MF_BYCOMMAND);
|
||||
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
@@ -1,485 +1,485 @@
|
||||
#include <stdio.h>
|
||||
#define COBJMACROS
|
||||
#include <urlmon.h>
|
||||
#include <wininet.h>
|
||||
#include <tchar.h>
|
||||
|
||||
/* FIXME: add correct definitions to urlmon.idl */
|
||||
#ifdef UNICODE
|
||||
#define URLDownloadToFile URLDownloadToFileW
|
||||
#else
|
||||
#define URLDownloadToFile URLDownloadToFileA
|
||||
#endif
|
||||
|
||||
#define DWNL_E_LASTERROR 0
|
||||
#define DWNL_E_NEEDTARGETFILENAME -1
|
||||
#define DWNL_E_UNSUPPORTEDSCHEME -2
|
||||
|
||||
typedef struct
|
||||
{
|
||||
const IBindStatusCallbackVtbl* lpIBindStatusCallbackVtbl;
|
||||
LONG ref;
|
||||
TCHAR szHostName[INTERNET_MAX_HOST_NAME_LENGTH + 1];
|
||||
TCHAR szMimeType[128];
|
||||
UINT64 Size;
|
||||
UINT64 Progress;
|
||||
UINT bResolving : 1;
|
||||
UINT bConnecting : 1;
|
||||
UINT bSendingReq : 1;
|
||||
UINT bBeginTransfer : 1;
|
||||
} CBindStatusCallback;
|
||||
|
||||
#define impl_to_interface(impl,iface) (struct iface *)(&(impl)->lp##iface##Vtbl)
|
||||
#define interface_to_impl(instance,iface) ((CBindStatusCallback*)((ULONG_PTR)instance - FIELD_OFFSET(CBindStatusCallback,lp##iface##Vtbl)))
|
||||
|
||||
static void
|
||||
CBindStatusCallback_Destroy(CBindStatusCallback *This)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
static void
|
||||
write_status(LPCTSTR lpFmt, ...)
|
||||
{
|
||||
va_list args;
|
||||
|
||||
/* FIXME: Determine line length! */
|
||||
TCHAR szTxt[80];
|
||||
int c;
|
||||
|
||||
va_start(args, lpFmt);
|
||||
_vstprintf(szTxt, lpFmt, args);
|
||||
va_end(args);
|
||||
|
||||
c = _tcslen(szTxt);
|
||||
while (c < (sizeof(szTxt) / sizeof(szTxt[0])) - 1)
|
||||
szTxt[c++] = _T(' ');
|
||||
szTxt[c] = _T('\0');
|
||||
|
||||
_tprintf(_T("\r%.79s"), szTxt);
|
||||
}
|
||||
|
||||
static void
|
||||
CBindStatusCallback_UpdateProgress(CBindStatusCallback *This)
|
||||
{
|
||||
/* FIXME: better output */
|
||||
if (This->Size != 0)
|
||||
{
|
||||
UINT Percentage;
|
||||
|
||||
Percentage = (UINT)((This->Progress * 100) / This->Size);
|
||||
if (Percentage > 99)
|
||||
Percentage = 99;
|
||||
|
||||
write_status(_T("%2d%% (%I64u bytes downloaded)"), Percentage, This->Progress);
|
||||
}
|
||||
else
|
||||
{
|
||||
/* Unknown size */
|
||||
write_status(_T("%I64u bytes downloaded"), This->Progress);
|
||||
}
|
||||
}
|
||||
|
||||
static ULONG STDMETHODCALLTYPE
|
||||
CBindStatusCallback_AddRef(IBindStatusCallback *iface)
|
||||
{
|
||||
CBindStatusCallback *This = interface_to_impl(iface, IBindStatusCallback);
|
||||
ULONG ret;
|
||||
|
||||
ret = InterlockedIncrement((PLONG)&This->ref);
|
||||
return ret;
|
||||
}
|
||||
|
||||
static ULONG STDMETHODCALLTYPE
|
||||
CBindStatusCallback_Release(IBindStatusCallback *iface)
|
||||
{
|
||||
CBindStatusCallback *This = interface_to_impl(iface, IBindStatusCallback);
|
||||
ULONG ret;
|
||||
|
||||
ret = InterlockedDecrement((PLONG)&This->ref);
|
||||
if (ret == 0)
|
||||
{
|
||||
CBindStatusCallback_Destroy(This);
|
||||
|
||||
HeapFree(GetProcessHeap(),
|
||||
0,
|
||||
This);
|
||||
}
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
static HRESULT STDMETHODCALLTYPE
|
||||
CBindStatusCallback_QueryInterface(IBindStatusCallback *iface,
|
||||
REFIID iid,
|
||||
PVOID *pvObject)
|
||||
{
|
||||
CBindStatusCallback *This = interface_to_impl(iface, IBindStatusCallback);
|
||||
|
||||
*pvObject = NULL;
|
||||
|
||||
if (IsEqualIID(iid,
|
||||
&IID_IBindStatusCallback) ||
|
||||
IsEqualIID(iid,
|
||||
&IID_IUnknown))
|
||||
{
|
||||
*pvObject = impl_to_interface(This, IBindStatusCallback);
|
||||
}
|
||||
else
|
||||
return E_NOINTERFACE;
|
||||
|
||||
CBindStatusCallback_AddRef(iface);
|
||||
return S_OK;
|
||||
}
|
||||
|
||||
static HRESULT STDMETHODCALLTYPE
|
||||
CBindStatusCallback_OnStartBinding(IBindStatusCallback *iface,
|
||||
DWORD dwReserved,
|
||||
IBinding* pib)
|
||||
{
|
||||
return E_NOTIMPL;
|
||||
}
|
||||
|
||||
static HRESULT STDMETHODCALLTYPE
|
||||
CBindStatusCallback_GetPriority(IBindStatusCallback *iface,
|
||||
LONG* pnPriority)
|
||||
{
|
||||
return E_NOTIMPL;
|
||||
}
|
||||
|
||||
static HRESULT STDMETHODCALLTYPE
|
||||
CBindStatusCallback_OnLowResource(IBindStatusCallback *iface,
|
||||
DWORD reserved)
|
||||
{
|
||||
return E_NOTIMPL;
|
||||
}
|
||||
|
||||
static HRESULT STDMETHODCALLTYPE
|
||||
CBindStatusCallback_OnProgress(IBindStatusCallback *iface,
|
||||
ULONG ulProgress,
|
||||
ULONG ulProgressMax,
|
||||
ULONG ulStatusCode,
|
||||
LPCWSTR szStatusText)
|
||||
{
|
||||
CBindStatusCallback *This = interface_to_impl(iface, IBindStatusCallback);
|
||||
|
||||
switch (ulStatusCode)
|
||||
{
|
||||
case BINDSTATUS_FINDINGRESOURCE:
|
||||
if (!This->bResolving)
|
||||
{
|
||||
_tcscpy(This->szHostName, szStatusText);
|
||||
This->bResolving = TRUE;
|
||||
|
||||
_tprintf(_T("Resolving %s... "), This->szHostName);
|
||||
}
|
||||
break;
|
||||
|
||||
case BINDSTATUS_CONNECTING:
|
||||
This->bConnecting = TRUE;
|
||||
This->bSendingReq = FALSE;
|
||||
This->bBeginTransfer = FALSE;
|
||||
This->szMimeType[0] = _T('\0');
|
||||
if (This->bResolving)
|
||||
{
|
||||
_tprintf(_T("done.\n"));
|
||||
_tprintf(_T("Connecting to %s[%s]... "), This->szHostName, szStatusText);
|
||||
}
|
||||
else
|
||||
_tprintf(_T("Connecting to %s... "), szStatusText);
|
||||
break;
|
||||
|
||||
case BINDSTATUS_REDIRECTING:
|
||||
This->bResolving = FALSE;
|
||||
This->bConnecting = FALSE;
|
||||
This->bSendingReq = FALSE;
|
||||
This->bBeginTransfer = FALSE;
|
||||
This->szMimeType[0] = _T('\0');
|
||||
_tprintf(_T("Redirecting to %s... "), szStatusText);
|
||||
break;
|
||||
|
||||
case BINDSTATUS_SENDINGREQUEST:
|
||||
This->bBeginTransfer = FALSE;
|
||||
This->szMimeType[0] = _T('\0');
|
||||
if (This->bResolving || This->bConnecting)
|
||||
_tprintf(_T("done.\n"));
|
||||
|
||||
if (!This->bSendingReq)
|
||||
_tprintf(_T("Sending request... "));
|
||||
|
||||
This->bSendingReq = TRUE;
|
||||
break;
|
||||
|
||||
case BINDSTATUS_MIMETYPEAVAILABLE:
|
||||
_tcscpy(This->szMimeType, szStatusText);
|
||||
break;
|
||||
|
||||
case BINDSTATUS_BEGINDOWNLOADDATA:
|
||||
This->Progress = (UINT64)ulProgress;
|
||||
This->Size = (UINT64)ulProgressMax;
|
||||
|
||||
if (This->bSendingReq)
|
||||
_tprintf(_T("done.\n"));
|
||||
|
||||
if (!This->bBeginTransfer && This->Size != 0)
|
||||
{
|
||||
if (This->szMimeType[0] != _T('\0'))
|
||||
_tprintf(_T("Length: %I64u [%s]\n"), This->Size, This->szMimeType);
|
||||
else
|
||||
_tprintf(_T("Length: %ull\n"), This->Size);
|
||||
}
|
||||
|
||||
_tprintf(_T("\n"));
|
||||
|
||||
This->bBeginTransfer = TRUE;
|
||||
break;
|
||||
|
||||
case BINDSTATUS_ENDDOWNLOADDATA:
|
||||
write_status(_T("File saved."));
|
||||
_tprintf(_T("\n"));
|
||||
break;
|
||||
|
||||
case BINDSTATUS_DOWNLOADINGDATA:
|
||||
This->Progress = (UINT64)ulProgress;
|
||||
This->Size = (UINT64)ulProgressMax;
|
||||
|
||||
CBindStatusCallback_UpdateProgress(This);
|
||||
break;
|
||||
}
|
||||
|
||||
return S_OK;
|
||||
}
|
||||
|
||||
static HRESULT STDMETHODCALLTYPE
|
||||
CBindStatusCallback_OnStopBinding(IBindStatusCallback *iface,
|
||||
HRESULT hresult,
|
||||
LPCWSTR szError)
|
||||
{
|
||||
return E_NOTIMPL;
|
||||
}
|
||||
|
||||
static HRESULT STDMETHODCALLTYPE
|
||||
CBindStatusCallback_GetBindInfo(IBindStatusCallback *iface,
|
||||
DWORD* grfBINDF,
|
||||
BINDINFO* pbindinfo)
|
||||
{
|
||||
return E_NOTIMPL;
|
||||
}
|
||||
|
||||
static HRESULT STDMETHODCALLTYPE
|
||||
CBindStatusCallback_OnDataAvailable(IBindStatusCallback *iface,
|
||||
DWORD grfBSCF,
|
||||
DWORD dwSize,
|
||||
FORMATETC* pformatetc,
|
||||
STGMEDIUM* pstgmed)
|
||||
{
|
||||
return E_NOTIMPL;
|
||||
}
|
||||
|
||||
static HRESULT STDMETHODCALLTYPE
|
||||
CBindStatusCallback_OnObjectAvailable(IBindStatusCallback *iface,
|
||||
REFIID riid,
|
||||
IUnknown* punk)
|
||||
{
|
||||
return E_NOTIMPL;
|
||||
}
|
||||
|
||||
static const struct IBindStatusCallbackVtbl vtblIBindStatusCallback =
|
||||
{
|
||||
CBindStatusCallback_QueryInterface,
|
||||
CBindStatusCallback_AddRef,
|
||||
CBindStatusCallback_Release,
|
||||
CBindStatusCallback_OnStartBinding,
|
||||
CBindStatusCallback_GetPriority,
|
||||
CBindStatusCallback_OnLowResource,
|
||||
CBindStatusCallback_OnProgress,
|
||||
CBindStatusCallback_OnStopBinding,
|
||||
CBindStatusCallback_GetBindInfo,
|
||||
CBindStatusCallback_OnDataAvailable,
|
||||
CBindStatusCallback_OnObjectAvailable,
|
||||
};
|
||||
|
||||
static IBindStatusCallback *
|
||||
CreateBindStatusCallback(void)
|
||||
{
|
||||
CBindStatusCallback *This;
|
||||
|
||||
This = HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, sizeof(*This));
|
||||
if (This == NULL)
|
||||
return NULL;
|
||||
|
||||
This->lpIBindStatusCallbackVtbl = &vtblIBindStatusCallback;
|
||||
This->ref = 1;
|
||||
|
||||
return impl_to_interface(This, IBindStatusCallback);
|
||||
}
|
||||
|
||||
|
||||
// ToDo: Show status, get file name from webserver, better error reporting
|
||||
|
||||
static int
|
||||
get_display_url(IN LPURL_COMPONENTS purl,
|
||||
OUT TCHAR *szBuffer,
|
||||
IN PDWORD pdwBufferSize)
|
||||
{
|
||||
URL_COMPONENTS urlc;
|
||||
|
||||
/* Hide the password */
|
||||
urlc = *purl;
|
||||
urlc.lpszPassword = NULL;
|
||||
urlc.dwPasswordLength = 0;
|
||||
|
||||
if (!InternetCreateUrl(&urlc, ICU_ESCAPE, szBuffer, pdwBufferSize))
|
||||
return DWNL_E_LASTERROR;
|
||||
|
||||
return 1;
|
||||
}
|
||||
|
||||
static int
|
||||
download_file(IN LPCTSTR pszUrl,
|
||||
IN LPCTSTR pszFile OPTIONAL)
|
||||
{
|
||||
TCHAR szScheme[INTERNET_MAX_SCHEME_LENGTH + 1];
|
||||
TCHAR szHostName[INTERNET_MAX_HOST_NAME_LENGTH + 1];
|
||||
TCHAR szUserName[INTERNET_MAX_USER_NAME_LENGTH + 1];
|
||||
TCHAR szPassWord[INTERNET_MAX_PASSWORD_LENGTH + 1];
|
||||
TCHAR szUrlPath[INTERNET_MAX_PATH_LENGTH + 1];
|
||||
TCHAR szExtraInfo[INTERNET_MAX_PATH_LENGTH + 1];
|
||||
TCHAR szUrl[INTERNET_MAX_URL_LENGTH + 1];
|
||||
DWORD dwUrlLen;
|
||||
LPTSTR pszFilePart;
|
||||
URL_COMPONENTS urlc;
|
||||
IBindStatusCallback *pbsc;
|
||||
int iRet;
|
||||
|
||||
if (pszFile != NULL && pszFile[0] == _T('\0'))
|
||||
pszFile = NULL;
|
||||
|
||||
urlc.dwStructSize = sizeof(urlc);
|
||||
urlc.lpszScheme = szScheme;
|
||||
urlc.dwSchemeLength = sizeof(szScheme) / sizeof(szScheme[0]);
|
||||
urlc.lpszHostName = szHostName;
|
||||
urlc.dwHostNameLength = sizeof(szHostName) / sizeof(szHostName[0]);
|
||||
urlc.lpszUserName = szUserName;
|
||||
urlc.dwUserNameLength = sizeof(szUserName) / sizeof(szUserName[0]);
|
||||
urlc.lpszPassword = szPassWord;
|
||||
urlc.dwPasswordLength = sizeof(szPassWord) / sizeof(szPassWord[0]);
|
||||
urlc.lpszUrlPath = szUrlPath;
|
||||
urlc.dwUrlPathLength = sizeof(szUrlPath) / sizeof(szUrlPath[0]);
|
||||
urlc.lpszExtraInfo = szExtraInfo;
|
||||
urlc.dwExtraInfoLength = sizeof(szExtraInfo) / sizeof(szExtraInfo[0]);
|
||||
if (!InternetCrackUrl(pszUrl, _tcslen(pszUrl), ICU_ESCAPE, &urlc))
|
||||
return DWNL_E_LASTERROR;
|
||||
|
||||
if (urlc.nScheme != INTERNET_SCHEME_FTP &&
|
||||
urlc.nScheme != INTERNET_SCHEME_GOPHER &&
|
||||
urlc.nScheme != INTERNET_SCHEME_HTTP &&
|
||||
urlc.nScheme != INTERNET_SCHEME_HTTPS)
|
||||
{
|
||||
return DWNL_E_UNSUPPORTEDSCHEME;
|
||||
}
|
||||
|
||||
if (urlc.nScheme == INTERNET_SCHEME_FTP && urlc.dwUserNameLength == 0 && urlc.dwPasswordLength == 0)
|
||||
{
|
||||
_tcscpy(szUserName, _T("anonymous"));
|
||||
urlc.dwUserNameLength = _tcslen(szUserName);
|
||||
}
|
||||
|
||||
/* FIXME: Get file name from server */
|
||||
if (urlc.dwUrlPathLength == 0 && pszFile == NULL)
|
||||
return DWNL_E_NEEDTARGETFILENAME;
|
||||
|
||||
pszFilePart = _tcsrchr(szUrlPath, _T('/'));
|
||||
if (pszFilePart != NULL)
|
||||
pszFilePart++;
|
||||
|
||||
if (pszFilePart == NULL && pszFile == NULL)
|
||||
return DWNL_E_NEEDTARGETFILENAME;
|
||||
|
||||
if (pszFile == NULL)
|
||||
pszFile = pszFilePart;
|
||||
|
||||
if (urlc.dwUserNameLength == 0)
|
||||
urlc.lpszUserName = NULL;
|
||||
|
||||
if (urlc.dwPasswordLength == 0)
|
||||
urlc.lpszPassword = NULL;
|
||||
|
||||
/* Generate the URL to be displayed (without a password) */
|
||||
dwUrlLen = sizeof(szUrl) / sizeof(szUrl[0]);
|
||||
iRet = get_display_url(&urlc, szUrl, &dwUrlLen);
|
||||
if (iRet <= 0)
|
||||
return iRet;
|
||||
|
||||
_tprintf(_T("Download `%s\'\n\t=> `%s\'\n"), szUrl, pszFile);
|
||||
|
||||
/* Generate the URL to download */
|
||||
dwUrlLen = sizeof(szUrl) / sizeof(szUrl[0]);
|
||||
if (!InternetCreateUrl(&urlc, ICU_ESCAPE, szUrl, &dwUrlLen))
|
||||
return DWNL_E_LASTERROR;
|
||||
|
||||
pbsc = CreateBindStatusCallback();
|
||||
if (pbsc == NULL)
|
||||
return DWNL_E_LASTERROR;
|
||||
|
||||
if(!SUCCEEDED(URLDownloadToFile(NULL, szUrl, pszFile, 0, pbsc)))
|
||||
{
|
||||
IBindStatusCallback_Release(pbsc);
|
||||
return DWNL_E_LASTERROR; /* FIXME */
|
||||
}
|
||||
|
||||
IBindStatusCallback_Release(pbsc);
|
||||
return 1;
|
||||
}
|
||||
|
||||
static int
|
||||
print_err(int iErr)
|
||||
{
|
||||
write_status(_T(""));
|
||||
|
||||
if (iErr == DWNL_E_LASTERROR)
|
||||
{
|
||||
if (GetLastError() == ERROR_SUCCESS)
|
||||
{
|
||||
/* File not found */
|
||||
_ftprintf(stderr, _T("\nERROR: Download failed.\n"));
|
||||
}
|
||||
else
|
||||
{
|
||||
/* Display last error code */
|
||||
_ftprintf(stderr, _T("\nERROR: %u\n"), GetLastError());
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
switch (iErr)
|
||||
{
|
||||
case DWNL_E_NEEDTARGETFILENAME:
|
||||
_ftprintf(stderr, _T("\nERROR: Cannot determine filename, please specify a destination file name.\n"));
|
||||
break;
|
||||
|
||||
case DWNL_E_UNSUPPORTEDSCHEME:
|
||||
_ftprintf(stderr, _T("\nERROR: Unsupported protocol.\n"));
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
return 1;
|
||||
}
|
||||
|
||||
int _tmain(int argc, TCHAR **argv)
|
||||
{
|
||||
int iErr, iRet = 0;
|
||||
|
||||
if(argc != 2 && argc != 3)
|
||||
{
|
||||
_tprintf(_T("Usage: dwnl URL [DESTINATION]"));
|
||||
return 2;
|
||||
}
|
||||
|
||||
iErr = download_file(argv[1], argc == 3 ? argv[2] : NULL);
|
||||
if (iErr <= 0)
|
||||
iRet = print_err(iErr);
|
||||
|
||||
return iRet;
|
||||
}
|
||||
#include <stdio.h>
|
||||
#define COBJMACROS
|
||||
#include <urlmon.h>
|
||||
#include <wininet.h>
|
||||
#include <tchar.h>
|
||||
|
||||
/* FIXME: add correct definitions to urlmon.idl */
|
||||
#ifdef UNICODE
|
||||
#define URLDownloadToFile URLDownloadToFileW
|
||||
#else
|
||||
#define URLDownloadToFile URLDownloadToFileA
|
||||
#endif
|
||||
|
||||
#define DWNL_E_LASTERROR 0
|
||||
#define DWNL_E_NEEDTARGETFILENAME -1
|
||||
#define DWNL_E_UNSUPPORTEDSCHEME -2
|
||||
|
||||
typedef struct
|
||||
{
|
||||
const IBindStatusCallbackVtbl* lpIBindStatusCallbackVtbl;
|
||||
LONG ref;
|
||||
TCHAR szHostName[INTERNET_MAX_HOST_NAME_LENGTH + 1];
|
||||
TCHAR szMimeType[128];
|
||||
UINT64 Size;
|
||||
UINT64 Progress;
|
||||
UINT bResolving : 1;
|
||||
UINT bConnecting : 1;
|
||||
UINT bSendingReq : 1;
|
||||
UINT bBeginTransfer : 1;
|
||||
} CBindStatusCallback;
|
||||
|
||||
#define impl_to_interface(impl,iface) (struct iface *)(&(impl)->lp##iface##Vtbl)
|
||||
#define interface_to_impl(instance,iface) ((CBindStatusCallback*)((ULONG_PTR)instance - FIELD_OFFSET(CBindStatusCallback,lp##iface##Vtbl)))
|
||||
|
||||
static void
|
||||
CBindStatusCallback_Destroy(CBindStatusCallback *This)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
static void
|
||||
write_status(LPCTSTR lpFmt, ...)
|
||||
{
|
||||
va_list args;
|
||||
|
||||
/* FIXME: Determine line length! */
|
||||
TCHAR szTxt[80];
|
||||
int c;
|
||||
|
||||
va_start(args, lpFmt);
|
||||
_vstprintf(szTxt, lpFmt, args);
|
||||
va_end(args);
|
||||
|
||||
c = _tcslen(szTxt);
|
||||
while (c < (sizeof(szTxt) / sizeof(szTxt[0])) - 1)
|
||||
szTxt[c++] = _T(' ');
|
||||
szTxt[c] = _T('\0');
|
||||
|
||||
_tprintf(_T("\r%.79s"), szTxt);
|
||||
}
|
||||
|
||||
static void
|
||||
CBindStatusCallback_UpdateProgress(CBindStatusCallback *This)
|
||||
{
|
||||
/* FIXME: better output */
|
||||
if (This->Size != 0)
|
||||
{
|
||||
UINT Percentage;
|
||||
|
||||
Percentage = (UINT)((This->Progress * 100) / This->Size);
|
||||
if (Percentage > 99)
|
||||
Percentage = 99;
|
||||
|
||||
write_status(_T("%2d%% (%I64u bytes downloaded)"), Percentage, This->Progress);
|
||||
}
|
||||
else
|
||||
{
|
||||
/* Unknown size */
|
||||
write_status(_T("%I64u bytes downloaded"), This->Progress);
|
||||
}
|
||||
}
|
||||
|
||||
static ULONG STDMETHODCALLTYPE
|
||||
CBindStatusCallback_AddRef(IBindStatusCallback *iface)
|
||||
{
|
||||
CBindStatusCallback *This = interface_to_impl(iface, IBindStatusCallback);
|
||||
ULONG ret;
|
||||
|
||||
ret = InterlockedIncrement((PLONG)&This->ref);
|
||||
return ret;
|
||||
}
|
||||
|
||||
static ULONG STDMETHODCALLTYPE
|
||||
CBindStatusCallback_Release(IBindStatusCallback *iface)
|
||||
{
|
||||
CBindStatusCallback *This = interface_to_impl(iface, IBindStatusCallback);
|
||||
ULONG ret;
|
||||
|
||||
ret = InterlockedDecrement((PLONG)&This->ref);
|
||||
if (ret == 0)
|
||||
{
|
||||
CBindStatusCallback_Destroy(This);
|
||||
|
||||
HeapFree(GetProcessHeap(),
|
||||
0,
|
||||
This);
|
||||
}
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
static HRESULT STDMETHODCALLTYPE
|
||||
CBindStatusCallback_QueryInterface(IBindStatusCallback *iface,
|
||||
REFIID iid,
|
||||
PVOID *pvObject)
|
||||
{
|
||||
CBindStatusCallback *This = interface_to_impl(iface, IBindStatusCallback);
|
||||
|
||||
*pvObject = NULL;
|
||||
|
||||
if (IsEqualIID(iid,
|
||||
&IID_IBindStatusCallback) ||
|
||||
IsEqualIID(iid,
|
||||
&IID_IUnknown))
|
||||
{
|
||||
*pvObject = impl_to_interface(This, IBindStatusCallback);
|
||||
}
|
||||
else
|
||||
return E_NOINTERFACE;
|
||||
|
||||
CBindStatusCallback_AddRef(iface);
|
||||
return S_OK;
|
||||
}
|
||||
|
||||
static HRESULT STDMETHODCALLTYPE
|
||||
CBindStatusCallback_OnStartBinding(IBindStatusCallback *iface,
|
||||
DWORD dwReserved,
|
||||
IBinding* pib)
|
||||
{
|
||||
return E_NOTIMPL;
|
||||
}
|
||||
|
||||
static HRESULT STDMETHODCALLTYPE
|
||||
CBindStatusCallback_GetPriority(IBindStatusCallback *iface,
|
||||
LONG* pnPriority)
|
||||
{
|
||||
return E_NOTIMPL;
|
||||
}
|
||||
|
||||
static HRESULT STDMETHODCALLTYPE
|
||||
CBindStatusCallback_OnLowResource(IBindStatusCallback *iface,
|
||||
DWORD reserved)
|
||||
{
|
||||
return E_NOTIMPL;
|
||||
}
|
||||
|
||||
static HRESULT STDMETHODCALLTYPE
|
||||
CBindStatusCallback_OnProgress(IBindStatusCallback *iface,
|
||||
ULONG ulProgress,
|
||||
ULONG ulProgressMax,
|
||||
ULONG ulStatusCode,
|
||||
LPCWSTR szStatusText)
|
||||
{
|
||||
CBindStatusCallback *This = interface_to_impl(iface, IBindStatusCallback);
|
||||
|
||||
switch (ulStatusCode)
|
||||
{
|
||||
case BINDSTATUS_FINDINGRESOURCE:
|
||||
if (!This->bResolving)
|
||||
{
|
||||
_tcscpy(This->szHostName, szStatusText);
|
||||
This->bResolving = TRUE;
|
||||
|
||||
_tprintf(_T("Resolving %s... "), This->szHostName);
|
||||
}
|
||||
break;
|
||||
|
||||
case BINDSTATUS_CONNECTING:
|
||||
This->bConnecting = TRUE;
|
||||
This->bSendingReq = FALSE;
|
||||
This->bBeginTransfer = FALSE;
|
||||
This->szMimeType[0] = _T('\0');
|
||||
if (This->bResolving)
|
||||
{
|
||||
_tprintf(_T("done.\n"));
|
||||
_tprintf(_T("Connecting to %s[%s]... "), This->szHostName, szStatusText);
|
||||
}
|
||||
else
|
||||
_tprintf(_T("Connecting to %s... "), szStatusText);
|
||||
break;
|
||||
|
||||
case BINDSTATUS_REDIRECTING:
|
||||
This->bResolving = FALSE;
|
||||
This->bConnecting = FALSE;
|
||||
This->bSendingReq = FALSE;
|
||||
This->bBeginTransfer = FALSE;
|
||||
This->szMimeType[0] = _T('\0');
|
||||
_tprintf(_T("Redirecting to %s... "), szStatusText);
|
||||
break;
|
||||
|
||||
case BINDSTATUS_SENDINGREQUEST:
|
||||
This->bBeginTransfer = FALSE;
|
||||
This->szMimeType[0] = _T('\0');
|
||||
if (This->bResolving || This->bConnecting)
|
||||
_tprintf(_T("done.\n"));
|
||||
|
||||
if (!This->bSendingReq)
|
||||
_tprintf(_T("Sending request... "));
|
||||
|
||||
This->bSendingReq = TRUE;
|
||||
break;
|
||||
|
||||
case BINDSTATUS_MIMETYPEAVAILABLE:
|
||||
_tcscpy(This->szMimeType, szStatusText);
|
||||
break;
|
||||
|
||||
case BINDSTATUS_BEGINDOWNLOADDATA:
|
||||
This->Progress = (UINT64)ulProgress;
|
||||
This->Size = (UINT64)ulProgressMax;
|
||||
|
||||
if (This->bSendingReq)
|
||||
_tprintf(_T("done.\n"));
|
||||
|
||||
if (!This->bBeginTransfer && This->Size != 0)
|
||||
{
|
||||
if (This->szMimeType[0] != _T('\0'))
|
||||
_tprintf(_T("Length: %I64u [%s]\n"), This->Size, This->szMimeType);
|
||||
else
|
||||
_tprintf(_T("Length: %ull\n"), This->Size);
|
||||
}
|
||||
|
||||
_tprintf(_T("\n"));
|
||||
|
||||
This->bBeginTransfer = TRUE;
|
||||
break;
|
||||
|
||||
case BINDSTATUS_ENDDOWNLOADDATA:
|
||||
write_status(_T("File saved."));
|
||||
_tprintf(_T("\n"));
|
||||
break;
|
||||
|
||||
case BINDSTATUS_DOWNLOADINGDATA:
|
||||
This->Progress = (UINT64)ulProgress;
|
||||
This->Size = (UINT64)ulProgressMax;
|
||||
|
||||
CBindStatusCallback_UpdateProgress(This);
|
||||
break;
|
||||
}
|
||||
|
||||
return S_OK;
|
||||
}
|
||||
|
||||
static HRESULT STDMETHODCALLTYPE
|
||||
CBindStatusCallback_OnStopBinding(IBindStatusCallback *iface,
|
||||
HRESULT hresult,
|
||||
LPCWSTR szError)
|
||||
{
|
||||
return E_NOTIMPL;
|
||||
}
|
||||
|
||||
static HRESULT STDMETHODCALLTYPE
|
||||
CBindStatusCallback_GetBindInfo(IBindStatusCallback *iface,
|
||||
DWORD* grfBINDF,
|
||||
BINDINFO* pbindinfo)
|
||||
{
|
||||
return E_NOTIMPL;
|
||||
}
|
||||
|
||||
static HRESULT STDMETHODCALLTYPE
|
||||
CBindStatusCallback_OnDataAvailable(IBindStatusCallback *iface,
|
||||
DWORD grfBSCF,
|
||||
DWORD dwSize,
|
||||
FORMATETC* pformatetc,
|
||||
STGMEDIUM* pstgmed)
|
||||
{
|
||||
return E_NOTIMPL;
|
||||
}
|
||||
|
||||
static HRESULT STDMETHODCALLTYPE
|
||||
CBindStatusCallback_OnObjectAvailable(IBindStatusCallback *iface,
|
||||
REFIID riid,
|
||||
IUnknown* punk)
|
||||
{
|
||||
return E_NOTIMPL;
|
||||
}
|
||||
|
||||
static const struct IBindStatusCallbackVtbl vtblIBindStatusCallback =
|
||||
{
|
||||
CBindStatusCallback_QueryInterface,
|
||||
CBindStatusCallback_AddRef,
|
||||
CBindStatusCallback_Release,
|
||||
CBindStatusCallback_OnStartBinding,
|
||||
CBindStatusCallback_GetPriority,
|
||||
CBindStatusCallback_OnLowResource,
|
||||
CBindStatusCallback_OnProgress,
|
||||
CBindStatusCallback_OnStopBinding,
|
||||
CBindStatusCallback_GetBindInfo,
|
||||
CBindStatusCallback_OnDataAvailable,
|
||||
CBindStatusCallback_OnObjectAvailable,
|
||||
};
|
||||
|
||||
static IBindStatusCallback *
|
||||
CreateBindStatusCallback(void)
|
||||
{
|
||||
CBindStatusCallback *This;
|
||||
|
||||
This = HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, sizeof(*This));
|
||||
if (This == NULL)
|
||||
return NULL;
|
||||
|
||||
This->lpIBindStatusCallbackVtbl = &vtblIBindStatusCallback;
|
||||
This->ref = 1;
|
||||
|
||||
return impl_to_interface(This, IBindStatusCallback);
|
||||
}
|
||||
|
||||
|
||||
// ToDo: Show status, get file name from webserver, better error reporting
|
||||
|
||||
static int
|
||||
get_display_url(IN LPURL_COMPONENTS purl,
|
||||
OUT TCHAR *szBuffer,
|
||||
IN PDWORD pdwBufferSize)
|
||||
{
|
||||
URL_COMPONENTS urlc;
|
||||
|
||||
/* Hide the password */
|
||||
urlc = *purl;
|
||||
urlc.lpszPassword = NULL;
|
||||
urlc.dwPasswordLength = 0;
|
||||
|
||||
if (!InternetCreateUrl(&urlc, ICU_ESCAPE, szBuffer, pdwBufferSize))
|
||||
return DWNL_E_LASTERROR;
|
||||
|
||||
return 1;
|
||||
}
|
||||
|
||||
static int
|
||||
download_file(IN LPCTSTR pszUrl,
|
||||
IN LPCTSTR pszFile OPTIONAL)
|
||||
{
|
||||
TCHAR szScheme[INTERNET_MAX_SCHEME_LENGTH + 1];
|
||||
TCHAR szHostName[INTERNET_MAX_HOST_NAME_LENGTH + 1];
|
||||
TCHAR szUserName[INTERNET_MAX_USER_NAME_LENGTH + 1];
|
||||
TCHAR szPassWord[INTERNET_MAX_PASSWORD_LENGTH + 1];
|
||||
TCHAR szUrlPath[INTERNET_MAX_PATH_LENGTH + 1];
|
||||
TCHAR szExtraInfo[INTERNET_MAX_PATH_LENGTH + 1];
|
||||
TCHAR szUrl[INTERNET_MAX_URL_LENGTH + 1];
|
||||
DWORD dwUrlLen;
|
||||
LPTSTR pszFilePart;
|
||||
URL_COMPONENTS urlc;
|
||||
IBindStatusCallback *pbsc;
|
||||
int iRet;
|
||||
|
||||
if (pszFile != NULL && pszFile[0] == _T('\0'))
|
||||
pszFile = NULL;
|
||||
|
||||
urlc.dwStructSize = sizeof(urlc);
|
||||
urlc.lpszScheme = szScheme;
|
||||
urlc.dwSchemeLength = sizeof(szScheme) / sizeof(szScheme[0]);
|
||||
urlc.lpszHostName = szHostName;
|
||||
urlc.dwHostNameLength = sizeof(szHostName) / sizeof(szHostName[0]);
|
||||
urlc.lpszUserName = szUserName;
|
||||
urlc.dwUserNameLength = sizeof(szUserName) / sizeof(szUserName[0]);
|
||||
urlc.lpszPassword = szPassWord;
|
||||
urlc.dwPasswordLength = sizeof(szPassWord) / sizeof(szPassWord[0]);
|
||||
urlc.lpszUrlPath = szUrlPath;
|
||||
urlc.dwUrlPathLength = sizeof(szUrlPath) / sizeof(szUrlPath[0]);
|
||||
urlc.lpszExtraInfo = szExtraInfo;
|
||||
urlc.dwExtraInfoLength = sizeof(szExtraInfo) / sizeof(szExtraInfo[0]);
|
||||
if (!InternetCrackUrl(pszUrl, _tcslen(pszUrl), ICU_ESCAPE, &urlc))
|
||||
return DWNL_E_LASTERROR;
|
||||
|
||||
if (urlc.nScheme != INTERNET_SCHEME_FTP &&
|
||||
urlc.nScheme != INTERNET_SCHEME_GOPHER &&
|
||||
urlc.nScheme != INTERNET_SCHEME_HTTP &&
|
||||
urlc.nScheme != INTERNET_SCHEME_HTTPS)
|
||||
{
|
||||
return DWNL_E_UNSUPPORTEDSCHEME;
|
||||
}
|
||||
|
||||
if (urlc.nScheme == INTERNET_SCHEME_FTP && urlc.dwUserNameLength == 0 && urlc.dwPasswordLength == 0)
|
||||
{
|
||||
_tcscpy(szUserName, _T("anonymous"));
|
||||
urlc.dwUserNameLength = _tcslen(szUserName);
|
||||
}
|
||||
|
||||
/* FIXME: Get file name from server */
|
||||
if (urlc.dwUrlPathLength == 0 && pszFile == NULL)
|
||||
return DWNL_E_NEEDTARGETFILENAME;
|
||||
|
||||
pszFilePart = _tcsrchr(szUrlPath, _T('/'));
|
||||
if (pszFilePart != NULL)
|
||||
pszFilePart++;
|
||||
|
||||
if (pszFilePart == NULL && pszFile == NULL)
|
||||
return DWNL_E_NEEDTARGETFILENAME;
|
||||
|
||||
if (pszFile == NULL)
|
||||
pszFile = pszFilePart;
|
||||
|
||||
if (urlc.dwUserNameLength == 0)
|
||||
urlc.lpszUserName = NULL;
|
||||
|
||||
if (urlc.dwPasswordLength == 0)
|
||||
urlc.lpszPassword = NULL;
|
||||
|
||||
/* Generate the URL to be displayed (without a password) */
|
||||
dwUrlLen = sizeof(szUrl) / sizeof(szUrl[0]);
|
||||
iRet = get_display_url(&urlc, szUrl, &dwUrlLen);
|
||||
if (iRet <= 0)
|
||||
return iRet;
|
||||
|
||||
_tprintf(_T("Download `%s\'\n\t=> `%s\'\n"), szUrl, pszFile);
|
||||
|
||||
/* Generate the URL to download */
|
||||
dwUrlLen = sizeof(szUrl) / sizeof(szUrl[0]);
|
||||
if (!InternetCreateUrl(&urlc, ICU_ESCAPE, szUrl, &dwUrlLen))
|
||||
return DWNL_E_LASTERROR;
|
||||
|
||||
pbsc = CreateBindStatusCallback();
|
||||
if (pbsc == NULL)
|
||||
return DWNL_E_LASTERROR;
|
||||
|
||||
if(!SUCCEEDED(URLDownloadToFile(NULL, szUrl, pszFile, 0, pbsc)))
|
||||
{
|
||||
IBindStatusCallback_Release(pbsc);
|
||||
return DWNL_E_LASTERROR; /* FIXME */
|
||||
}
|
||||
|
||||
IBindStatusCallback_Release(pbsc);
|
||||
return 1;
|
||||
}
|
||||
|
||||
static int
|
||||
print_err(int iErr)
|
||||
{
|
||||
write_status(_T(""));
|
||||
|
||||
if (iErr == DWNL_E_LASTERROR)
|
||||
{
|
||||
if (GetLastError() == ERROR_SUCCESS)
|
||||
{
|
||||
/* File not found */
|
||||
_ftprintf(stderr, _T("\nERROR: Download failed.\n"));
|
||||
}
|
||||
else
|
||||
{
|
||||
/* Display last error code */
|
||||
_ftprintf(stderr, _T("\nERROR: %u\n"), GetLastError());
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
switch (iErr)
|
||||
{
|
||||
case DWNL_E_NEEDTARGETFILENAME:
|
||||
_ftprintf(stderr, _T("\nERROR: Cannot determine filename, please specify a destination file name.\n"));
|
||||
break;
|
||||
|
||||
case DWNL_E_UNSUPPORTEDSCHEME:
|
||||
_ftprintf(stderr, _T("\nERROR: Unsupported protocol.\n"));
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
return 1;
|
||||
}
|
||||
|
||||
int _tmain(int argc, TCHAR **argv)
|
||||
{
|
||||
int iErr, iRet = 0;
|
||||
|
||||
if(argc != 2 && argc != 3)
|
||||
{
|
||||
_tprintf(_T("Usage: dwnl URL [DESTINATION]"));
|
||||
return 2;
|
||||
}
|
||||
|
||||
iErr = download_file(argv[1], argc == 3 ? argv[2] : NULL);
|
||||
if (iErr <= 0)
|
||||
iRet = print_err(iErr);
|
||||
|
||||
return iRet;
|
||||
}
|
||||
|
||||
@@ -1,10 +1,10 @@
|
||||
<?xml version="1.0"?>
|
||||
<!DOCTYPE module SYSTEM "../../../../tools/rbuild/project.dtd">
|
||||
<module name="dwnl" type="win32cui" installbase="system32" installname="dwnl.exe" unicode="yes">
|
||||
<include base="dwnl">.</include>
|
||||
<library>kernel32</library>
|
||||
<library>urlmon</library>
|
||||
<library>wininet</library>
|
||||
<library>uuid</library>
|
||||
<file>dwnl.c</file>
|
||||
</module>
|
||||
<?xml version="1.0"?>
|
||||
<!DOCTYPE module SYSTEM "../../../../tools/rbuild/project.dtd">
|
||||
<module name="dwnl" type="win32cui" installbase="system32" installname="dwnl.exe" unicode="yes">
|
||||
<include base="dwnl">.</include>
|
||||
<library>kernel32</library>
|
||||
<library>urlmon</library>
|
||||
<library>wininet</library>
|
||||
<library>uuid</library>
|
||||
<file>dwnl.c</file>
|
||||
</module>
|
||||
|
||||
@@ -1,63 +1,63 @@
|
||||
#include "precomp.h"
|
||||
|
||||
static INT
|
||||
LengthOfStrResource(IN HINSTANCE hInst,
|
||||
IN UINT uID)
|
||||
{
|
||||
HRSRC hrSrc;
|
||||
HGLOBAL hRes;
|
||||
LPWSTR lpName, lpStr;
|
||||
|
||||
if (hInst == NULL)
|
||||
{
|
||||
return -1;
|
||||
}
|
||||
|
||||
/* There are always blocks of 16 strings */
|
||||
lpName = (LPWSTR)MAKEINTRESOURCE((uID >> 4) + 1);
|
||||
|
||||
/* Find the string table block */
|
||||
if ((hrSrc = FindResourceW(hInst, lpName, (LPWSTR)RT_STRING)) &&
|
||||
(hRes = LoadResource(hInst, hrSrc)) &&
|
||||
(lpStr = (WCHAR*) LockResource(hRes)))
|
||||
{
|
||||
UINT x;
|
||||
|
||||
/* Find the string we're looking for */
|
||||
uID &= 0xF; /* position in the block, same as % 16 */
|
||||
for (x = 0; x < uID; x++)
|
||||
{
|
||||
lpStr += (*lpStr) + 1;
|
||||
}
|
||||
|
||||
/* Found the string */
|
||||
return (int)(*lpStr);
|
||||
}
|
||||
return -1;
|
||||
}
|
||||
|
||||
INT
|
||||
AllocAndLoadString(OUT LPTSTR *lpTarget,
|
||||
IN HINSTANCE hInst,
|
||||
IN UINT uID)
|
||||
{
|
||||
INT ln;
|
||||
|
||||
ln = LengthOfStrResource(hInst,
|
||||
uID);
|
||||
if (ln++ > 0)
|
||||
{
|
||||
(*lpTarget) = (LPTSTR)LocalAlloc(LMEM_FIXED,
|
||||
ln * sizeof(TCHAR));
|
||||
if ((*lpTarget) != NULL)
|
||||
{
|
||||
INT Ret;
|
||||
if (!(Ret = LoadString(hInst, uID, *lpTarget, ln)))
|
||||
{
|
||||
LocalFree((HLOCAL)(*lpTarget));
|
||||
}
|
||||
return Ret;
|
||||
}
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
#include "precomp.h"
|
||||
|
||||
static INT
|
||||
LengthOfStrResource(IN HINSTANCE hInst,
|
||||
IN UINT uID)
|
||||
{
|
||||
HRSRC hrSrc;
|
||||
HGLOBAL hRes;
|
||||
LPWSTR lpName, lpStr;
|
||||
|
||||
if (hInst == NULL)
|
||||
{
|
||||
return -1;
|
||||
}
|
||||
|
||||
/* There are always blocks of 16 strings */
|
||||
lpName = (LPWSTR)MAKEINTRESOURCE((uID >> 4) + 1);
|
||||
|
||||
/* Find the string table block */
|
||||
if ((hrSrc = FindResourceW(hInst, lpName, (LPWSTR)RT_STRING)) &&
|
||||
(hRes = LoadResource(hInst, hrSrc)) &&
|
||||
(lpStr = (WCHAR*) LockResource(hRes)))
|
||||
{
|
||||
UINT x;
|
||||
|
||||
/* Find the string we're looking for */
|
||||
uID &= 0xF; /* position in the block, same as % 16 */
|
||||
for (x = 0; x < uID; x++)
|
||||
{
|
||||
lpStr += (*lpStr) + 1;
|
||||
}
|
||||
|
||||
/* Found the string */
|
||||
return (int)(*lpStr);
|
||||
}
|
||||
return -1;
|
||||
}
|
||||
|
||||
INT
|
||||
AllocAndLoadString(OUT LPTSTR *lpTarget,
|
||||
IN HINSTANCE hInst,
|
||||
IN UINT uID)
|
||||
{
|
||||
INT ln;
|
||||
|
||||
ln = LengthOfStrResource(hInst,
|
||||
uID);
|
||||
if (ln++ > 0)
|
||||
{
|
||||
(*lpTarget) = (LPTSTR)LocalAlloc(LMEM_FIXED,
|
||||
ln * sizeof(TCHAR));
|
||||
if ((*lpTarget) != NULL)
|
||||
{
|
||||
INT Ret;
|
||||
if (!(Ret = LoadString(hInst, uID, *lpTarget, ln)))
|
||||
{
|
||||
LocalFree((HLOCAL)(*lpTarget));
|
||||
}
|
||||
return Ret;
|
||||
}
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
@@ -1,16 +1,16 @@
|
||||
#ifndef __SHUTDOWN_PRECOMP_H
|
||||
#define __SHUTDOWN_PRECOMP_H
|
||||
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
#include <windows.h>
|
||||
#include <tchar.h>
|
||||
#include <reason.h> //shutdown codes
|
||||
#include "resource.h"
|
||||
|
||||
// misc.c
|
||||
INT AllocAndLoadString(OUT LPTSTR *lpTarget,
|
||||
IN HINSTANCE hInst,
|
||||
IN UINT uID);
|
||||
|
||||
#endif
|
||||
#ifndef __SHUTDOWN_PRECOMP_H
|
||||
#define __SHUTDOWN_PRECOMP_H
|
||||
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
#include <windows.h>
|
||||
#include <tchar.h>
|
||||
#include <reason.h> //shutdown codes
|
||||
#include "resource.h"
|
||||
|
||||
// misc.c
|
||||
INT AllocAndLoadString(OUT LPTSTR *lpTarget,
|
||||
IN HINSTANCE hInst,
|
||||
IN UINT uID);
|
||||
|
||||
#endif
|
||||
|
||||
@@ -1 +1 @@
|
||||
#define IDS_USAGE 1000
|
||||
#define IDS_USAGE 1000
|
||||
|
||||
@@ -1,46 +1,46 @@
|
||||
/*
|
||||
* Spanish language file by Javier Remacha <2007-2008>
|
||||
*/
|
||||
LANGUAGE LANG_SPANISH, SUBLANG_NEUTRAL
|
||||
|
||||
IDM_MAINMENU MENU DISCARDABLE
|
||||
BEGIN
|
||||
POPUP "&Opciones"
|
||||
BEGIN
|
||||
MENUITEM "P&ropiedades", IDC_PROPERTIES
|
||||
MENUITEM "&Controles Avanzados", IDC_ADVANCED_CONTROLS
|
||||
MENUITEM SEPARATOR
|
||||
MENUITEM "&Salir", IDC_EXIT
|
||||
END
|
||||
POPUP "Ay&uda"
|
||||
BEGIN
|
||||
MENUITEM "&Temas de Ayuda", IDC_HELP_TOPICS
|
||||
MENUITEM SEPARATOR
|
||||
MENUITEM "&Acerca de Control de Volumen", IDC_ABOUT
|
||||
END
|
||||
END
|
||||
|
||||
STRINGTABLE DISCARDABLE
|
||||
BEGIN
|
||||
IDS_SNDVOL32 "Control de Volumen"
|
||||
IDS_NOMIXERDEVICES "¡No hay dispositivos mezcladores activos en este momento! \n\La aplicación se cerrará ahora."
|
||||
END
|
||||
|
||||
IDD_PREFERENCES DIALOGEX 0, 0, 224, 250
|
||||
STYLE DS_SHELLFONT | DS_MODALFRAME | DS_CONTEXTHELP | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
|
||||
CAPTION "Propiedades"
|
||||
FONT 8, "MS Shell Dlg", 0, 0, 0x0
|
||||
BEGIN
|
||||
LTEXT "&Dispositivo me&zclador:", -1, 7,8,48,9
|
||||
COMBOBOX IDC_MIXERDEVICE, 55,8,162,80, CBS_DROPDOWNLIST | WS_TABSTOP
|
||||
GROUPBOX "Ajustar volumen de:", -1, 7,25,211,77
|
||||
PUSHBUTTON "&Reproducción", IDC_PLAYBACK, 13,43,47,8, BS_AUTORADIOBUTTON
|
||||
PUSHBUTTON "&Grabación", IDC_RECORDING, 13,61,47,8, BS_AUTORADIOBUTTON
|
||||
PUSHBUTTON "&Otros:", IDC_OTHER, 13,80,42,8, BS_AUTORADIOBUTTON | WS_DISABLED
|
||||
COMBOBOX IDC_LINE, 55,80,155,50, CBS_DROPDOWNLIST | WS_TABSTOP | WS_DISABLED
|
||||
LTEXT "Mostrar los controles de volumen siguientes:", IDC_LABELCONTROLS, 7, 109, 162, 8
|
||||
CONTROL "", IDC_CONTROLS, "SysListView32", LVS_REPORT | LVS_NOCOLUMNHEADER | WS_TABSTOP | WS_BORDER, 7, 122, 211, 96
|
||||
|
||||
PUSHBUTTON "Aceptar", IDOK, 114,226,50,14
|
||||
PUSHBUTTON "Cancelar", IDCANCEL, 168,226,50,14
|
||||
END
|
||||
/*
|
||||
* Spanish language file by Javier Remacha <2007-2008>
|
||||
*/
|
||||
LANGUAGE LANG_SPANISH, SUBLANG_NEUTRAL
|
||||
|
||||
IDM_MAINMENU MENU DISCARDABLE
|
||||
BEGIN
|
||||
POPUP "&Opciones"
|
||||
BEGIN
|
||||
MENUITEM "P&ropiedades", IDC_PROPERTIES
|
||||
MENUITEM "&Controles Avanzados", IDC_ADVANCED_CONTROLS
|
||||
MENUITEM SEPARATOR
|
||||
MENUITEM "&Salir", IDC_EXIT
|
||||
END
|
||||
POPUP "Ay&uda"
|
||||
BEGIN
|
||||
MENUITEM "&Temas de Ayuda", IDC_HELP_TOPICS
|
||||
MENUITEM SEPARATOR
|
||||
MENUITEM "&Acerca de Control de Volumen", IDC_ABOUT
|
||||
END
|
||||
END
|
||||
|
||||
STRINGTABLE DISCARDABLE
|
||||
BEGIN
|
||||
IDS_SNDVOL32 "Control de Volumen"
|
||||
IDS_NOMIXERDEVICES "¡No hay dispositivos mezcladores activos en este momento! \n\La aplicación se cerrará ahora."
|
||||
END
|
||||
|
||||
IDD_PREFERENCES DIALOGEX 0, 0, 224, 250
|
||||
STYLE DS_SHELLFONT | DS_MODALFRAME | DS_CONTEXTHELP | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
|
||||
CAPTION "Propiedades"
|
||||
FONT 8, "MS Shell Dlg", 0, 0, 0x0
|
||||
BEGIN
|
||||
LTEXT "&Dispositivo me&zclador:", -1, 7,8,48,9
|
||||
COMBOBOX IDC_MIXERDEVICE, 55,8,162,80, CBS_DROPDOWNLIST | WS_TABSTOP
|
||||
GROUPBOX "Ajustar volumen de:", -1, 7,25,211,77
|
||||
PUSHBUTTON "&Reproducción", IDC_PLAYBACK, 13,43,47,8, BS_AUTORADIOBUTTON
|
||||
PUSHBUTTON "&Grabación", IDC_RECORDING, 13,61,47,8, BS_AUTORADIOBUTTON
|
||||
PUSHBUTTON "&Otros:", IDC_OTHER, 13,80,42,8, BS_AUTORADIOBUTTON | WS_DISABLED
|
||||
COMBOBOX IDC_LINE, 55,80,155,50, CBS_DROPDOWNLIST | WS_TABSTOP | WS_DISABLED
|
||||
LTEXT "Mostrar los controles de volumen siguientes:", IDC_LABELCONTROLS, 7, 109, 162, 8
|
||||
CONTROL "", IDC_CONTROLS, "SysListView32", LVS_REPORT | LVS_NOCOLUMNHEADER | WS_TABSTOP | WS_BORDER, 7, 122, 211, 96
|
||||
|
||||
PUSHBUTTON "Aceptar", IDOK, 114,226,50,14
|
||||
PUSHBUTTON "Cancelar", IDCANCEL, 168,226,50,14
|
||||
END
|
||||
|
||||
@@ -1,19 +1,19 @@
|
||||
/*
|
||||
* Copyright 2008 Robert Shearman
|
||||
*
|
||||
* This library is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU Lesser General Public
|
||||
* License as published by the Free Software Foundation; either
|
||||
* version 2.1 of the License, or (at your option) any later version.
|
||||
*
|
||||
* This library 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
|
||||
* Lesser General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Lesser General Public
|
||||
* License along with this library; if not, write to the Free Software
|
||||
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
|
||||
*/
|
||||
|
||||
#include "wine/epm.idl"
|
||||
/*
|
||||
* Copyright 2008 Robert Shearman
|
||||
*
|
||||
* This library is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU Lesser General Public
|
||||
* License as published by the Free Software Foundation; either
|
||||
* version 2.1 of the License, or (at your option) any later version.
|
||||
*
|
||||
* This library 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
|
||||
* Lesser General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Lesser General Public
|
||||
* License along with this library; if not, write to the Free Software
|
||||
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
|
||||
*/
|
||||
|
||||
#include "wine/epm.idl"
|
||||
|
||||
@@ -1,19 +1,19 @@
|
||||
/*
|
||||
* Copyright 2007 Robert Shearman for CodeWeavers
|
||||
*
|
||||
* This library is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU Lesser General Public
|
||||
* License as published by the Free Software Foundation; either
|
||||
* version 2.1 of the License, or (at your option) any later version.
|
||||
*
|
||||
* This library 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
|
||||
* Lesser General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Lesser General Public
|
||||
* License along with this library; if not, write to the Free Software
|
||||
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
|
||||
*/
|
||||
|
||||
#include "wine/irot.idl"
|
||||
/*
|
||||
* Copyright 2007 Robert Shearman for CodeWeavers
|
||||
*
|
||||
* This library is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU Lesser General Public
|
||||
* License as published by the Free Software Foundation; either
|
||||
* version 2.1 of the License, or (at your option) any later version.
|
||||
*
|
||||
* This library 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
|
||||
* Lesser General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Lesser General Public
|
||||
* License along with this library; if not, write to the Free Software
|
||||
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
|
||||
*/
|
||||
|
||||
#include "wine/irot.idl"
|
||||
|
||||
@@ -1,75 +1,75 @@
|
||||
#include "resource.h"
|
||||
/*
|
||||
* PROJECT: ReactOS CMD Format.
|
||||
* LICENSE: GPL - See COPYING in the top level directory
|
||||
* FILE: reactos/base/system/format/lang/uk-UA.rc
|
||||
* PURPOSE: Ukraianian Language File for Format command
|
||||
* PROGRAMMERS: Rostislav Zabolotny
|
||||
*/
|
||||
|
||||
|
||||
LANGUAGE LANG_UKRAINIAN, SUBLANG_DEFAULT
|
||||
STRINGTABLE DISCARDABLE
|
||||
BEGIN
|
||||
STRING_HELP, "Âèêîðèñòàííÿ: %s ïðèñòð³é: [-FS:ôàéë-ñèñòåìà] [-V:ì³òêà] [-Q] [-A:ðîçì³ð] [-C]\n\n\
|
||||
[ïðèñòð³é:] Âêàçóº äèñê, ÿêèé ñë³ä â³äôîðìàòóâàòè (äâîêðàïêà îáîâ'ÿçêîâà).\n\
|
||||
-FS:ôàéë-ñèñòåìà Âèçíà÷ຠòèï ôàéëîâî¿ ñèñòåìè (%s).\n\
|
||||
-V:ì³òêà Âèçíà÷ຠêîðîòêó íàçâó äèñêó.\n\
|
||||
-Q Øâèäêå ôîðìàòóâàííÿ.\n\
|
||||
-A:ðîçì³ð Ïåðåâèçíà÷ຠðîçì³ð êëàñòåðà çà çàìîâ÷óâàííÿì. Ðåêîìåíäóºòüñÿ \n\
|
||||
âèêîðèñòîâóâàòè çíà÷åííÿ çà çàìîâ÷óâàííÿì.\n\
|
||||
NTFS ï³äòðèìóº 512, 1024, 2048, 4096, 8192, 16K, 32K, 64K.\n\
|
||||
FAT ï³äòðèìóº 8192, 16K, 32K, 64K, 128K, 256K.\n\
|
||||
NTFS ñòèñêàííÿ íå ï³äòðèìóºòüñÿ äëÿ êëàñòåð³â á³ëüøèõ çà 4096.\n\
|
||||
-C Âñòàíîâëþº ðåæèì ñòèñêàííÿ äëÿ âñ³õ íîâèõ ôàéë³â,\n\
|
||||
ÿê³ ñòâîðþþòüñÿ íà äèñêó.\n\n"
|
||||
|
||||
STRING_COMPLETE "%lu â³äñîòê³â âèêîíàíî.\r"
|
||||
|
||||
STRING_FORMAT_FAIL "FormatEx íå çì³ã óñï³øíî âèêîíàòè çàâäàííÿ.\n\n"
|
||||
|
||||
STRING_NO_SUPPORT "Ôóíêö³ÿ íå ï³äòðèìóºòüñÿ"
|
||||
|
||||
STRING_FMIFS_FAIL "Íå çì³ã çíàöòè FMIFS òî÷êè âõîäó.\n\n"
|
||||
|
||||
STRING_UNKNOW_ARG "Íåâ³äîìèé àðãóìåíò: %s\n"
|
||||
|
||||
STRING_DRIVE_PARM "Íåîáõ³äíèé ïàðàìåòð îïåðàö³¿ â³äñóòí³é.\n\n"
|
||||
|
||||
STRING_ERROR_DRIVE_TYPE "Íå âäàëîñÿ âòñàíâèòè òèï ïðèñòðîþ"
|
||||
|
||||
STRING_INSERT_DISK "Âñòàâòå ÷èñòèé äèñê â ïðèñòð³é %C:\n³ íàòèñí³òü Enter ùîá ïðîäîâæèòè..."
|
||||
|
||||
STRING_NO_VOLUME "Íå âäàëîñÿ âèêîíàòè çàïèò äî ïðèñòðîþ"
|
||||
|
||||
STRING_NO_VOLUME_SIZE "Íå âäàëîñÿ âèçíà÷èòè ðîçì³ð äèñêó"
|
||||
|
||||
STRING_FILESYSTEM "Âèçíà÷åíà ôàéëîâà ñèñòåìà %s.\n"
|
||||
|
||||
STRING_LABEL_NAME_EDIT "Âèçíà÷òå ì³òêó äèñêó %C: "
|
||||
|
||||
STRING_ERROR_LABEL "Áóëî âêàçàíî íåêîððåêòíó ì³òêó.\n"
|
||||
|
||||
STRING_YN_FORMAT "\nÓÂÀÃÀ! ÂѲ ÄÀͲ ÍÀ Ô²ÊÑÎÂÀÍÎÌÓ ÄÈÑÊÓ %C:\n\
|
||||
ÁÓÄÅ ÂÒÐÀ×ÅÍÎ! \nÐîçïî÷àòè ôîðìàòóâàííÿ(Y/N)? "
|
||||
|
||||
STRING_YES_NO_FAQ "YN"
|
||||
|
||||
STRING_VERIFYING "Ïåðåâ³ðêà"
|
||||
|
||||
STRING_FAST_FMT "Øâèäêå ôîðìàòóâàííÿ"
|
||||
|
||||
STRING_CREATE_FSYS "Ñòâîðåííÿ ôàéëîâî¿ ñèñòåìè.\n"
|
||||
|
||||
STRING_FMT_COMPLETE "Ôîðìàòóâàííÿ çàâåðøåíî.\n"
|
||||
|
||||
STRING_VOL_COMPRESS "Äèñê íå ï³äòðèìóº ñòèñêàííÿ.\n"
|
||||
|
||||
STRING_ENTER_LABEL "̳òêà äèñêó (11 ñèìâîë³â,íàòèñí³òü Enter ÿêùî íå òðåáà)? "
|
||||
|
||||
STRING_NO_LABEL "Íå ìîæó âñòàíîâèòè ì³òêó äèñêó"
|
||||
|
||||
STRING_FREE_SPACE "\n%I64d áàéò³â íà äèñêó.\n%I64d áàéò³â íàÿâíî íà äèñêó.\n"
|
||||
|
||||
STRING_SERIAL_NUMBER "\nÑåð³éíèé íîìåð äèñêó - %04X-%04X\n"
|
||||
END
|
||||
#include "resource.h"
|
||||
/*
|
||||
* PROJECT: ReactOS CMD Format.
|
||||
* LICENSE: GPL - See COPYING in the top level directory
|
||||
* FILE: reactos/base/system/format/lang/uk-UA.rc
|
||||
* PURPOSE: Ukraianian Language File for Format command
|
||||
* PROGRAMMERS: Rostislav Zabolotny
|
||||
*/
|
||||
|
||||
|
||||
LANGUAGE LANG_UKRAINIAN, SUBLANG_DEFAULT
|
||||
STRINGTABLE DISCARDABLE
|
||||
BEGIN
|
||||
STRING_HELP, "Âèêîðèñòàííÿ: %s ïðèñòð³é: [-FS:ôàéë-ñèñòåìà] [-V:ì³òêà] [-Q] [-A:ðîçì³ð] [-C]\n\n\
|
||||
[ïðèñòð³é:] Âêàçóº äèñê, ÿêèé ñë³ä â³äôîðìàòóâàòè (äâîêðàïêà îáîâ'ÿçêîâà).\n\
|
||||
-FS:ôàéë-ñèñòåìà Âèçíà÷ຠòèï ôàéëîâî¿ ñèñòåìè (%s).\n\
|
||||
-V:ì³òêà Âèçíà÷ຠêîðîòêó íàçâó äèñêó.\n\
|
||||
-Q Øâèäêå ôîðìàòóâàííÿ.\n\
|
||||
-A:ðîçì³ð Ïåðåâèçíà÷ຠðîçì³ð êëàñòåðà çà çàìîâ÷óâàííÿì. Ðåêîìåíäóºòüñÿ \n\
|
||||
âèêîðèñòîâóâàòè çíà÷åííÿ çà çàìîâ÷óâàííÿì.\n\
|
||||
NTFS ï³äòðèìóº 512, 1024, 2048, 4096, 8192, 16K, 32K, 64K.\n\
|
||||
FAT ï³äòðèìóº 8192, 16K, 32K, 64K, 128K, 256K.\n\
|
||||
NTFS ñòèñêàííÿ íå ï³äòðèìóºòüñÿ äëÿ êëàñòåð³â á³ëüøèõ çà 4096.\n\
|
||||
-C Âñòàíîâëþº ðåæèì ñòèñêàííÿ äëÿ âñ³õ íîâèõ ôàéë³â,\n\
|
||||
ÿê³ ñòâîðþþòüñÿ íà äèñêó.\n\n"
|
||||
|
||||
STRING_COMPLETE "%lu â³äñîòê³â âèêîíàíî.\r"
|
||||
|
||||
STRING_FORMAT_FAIL "FormatEx íå çì³ã óñï³øíî âèêîíàòè çàâäàííÿ.\n\n"
|
||||
|
||||
STRING_NO_SUPPORT "Ôóíêö³ÿ íå ï³äòðèìóºòüñÿ"
|
||||
|
||||
STRING_FMIFS_FAIL "Íå çì³ã çíàöòè FMIFS òî÷êè âõîäó.\n\n"
|
||||
|
||||
STRING_UNKNOW_ARG "Íåâ³äîìèé àðãóìåíò: %s\n"
|
||||
|
||||
STRING_DRIVE_PARM "Íåîáõ³äíèé ïàðàìåòð îïåðàö³¿ â³äñóòí³é.\n\n"
|
||||
|
||||
STRING_ERROR_DRIVE_TYPE "Íå âäàëîñÿ âòñàíâèòè òèï ïðèñòðîþ"
|
||||
|
||||
STRING_INSERT_DISK "Âñòàâòå ÷èñòèé äèñê â ïðèñòð³é %C:\n³ íàòèñí³òü Enter ùîá ïðîäîâæèòè..."
|
||||
|
||||
STRING_NO_VOLUME "Íå âäàëîñÿ âèêîíàòè çàïèò äî ïðèñòðîþ"
|
||||
|
||||
STRING_NO_VOLUME_SIZE "Íå âäàëîñÿ âèçíà÷èòè ðîçì³ð äèñêó"
|
||||
|
||||
STRING_FILESYSTEM "Âèçíà÷åíà ôàéëîâà ñèñòåìà %s.\n"
|
||||
|
||||
STRING_LABEL_NAME_EDIT "Âèçíà÷òå ì³òêó äèñêó %C: "
|
||||
|
||||
STRING_ERROR_LABEL "Áóëî âêàçàíî íåêîððåêòíó ì³òêó.\n"
|
||||
|
||||
STRING_YN_FORMAT "\nÓÂÀÃÀ! ÂѲ ÄÀͲ ÍÀ Ô²ÊÑÎÂÀÍÎÌÓ ÄÈÑÊÓ %C:\n\
|
||||
ÁÓÄÅ ÂÒÐÀ×ÅÍÎ! \nÐîçïî÷àòè ôîðìàòóâàííÿ(Y/N)? "
|
||||
|
||||
STRING_YES_NO_FAQ "YN"
|
||||
|
||||
STRING_VERIFYING "Ïåðåâ³ðêà"
|
||||
|
||||
STRING_FAST_FMT "Øâèäêå ôîðìàòóâàííÿ"
|
||||
|
||||
STRING_CREATE_FSYS "Ñòâîðåííÿ ôàéëîâî¿ ñèñòåìè.\n"
|
||||
|
||||
STRING_FMT_COMPLETE "Ôîðìàòóâàííÿ çàâåðøåíî.\n"
|
||||
|
||||
STRING_VOL_COMPRESS "Äèñê íå ï³äòðèìóº ñòèñêàííÿ.\n"
|
||||
|
||||
STRING_ENTER_LABEL "̳òêà äèñêó (11 ñèìâîë³â,íàòèñí³òü Enter ÿêùî íå òðåáà)? "
|
||||
|
||||
STRING_NO_LABEL "Íå ìîæó âñòàíîâèòè ì³òêó äèñêó"
|
||||
|
||||
STRING_FREE_SPACE "\n%I64d áàéò³â íà äèñêó.\n%I64d áàéò³â íàÿâíî íà äèñêó.\n"
|
||||
|
||||
STRING_SERIAL_NUMBER "\nÑåð³éíèé íîìåð äèñêó - %04X-%04X\n"
|
||||
END
|
||||
|
||||
@@ -1,29 +1,29 @@
|
||||
#include "resource.h"
|
||||
|
||||
|
||||
LANGUAGE LANG_UKRAINIAN, SUBLANG_DEFAULT
|
||||
STRINGTABLE DISCARDABLE
|
||||
BEGIN
|
||||
|
||||
IDS_UsageMessage, "%s\n\nВикористання: regsvr32 [/u] [/s] [/c] [/n] [/i[:параметри]] назва_dll\n\
|
||||
/u - Відмінити реєстрацію сервера\n\
|
||||
/s - Тихий режим: Не виводити повідомлень\n\
|
||||
/c - Вивід в консоль\n\
|
||||
/i - Викликати DllInstall з додатковими параметрами [параметри]; Коли використовується ключ /u викликається DllUninstall\n\
|
||||
/n - Не викликати DllRegisterServer; цей ключ має використовуватися з /i"
|
||||
|
||||
IDS_NoDllSpecified, "Не вказано ім'я DLL."
|
||||
|
||||
IDS_InvalidFlag, "Невідомий ключ: %s"
|
||||
|
||||
IDS_SwitchN_NoI, "Невідомий ключ: /n використовується лише з ключем /i"
|
||||
|
||||
IDS_DllNotLoaded, "LoadLibrary('%s') завершився аварійно.\nGetLastError повернуло 0x%08x."
|
||||
|
||||
IDS_MissingEntry, "%s було запущено, але точка входу для %s не знайдено.\n\n\
|
||||
%s може не експортуватись, чи в пам'яті лежить пошкоджена версія %s. Для того щоб знайти і видалти %s, використовуйте PView."
|
||||
|
||||
IDS_FailureMessage, "%s в %s завершилося аварійно.\nКод завершення: 0x%08x"
|
||||
|
||||
IDS_SuccessMessage "%s в %s успішно виконано."
|
||||
END
|
||||
#include "resource.h"
|
||||
|
||||
|
||||
LANGUAGE LANG_UKRAINIAN, SUBLANG_DEFAULT
|
||||
STRINGTABLE DISCARDABLE
|
||||
BEGIN
|
||||
|
||||
IDS_UsageMessage, "%s\n\nВикористання: regsvr32 [/u] [/s] [/c] [/n] [/i[:параметри]] назва_dll\n\
|
||||
/u - Відмінити реєстрацію сервера\n\
|
||||
/s - Тихий режим: Не виводити повідомлень\n\
|
||||
/c - Вивід в консоль\n\
|
||||
/i - Викликати DllInstall з додатковими параметрами [параметри]; Коли використовується ключ /u викликається DllUninstall\n\
|
||||
/n - Не викликати DllRegisterServer; цей ключ має використовуватися з /i"
|
||||
|
||||
IDS_NoDllSpecified, "Не вказано ім'я DLL."
|
||||
|
||||
IDS_InvalidFlag, "Невідомий ключ: %s"
|
||||
|
||||
IDS_SwitchN_NoI, "Невідомий ключ: /n використовується лише з ключем /i"
|
||||
|
||||
IDS_DllNotLoaded, "LoadLibrary('%s') завершився аварійно.\nGetLastError повернуло 0x%08x."
|
||||
|
||||
IDS_MissingEntry, "%s було запущено, але точка входу для %s не знайдено.\n\n\
|
||||
%s може не експортуватись, чи в пам'яті лежить пошкоджена версія %s. Для того щоб знайти і видалти %s, використовуйте PView."
|
||||
|
||||
IDS_FailureMessage, "%s в %s завершилося аварійно.\nКод завершення: 0x%08x"
|
||||
|
||||
IDS_SuccessMessage "%s в %s успішно виконано."
|
||||
END
|
||||
|
||||
@@ -1,191 +1,191 @@
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
// Ukrainian resources
|
||||
|
||||
#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU)
|
||||
#ifdef _WIN32
|
||||
LANGUAGE LANG_UKRAINIAN, SUBLANG_DEFAULT
|
||||
#pragma code_page(1251)
|
||||
#endif //_WIN32
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// Menu
|
||||
//
|
||||
|
||||
IDC_FDEBUG MENU DISCARDABLE
|
||||
BEGIN
|
||||
POPUP "&Ôàéë"
|
||||
BEGIN
|
||||
MENUITEM "&ϳäêëþ÷èòè", IDM_FILE_CONNECT
|
||||
MENUITEM "&³äêëþ÷èòè", IDM_FILE_DISCONNECT, GRAYED
|
||||
MENUITEM SEPARATOR
|
||||
MENUITEM "&Î÷èñòèòè åêðàí", IDM_FILE_CLEARDISPLAY
|
||||
MENUITEM SEPARATOR
|
||||
MENUITEM "Ïî÷àòè &çàõîïëåííÿ", IDM_FILE_STARTCAPTURE
|
||||
MENUITEM "Çóïèíèòè ç&àõîïëåííÿ", IDM_FILE_STOPCAPTURE, GRAYED
|
||||
MENUITEM SEPARATOR
|
||||
MENUITEM "&Ëîêàëüíà â³äïîâ³äü", IDM_FILE_LOCALECHO
|
||||
MENUITEM SEPARATOR
|
||||
MENUITEM "Â&èõ³ä", IDM_EXIT
|
||||
END
|
||||
POPUP "&Äîâ³äêà"
|
||||
BEGIN
|
||||
MENUITEM "&Ïðî ïðîãðàìó ...", IDM_ABOUT
|
||||
END
|
||||
END
|
||||
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// Accelerator
|
||||
//
|
||||
|
||||
IDC_FDEBUG ACCELERATORS MOVEABLE PURE
|
||||
BEGIN
|
||||
63, IDM_ABOUT, ASCII, ALT // "?"
|
||||
47, IDM_ABOUT, ASCII, ALT // "/"
|
||||
END
|
||||
|
||||
|
||||
#ifdef APSTUDIO_INVOKED
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// TEXTINCLUDE
|
||||
//
|
||||
|
||||
2 TEXTINCLUDE DISCARDABLE
|
||||
BEGIN
|
||||
"#define APSTUDIO_HIDDEN_SYMBOLS\r\n"
|
||||
"#include ""windows.h""\r\n"
|
||||
"#undef APSTUDIO_HIDDEN_SYMBOLS\r\n"
|
||||
"#include ""resource.h""\r\n"
|
||||
"\0"
|
||||
END
|
||||
|
||||
3 TEXTINCLUDE DISCARDABLE
|
||||
BEGIN
|
||||
"\r\n"
|
||||
"\0"
|
||||
END
|
||||
|
||||
1 TEXTINCLUDE DISCARDABLE
|
||||
BEGIN
|
||||
"resource.h\0"
|
||||
END
|
||||
|
||||
#endif // APSTUDIO_INVOKED
|
||||
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// DESIGNINFO
|
||||
//
|
||||
|
||||
#ifdef APSTUDIO_INVOKED
|
||||
GUIDELINES DESIGNINFO DISCARDABLE
|
||||
BEGIN
|
||||
IDD_ABOUTBOX, DIALOG
|
||||
BEGIN
|
||||
LEFTMARGIN, 7
|
||||
RIGHTMARGIN, 252
|
||||
TOPMARGIN, 7
|
||||
BOTTOMMARGIN, 203
|
||||
END
|
||||
|
||||
IDD_CONNECTION, DIALOG
|
||||
BEGIN
|
||||
LEFTMARGIN, 7
|
||||
RIGHTMARGIN, 189
|
||||
TOPMARGIN, 7
|
||||
BOTTOMMARGIN, 93
|
||||
END
|
||||
|
||||
IDD_CAPTURE, DIALOG
|
||||
BEGIN
|
||||
LEFTMARGIN, 7
|
||||
RIGHTMARGIN, 244
|
||||
TOPMARGIN, 7
|
||||
BOTTOMMARGIN, 88
|
||||
END
|
||||
END
|
||||
#endif // APSTUDIO_INVOKED
|
||||
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// Dialog
|
||||
//
|
||||
|
||||
IDD_ABOUTBOX DIALOGEX DISCARDABLE 22, 17, 259, 210
|
||||
STYLE DS_SHELLFONT | DS_MODALFRAME | WS_CAPTION | WS_SYSMENU
|
||||
CAPTION "Ïðî ïðîãðàìó Íàëàãîäæóâà÷ FreeLoader"
|
||||
FONT 8, "MS Shell Dlg"
|
||||
BEGIN
|
||||
CONTROL "Íàëàãîäæóâà÷ FreeLoader v1.0\nCopyright (C) 2003\nby Brian Palmer ([email protected])",
|
||||
IDC_STATIC,"Static",SS_LEFTNOWORDWRAP | WS_GROUP,53,28,
|
||||
122,26
|
||||
DEFPUSHBUTTON "OK",IDOK,183,189,44,14,WS_GROUP
|
||||
ICON IDI_FDEBUG,IDC_STATIC,19,30,20,20
|
||||
EDITTEXT IDC_LICENSE_EDIT,53,63,174,107,ES_MULTILINE |
|
||||
ES_READONLY | WS_VSCROLL
|
||||
END
|
||||
|
||||
IDD_CONNECTION DIALOGEX DISCARDABLE 0, 0, 196, 100
|
||||
STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU
|
||||
CAPTION "Íàñòðîéêè ç'ºäíàííÿ"
|
||||
FONT 8, "MS Shell Dlg"
|
||||
BEGIN
|
||||
LTEXT "Ââåä³òü COM-ïîðò (íàïð. COM1):",IDC_STATIC,7,7,108,8
|
||||
EDITTEXT IDC_COMPORT,7,17,182,14,ES_AUTOHSCROLL
|
||||
LTEXT "Ââåä³òü øâèäê³ñòü ïåðåäà÷³ (íàïð. 115200):",IDC_STATIC,7,38,114,
|
||||
8
|
||||
EDITTEXT IDC_BAUTRATE,7,48,182,14,ES_AUTOHSCROLL
|
||||
DEFPUSHBUTTON "OK",IDOK,45,79,50,14
|
||||
PUSHBUTTON "Ñêàñóâàòè",IDCANCEL,100,79,50,14
|
||||
END
|
||||
|
||||
IDD_CAPTURE DIALOGEX DISCARDABLE 0, 0, 251, 95
|
||||
STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU
|
||||
CAPTION "Ôàéë çàõîïëåííÿ"
|
||||
FONT 8, "MS Shell Dlg"
|
||||
BEGIN
|
||||
LTEXT "²ì'ÿ ôàéëó çàõîïëåííÿ:",IDC_STATIC,7,17,62,8
|
||||
EDITTEXT IDC_CAPTUREFILENAME,7,26,181,14,ES_AUTOHSCROLL
|
||||
PUSHBUTTON "&Îãëÿä",IDC_BROWSE,194,26,50,14
|
||||
DEFPUSHBUTTON "OK",IDOK,139,74,50,14
|
||||
PUSHBUTTON "Ñêàñóâàòè",IDCANCEL,194,74,50,14
|
||||
END
|
||||
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// String Table
|
||||
//
|
||||
|
||||
STRINGTABLE DISCARDABLE
|
||||
BEGIN
|
||||
IDS_APP_TITLE "fdebug"
|
||||
IDS_HELLO "Ïðèâ³ò Ñâ³ò!"
|
||||
IDC_FDEBUG "FDEBUG"
|
||||
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., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA."
|
||||
END
|
||||
|
||||
#endif // Ukrainian resources
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
|
||||
|
||||
#ifndef APSTUDIO_INVOKED
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// Generated from the TEXTINCLUDE 3 resource.
|
||||
//
|
||||
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
#endif // not APSTUDIO_INVOKED
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
// Ukrainian resources
|
||||
|
||||
#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU)
|
||||
#ifdef _WIN32
|
||||
LANGUAGE LANG_UKRAINIAN, SUBLANG_DEFAULT
|
||||
#pragma code_page(1251)
|
||||
#endif //_WIN32
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// Menu
|
||||
//
|
||||
|
||||
IDC_FDEBUG MENU DISCARDABLE
|
||||
BEGIN
|
||||
POPUP "&Ôàéë"
|
||||
BEGIN
|
||||
MENUITEM "&ϳäêëþ÷èòè", IDM_FILE_CONNECT
|
||||
MENUITEM "&³äêëþ÷èòè", IDM_FILE_DISCONNECT, GRAYED
|
||||
MENUITEM SEPARATOR
|
||||
MENUITEM "&Î÷èñòèòè åêðàí", IDM_FILE_CLEARDISPLAY
|
||||
MENUITEM SEPARATOR
|
||||
MENUITEM "Ïî÷àòè &çàõîïëåííÿ", IDM_FILE_STARTCAPTURE
|
||||
MENUITEM "Çóïèíèòè ç&àõîïëåííÿ", IDM_FILE_STOPCAPTURE, GRAYED
|
||||
MENUITEM SEPARATOR
|
||||
MENUITEM "&Ëîêàëüíà â³äïîâ³äü", IDM_FILE_LOCALECHO
|
||||
MENUITEM SEPARATOR
|
||||
MENUITEM "Â&èõ³ä", IDM_EXIT
|
||||
END
|
||||
POPUP "&Äîâ³äêà"
|
||||
BEGIN
|
||||
MENUITEM "&Ïðî ïðîãðàìó ...", IDM_ABOUT
|
||||
END
|
||||
END
|
||||
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// Accelerator
|
||||
//
|
||||
|
||||
IDC_FDEBUG ACCELERATORS MOVEABLE PURE
|
||||
BEGIN
|
||||
63, IDM_ABOUT, ASCII, ALT // "?"
|
||||
47, IDM_ABOUT, ASCII, ALT // "/"
|
||||
END
|
||||
|
||||
|
||||
#ifdef APSTUDIO_INVOKED
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// TEXTINCLUDE
|
||||
//
|
||||
|
||||
2 TEXTINCLUDE DISCARDABLE
|
||||
BEGIN
|
||||
"#define APSTUDIO_HIDDEN_SYMBOLS\r\n"
|
||||
"#include ""windows.h""\r\n"
|
||||
"#undef APSTUDIO_HIDDEN_SYMBOLS\r\n"
|
||||
"#include ""resource.h""\r\n"
|
||||
"\0"
|
||||
END
|
||||
|
||||
3 TEXTINCLUDE DISCARDABLE
|
||||
BEGIN
|
||||
"\r\n"
|
||||
"\0"
|
||||
END
|
||||
|
||||
1 TEXTINCLUDE DISCARDABLE
|
||||
BEGIN
|
||||
"resource.h\0"
|
||||
END
|
||||
|
||||
#endif // APSTUDIO_INVOKED
|
||||
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// DESIGNINFO
|
||||
//
|
||||
|
||||
#ifdef APSTUDIO_INVOKED
|
||||
GUIDELINES DESIGNINFO DISCARDABLE
|
||||
BEGIN
|
||||
IDD_ABOUTBOX, DIALOG
|
||||
BEGIN
|
||||
LEFTMARGIN, 7
|
||||
RIGHTMARGIN, 252
|
||||
TOPMARGIN, 7
|
||||
BOTTOMMARGIN, 203
|
||||
END
|
||||
|
||||
IDD_CONNECTION, DIALOG
|
||||
BEGIN
|
||||
LEFTMARGIN, 7
|
||||
RIGHTMARGIN, 189
|
||||
TOPMARGIN, 7
|
||||
BOTTOMMARGIN, 93
|
||||
END
|
||||
|
||||
IDD_CAPTURE, DIALOG
|
||||
BEGIN
|
||||
LEFTMARGIN, 7
|
||||
RIGHTMARGIN, 244
|
||||
TOPMARGIN, 7
|
||||
BOTTOMMARGIN, 88
|
||||
END
|
||||
END
|
||||
#endif // APSTUDIO_INVOKED
|
||||
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// Dialog
|
||||
//
|
||||
|
||||
IDD_ABOUTBOX DIALOGEX DISCARDABLE 22, 17, 259, 210
|
||||
STYLE DS_SHELLFONT | DS_MODALFRAME | WS_CAPTION | WS_SYSMENU
|
||||
CAPTION "Ïðî ïðîãðàìó Íàëàãîäæóâà÷ FreeLoader"
|
||||
FONT 8, "MS Shell Dlg"
|
||||
BEGIN
|
||||
CONTROL "Íàëàãîäæóâà÷ FreeLoader v1.0\nCopyright (C) 2003\nby Brian Palmer ([email protected])",
|
||||
IDC_STATIC,"Static",SS_LEFTNOWORDWRAP | WS_GROUP,53,28,
|
||||
122,26
|
||||
DEFPUSHBUTTON "OK",IDOK,183,189,44,14,WS_GROUP
|
||||
ICON IDI_FDEBUG,IDC_STATIC,19,30,20,20
|
||||
EDITTEXT IDC_LICENSE_EDIT,53,63,174,107,ES_MULTILINE |
|
||||
ES_READONLY | WS_VSCROLL
|
||||
END
|
||||
|
||||
IDD_CONNECTION DIALOGEX DISCARDABLE 0, 0, 196, 100
|
||||
STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU
|
||||
CAPTION "Íàñòðîéêè ç'ºäíàííÿ"
|
||||
FONT 8, "MS Shell Dlg"
|
||||
BEGIN
|
||||
LTEXT "Ââåä³òü COM-ïîðò (íàïð. COM1):",IDC_STATIC,7,7,108,8
|
||||
EDITTEXT IDC_COMPORT,7,17,182,14,ES_AUTOHSCROLL
|
||||
LTEXT "Ââåä³òü øâèäê³ñòü ïåðåäà÷³ (íàïð. 115200):",IDC_STATIC,7,38,114,
|
||||
8
|
||||
EDITTEXT IDC_BAUTRATE,7,48,182,14,ES_AUTOHSCROLL
|
||||
DEFPUSHBUTTON "OK",IDOK,45,79,50,14
|
||||
PUSHBUTTON "Ñêàñóâàòè",IDCANCEL,100,79,50,14
|
||||
END
|
||||
|
||||
IDD_CAPTURE DIALOGEX DISCARDABLE 0, 0, 251, 95
|
||||
STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU
|
||||
CAPTION "Ôàéë çàõîïëåííÿ"
|
||||
FONT 8, "MS Shell Dlg"
|
||||
BEGIN
|
||||
LTEXT "²ì'ÿ ôàéëó çàõîïëåííÿ:",IDC_STATIC,7,17,62,8
|
||||
EDITTEXT IDC_CAPTUREFILENAME,7,26,181,14,ES_AUTOHSCROLL
|
||||
PUSHBUTTON "&Îãëÿä",IDC_BROWSE,194,26,50,14
|
||||
DEFPUSHBUTTON "OK",IDOK,139,74,50,14
|
||||
PUSHBUTTON "Ñêàñóâàòè",IDCANCEL,194,74,50,14
|
||||
END
|
||||
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// String Table
|
||||
//
|
||||
|
||||
STRINGTABLE DISCARDABLE
|
||||
BEGIN
|
||||
IDS_APP_TITLE "fdebug"
|
||||
IDS_HELLO "Ïðèâ³ò Ñâ³ò!"
|
||||
IDC_FDEBUG "FDEBUG"
|
||||
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., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA."
|
||||
END
|
||||
|
||||
#endif // Ukrainian resources
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
|
||||
|
||||
#ifndef APSTUDIO_INVOKED
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// Generated from the TEXTINCLUDE 3 resource.
|
||||
//
|
||||
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
#endif // not APSTUDIO_INVOKED
|
||||
|
||||
|
||||
+770
-770
File diff suppressed because it is too large
Load Diff
+118
-118
@@ -1,118 +1,118 @@
|
||||
|
||||
/* Some definitions for appearance page */
|
||||
#define SIZE_BORDER_X 0
|
||||
#define SIZE_BORDER_Y 1
|
||||
#define SIZE_CAPTION_Y 2
|
||||
#define SIZE_ICON_X 3
|
||||
#define SIZE_ICON_Y 4
|
||||
#define SIZE_ICON_SPC_X 5
|
||||
#define SIZE_ICON_SPC_Y 6
|
||||
#define SIZE_MENU_X 7
|
||||
#define SIZE_MENU_Y 8
|
||||
#define SIZE_SCROLL_X 9
|
||||
#define SIZE_SCROLL_Y 10
|
||||
#define SIZE_SMCAPTION_Y 11
|
||||
|
||||
#define FONT_CAPTION 0
|
||||
#define FONT_SMCAPTION 1
|
||||
#define FONT_HILIGHT 2
|
||||
#define FONT_MENU 2
|
||||
#define FONT_ICON 3
|
||||
#define FONT_INFO 4
|
||||
#define FONT_DIALOG 5
|
||||
|
||||
#define NUM_ELEMENTS 22
|
||||
#define NUM_FONTS 6
|
||||
#define NUM_SIZES 13
|
||||
#define NUM_COLORS 31
|
||||
#define MAX_TEMPLATES 50
|
||||
#define MAX_COLORNAMELENGTH 30
|
||||
#define MAX_TEMPLATENAMELENTGH 80
|
||||
|
||||
/* Some typedefs for appearance */
|
||||
|
||||
/* Most (but not all) fields below correspond to HKCU\Control Panel\Desktop\UserPreferencesMask */
|
||||
typedef struct
|
||||
{
|
||||
BOOL bActiveWindowTracking;
|
||||
BOOL bMenuAnimation;
|
||||
BOOL bComboBoxAnimation;
|
||||
BOOL bListBoxSmoothScrolling;
|
||||
BOOL bGradientCaptions;
|
||||
BOOL bKeyboardCues;
|
||||
BOOL bActiveWndTrkZorder;
|
||||
BOOL bHotTracking;
|
||||
BOOL bMenuFade;
|
||||
BOOL bSelectionFade;
|
||||
BOOL bTooltipAnimation;
|
||||
BOOL bTooltipFade;
|
||||
BOOL bCursorShadow;
|
||||
BOOL bUiEffects;
|
||||
BOOL bFontSmoothing;
|
||||
BOOL bDragFullWindows;
|
||||
UINT uiFontSmoothingType;
|
||||
} EFFECTS;
|
||||
|
||||
typedef struct
|
||||
{
|
||||
COLORREF crColor[NUM_COLORS];
|
||||
LOGFONT lfFont[NUM_FONTS];
|
||||
UINT64 Size[NUM_SIZES];
|
||||
INT Id;
|
||||
BOOL bFlatMenus;
|
||||
BOOL bHasChanged;
|
||||
BOOL bIsCustom;
|
||||
EFFECTS Effects;
|
||||
} THEME;
|
||||
|
||||
typedef struct
|
||||
{
|
||||
TCHAR strKeyName[4];
|
||||
TCHAR strSizeName[4];
|
||||
TCHAR strDisplayName[MAX_TEMPLATENAMELENTGH];
|
||||
TCHAR strLegacyName[MAX_TEMPLATENAMELENTGH];
|
||||
INT NumSizes;
|
||||
} THEME_PRESET;
|
||||
|
||||
typedef struct
|
||||
{
|
||||
int Size;
|
||||
int Size2;
|
||||
int Color1;
|
||||
int Color2;
|
||||
int Font;
|
||||
int FontColor;
|
||||
} ASSIGNMENT;
|
||||
|
||||
/* This is the global structure used to store the current values.
|
||||
A pointer of this get's passed to the functions either directly
|
||||
or by passing hwnd and getting the pointer by GetWindowLongPtr */
|
||||
typedef struct tagGLOBALS
|
||||
{
|
||||
THEME_PRESET ThemeTemplates[MAX_TEMPLATES];
|
||||
THEME Theme;
|
||||
THEME ThemeAdv;
|
||||
INT ColorList[NUM_COLORS];
|
||||
HBITMAP hbmpColor[3];
|
||||
INT CurrentElement;
|
||||
COLORREF crCOLOR_BTNFACE;
|
||||
COLORREF crCOLOR_BTNSHADOW;
|
||||
COLORREF crCOLOR_BTNTEXT;
|
||||
COLORREF crCOLOR_BTNHIGHLIGHT;
|
||||
HFONT hBoldFont;
|
||||
HFONT hItalicFont;
|
||||
} GLOBALS;
|
||||
|
||||
|
||||
extern const ASSIGNMENT g_Assignment[NUM_ELEMENTS];
|
||||
extern const TCHAR g_RegColorNames[NUM_COLORS][MAX_COLORNAMELENGTH];
|
||||
extern const INT g_SizeMetric[NUM_SIZES];
|
||||
|
||||
/* prototypes for appearance.c */
|
||||
INT_PTR CALLBACK AppearancePageProc(HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM lParam);
|
||||
|
||||
/* prototypes for advappdlg.c */
|
||||
INT_PTR CALLBACK AdvAppearanceDlgProc(HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM lParam);
|
||||
|
||||
/* prototypes for effappdlg.c */
|
||||
INT_PTR CALLBACK EffAppearanceDlgProc(HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM lParam);
|
||||
|
||||
/* Some definitions for appearance page */
|
||||
#define SIZE_BORDER_X 0
|
||||
#define SIZE_BORDER_Y 1
|
||||
#define SIZE_CAPTION_Y 2
|
||||
#define SIZE_ICON_X 3
|
||||
#define SIZE_ICON_Y 4
|
||||
#define SIZE_ICON_SPC_X 5
|
||||
#define SIZE_ICON_SPC_Y 6
|
||||
#define SIZE_MENU_X 7
|
||||
#define SIZE_MENU_Y 8
|
||||
#define SIZE_SCROLL_X 9
|
||||
#define SIZE_SCROLL_Y 10
|
||||
#define SIZE_SMCAPTION_Y 11
|
||||
|
||||
#define FONT_CAPTION 0
|
||||
#define FONT_SMCAPTION 1
|
||||
#define FONT_HILIGHT 2
|
||||
#define FONT_MENU 2
|
||||
#define FONT_ICON 3
|
||||
#define FONT_INFO 4
|
||||
#define FONT_DIALOG 5
|
||||
|
||||
#define NUM_ELEMENTS 22
|
||||
#define NUM_FONTS 6
|
||||
#define NUM_SIZES 13
|
||||
#define NUM_COLORS 31
|
||||
#define MAX_TEMPLATES 50
|
||||
#define MAX_COLORNAMELENGTH 30
|
||||
#define MAX_TEMPLATENAMELENTGH 80
|
||||
|
||||
/* Some typedefs for appearance */
|
||||
|
||||
/* Most (but not all) fields below correspond to HKCU\Control Panel\Desktop\UserPreferencesMask */
|
||||
typedef struct
|
||||
{
|
||||
BOOL bActiveWindowTracking;
|
||||
BOOL bMenuAnimation;
|
||||
BOOL bComboBoxAnimation;
|
||||
BOOL bListBoxSmoothScrolling;
|
||||
BOOL bGradientCaptions;
|
||||
BOOL bKeyboardCues;
|
||||
BOOL bActiveWndTrkZorder;
|
||||
BOOL bHotTracking;
|
||||
BOOL bMenuFade;
|
||||
BOOL bSelectionFade;
|
||||
BOOL bTooltipAnimation;
|
||||
BOOL bTooltipFade;
|
||||
BOOL bCursorShadow;
|
||||
BOOL bUiEffects;
|
||||
BOOL bFontSmoothing;
|
||||
BOOL bDragFullWindows;
|
||||
UINT uiFontSmoothingType;
|
||||
} EFFECTS;
|
||||
|
||||
typedef struct
|
||||
{
|
||||
COLORREF crColor[NUM_COLORS];
|
||||
LOGFONT lfFont[NUM_FONTS];
|
||||
UINT64 Size[NUM_SIZES];
|
||||
INT Id;
|
||||
BOOL bFlatMenus;
|
||||
BOOL bHasChanged;
|
||||
BOOL bIsCustom;
|
||||
EFFECTS Effects;
|
||||
} THEME;
|
||||
|
||||
typedef struct
|
||||
{
|
||||
TCHAR strKeyName[4];
|
||||
TCHAR strSizeName[4];
|
||||
TCHAR strDisplayName[MAX_TEMPLATENAMELENTGH];
|
||||
TCHAR strLegacyName[MAX_TEMPLATENAMELENTGH];
|
||||
INT NumSizes;
|
||||
} THEME_PRESET;
|
||||
|
||||
typedef struct
|
||||
{
|
||||
int Size;
|
||||
int Size2;
|
||||
int Color1;
|
||||
int Color2;
|
||||
int Font;
|
||||
int FontColor;
|
||||
} ASSIGNMENT;
|
||||
|
||||
/* This is the global structure used to store the current values.
|
||||
A pointer of this get's passed to the functions either directly
|
||||
or by passing hwnd and getting the pointer by GetWindowLongPtr */
|
||||
typedef struct tagGLOBALS
|
||||
{
|
||||
THEME_PRESET ThemeTemplates[MAX_TEMPLATES];
|
||||
THEME Theme;
|
||||
THEME ThemeAdv;
|
||||
INT ColorList[NUM_COLORS];
|
||||
HBITMAP hbmpColor[3];
|
||||
INT CurrentElement;
|
||||
COLORREF crCOLOR_BTNFACE;
|
||||
COLORREF crCOLOR_BTNSHADOW;
|
||||
COLORREF crCOLOR_BTNTEXT;
|
||||
COLORREF crCOLOR_BTNHIGHLIGHT;
|
||||
HFONT hBoldFont;
|
||||
HFONT hItalicFont;
|
||||
} GLOBALS;
|
||||
|
||||
|
||||
extern const ASSIGNMENT g_Assignment[NUM_ELEMENTS];
|
||||
extern const TCHAR g_RegColorNames[NUM_COLORS][MAX_COLORNAMELENGTH];
|
||||
extern const INT g_SizeMetric[NUM_SIZES];
|
||||
|
||||
/* prototypes for appearance.c */
|
||||
INT_PTR CALLBACK AppearancePageProc(HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM lParam);
|
||||
|
||||
/* prototypes for advappdlg.c */
|
||||
INT_PTR CALLBACK AdvAppearanceDlgProc(HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM lParam);
|
||||
|
||||
/* prototypes for effappdlg.c */
|
||||
INT_PTR CALLBACK EffAppearanceDlgProc(HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM lParam);
|
||||
|
||||
+63
-63
@@ -1,63 +1,63 @@
|
||||
#include "desk.h"
|
||||
|
||||
static INT
|
||||
LengthOfStrResource(IN HINSTANCE hInst,
|
||||
IN UINT uID)
|
||||
{
|
||||
HRSRC hrSrc;
|
||||
HGLOBAL hRes;
|
||||
LPWSTR lpName, lpStr;
|
||||
|
||||
if (hInst == NULL)
|
||||
{
|
||||
return -1;
|
||||
}
|
||||
|
||||
/* There are always blocks of 16 strings */
|
||||
lpName = (LPWSTR)MAKEINTRESOURCE((uID >> 4) + 1);
|
||||
|
||||
/* Find the string table block */
|
||||
if ((hrSrc = FindResourceW(hInst, lpName, (LPWSTR)RT_STRING)) &&
|
||||
(hRes = LoadResource(hInst, hrSrc)) &&
|
||||
(lpStr = LockResource(hRes)))
|
||||
{
|
||||
UINT x;
|
||||
|
||||
/* Find the string we're looking for */
|
||||
uID &= 0xF; /* position in the block, same as % 16 */
|
||||
for (x = 0; x < uID; x++)
|
||||
{
|
||||
lpStr += (*lpStr) + 1;
|
||||
}
|
||||
|
||||
/* Found the string */
|
||||
return (int)(*lpStr);
|
||||
}
|
||||
return -1;
|
||||
}
|
||||
|
||||
INT
|
||||
AllocAndLoadString(OUT LPTSTR *lpTarget,
|
||||
IN HINSTANCE hInst,
|
||||
IN UINT uID)
|
||||
{
|
||||
INT ln;
|
||||
|
||||
ln = LengthOfStrResource(hInst,
|
||||
uID);
|
||||
if (ln++ > 0)
|
||||
{
|
||||
(*lpTarget) = (LPTSTR)LocalAlloc(LMEM_FIXED,
|
||||
ln * sizeof(TCHAR));
|
||||
if ((*lpTarget) != NULL)
|
||||
{
|
||||
INT Ret;
|
||||
if (!(Ret = LoadString(hInst, uID, *lpTarget, ln)))
|
||||
{
|
||||
LocalFree((HLOCAL)(*lpTarget));
|
||||
}
|
||||
return Ret;
|
||||
}
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
#include "desk.h"
|
||||
|
||||
static INT
|
||||
LengthOfStrResource(IN HINSTANCE hInst,
|
||||
IN UINT uID)
|
||||
{
|
||||
HRSRC hrSrc;
|
||||
HGLOBAL hRes;
|
||||
LPWSTR lpName, lpStr;
|
||||
|
||||
if (hInst == NULL)
|
||||
{
|
||||
return -1;
|
||||
}
|
||||
|
||||
/* There are always blocks of 16 strings */
|
||||
lpName = (LPWSTR)MAKEINTRESOURCE((uID >> 4) + 1);
|
||||
|
||||
/* Find the string table block */
|
||||
if ((hrSrc = FindResourceW(hInst, lpName, (LPWSTR)RT_STRING)) &&
|
||||
(hRes = LoadResource(hInst, hrSrc)) &&
|
||||
(lpStr = LockResource(hRes)))
|
||||
{
|
||||
UINT x;
|
||||
|
||||
/* Find the string we're looking for */
|
||||
uID &= 0xF; /* position in the block, same as % 16 */
|
||||
for (x = 0; x < uID; x++)
|
||||
{
|
||||
lpStr += (*lpStr) + 1;
|
||||
}
|
||||
|
||||
/* Found the string */
|
||||
return (int)(*lpStr);
|
||||
}
|
||||
return -1;
|
||||
}
|
||||
|
||||
INT
|
||||
AllocAndLoadString(OUT LPTSTR *lpTarget,
|
||||
IN HINSTANCE hInst,
|
||||
IN UINT uID)
|
||||
{
|
||||
INT ln;
|
||||
|
||||
ln = LengthOfStrResource(hInst,
|
||||
uID);
|
||||
if (ln++ > 0)
|
||||
{
|
||||
(*lpTarget) = (LPTSTR)LocalAlloc(LMEM_FIXED,
|
||||
ln * sizeof(TCHAR));
|
||||
if ((*lpTarget) != NULL)
|
||||
{
|
||||
INT Ret;
|
||||
if (!(Ret = LoadString(hInst, uID, *lpTarget, ln)))
|
||||
{
|
||||
LocalFree((HLOCAL)(*lpTarget));
|
||||
}
|
||||
return Ret;
|
||||
}
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
+283
-283
@@ -1,283 +1,283 @@
|
||||
/*
|
||||
* FILE: dll/cpl/sysdm/lang/sk-SK.rc
|
||||
* PURPOSE: Slovak Language File for sysdm
|
||||
* TRANSLATOR: Mário Kaèmár aka Kario <[email protected]>
|
||||
* DATE OF TR.: 20-09-2007
|
||||
* LAST CHANGE: 23-01-2009
|
||||
*/
|
||||
|
||||
LANGUAGE LANG_SLOVAK, SUBLANG_DEFAULT
|
||||
|
||||
IDD_PROPPAGEGENERAL DIALOGEX 0, 0, 256, 218
|
||||
STYLE DS_SHELLFONT | WS_CHILD | WS_DISABLED | WS_CAPTION
|
||||
CAPTION "Všeobecné"
|
||||
FONT 8, "MS Shell Dlg", 0, 0, 0x0
|
||||
BEGIN
|
||||
CONTROL "", IDC_ROSIMG, "Static", SS_OWNERDRAW, 4, 5, 248, 111
|
||||
LTEXT "Systém:", IDC_STATIC, 4, 132, 32, 9
|
||||
LTEXT REACTOS_STR_PRODUCT_NAME, IDC_STATIC, 10, 144, 116, 9
|
||||
LTEXT "Verzia ", IDC_STATIC, 10, 153, 25, 9
|
||||
LTEXT REACTOS_STR_PRODUCT_VERSION, IDC_STATIC, 32, 153, 91, 9
|
||||
LTEXT REACTOS_STR_PRODUCT_BUILD, IDC_STATIC, 10, 162, 60, 9
|
||||
LTEXT "Poèítaè:", IDC_STATIC, 124, 132, 34, 9
|
||||
LTEXT "", IDC_MACHINELINE1, 130, 144, 118, 9
|
||||
LTEXT "", IDC_MACHINELINE2, 130, 153, 118, 9
|
||||
LTEXT "", IDC_MACHINELINE3, 130, 162, 118, 9
|
||||
LTEXT "", IDC_MACHINELINE4, 130, 171, 118, 9
|
||||
LTEXT "", IDC_MACHINELINE5, 130, 180, 118, 9
|
||||
CONTROL "Navštívte <A HREF=""http://www.reactos.org/"">domovskú stránku systému ReactOS</A>", IDC_ROSHOMEPAGE_LINK, "SysLink", WS_CHILD | WS_VISIBLE | WS_TABSTOP, 10, 200, 165, 8
|
||||
PUSHBUTTON "Zobrazi� &licenciu...", IDC_LICENCE, 170, 199, 78, 14
|
||||
END
|
||||
|
||||
|
||||
IDD_PROPPAGEHARDWARE DIALOGEX 0, 0, 256, 218
|
||||
STYLE DS_SHELLFONT | WS_CHILD | WS_DISABLED | WS_CAPTION
|
||||
CAPTION "Hardvér"
|
||||
FONT 8, "MS Shell Dlg", 0, 0, 0x0
|
||||
BEGIN
|
||||
GROUPBOX "Správca zariadení", IDC_STATIC, 6, 7, 244, 61
|
||||
ICON IDI_DEVMGR, IDC_STATIC, 12, 18, 23, 21, SS_ICON
|
||||
LTEXT "Správca zariadení zobrazí zoznam všetkých hardvérových zariadení, ktoré sú nainštalované na poèítaèi. Môžete ho použi� na zmenu vlastností ktoréhoko¾vek zariadenia.", IDC_STATIC, 42, 18, 204, 24
|
||||
PUSHBUTTON "Sprá&vca zariadení...", IDC_HARDWARE_DEVICE_MANAGER, 130, 48, 110, 14
|
||||
|
||||
GROUPBOX "Sprievodca pridaním hardvéru", IDC_STATIC, 6, 79, 244, 61
|
||||
ICON IDI_DEVMGR, IDC_STATIC, 12, 90, 23, 21, SS_ICON
|
||||
LTEXT "Sprievodca pridaním hardvéru pomáha pri inštalácii, odinštalovaní, oprave, odpojení, vysunutí, a konfigurácií hardvéru.", IDC_STATIC, 42, 90, 204, 24
|
||||
PUSHBUTTON "&Sprievodca pridaním hardvéru...", IDC_HARDWARE_WIZARD, 130, 120, 110, 14
|
||||
|
||||
GROUPBOX "Hardvérové profily", IDC_STATIC, 6, 149, 244, 61
|
||||
ICON IDI_HARDPROF, IDC_STATIC, 12, 160, 23, 21, SS_ICON
|
||||
LTEXT "Hardvérové profily poskytujú možnos� nastavenia a uloženia rôznych konfigurácií hardvéru.", IDC_STATIC, 42, 160, 204, 24
|
||||
PUSHBUTTON "&Hardvérové profily...", IDC_HARDWARE_PROFILE, 130, 190, 110, 14
|
||||
END
|
||||
|
||||
|
||||
IDD_PROPPAGEADVANCED DIALOGEX 0, 0, 256, 218
|
||||
STYLE DS_SHELLFONT | WS_CHILD | WS_DISABLED | WS_CAPTION
|
||||
CAPTION "Spresnenie"
|
||||
FONT 8, "MS Shell Dlg", 0, 0, 0x0
|
||||
BEGIN
|
||||
LTEXT "Na vykonanie väèšiny z týchto zmien sú potrebné privilégia správcu.", IDC_STATIC, 12, 5, 236, 8
|
||||
GROUPBOX "Výkon", IDC_STATIC, 6, 18, 244, 50
|
||||
LTEXT "Nastavením možností výkonu môžete kontrolova�, ako majú aplikácie využíva� pamä�. Tieto nastavenia ovplyvòujú rýchlos� práce poèítaèa.", IDC_STATIC, 16, 29, 210, 24
|
||||
PUSHBUTTON "&Nastavenie", IDC_PERFOR, 194, 48, 50, 14
|
||||
|
||||
GROUPBOX "Používate¾ské profily", IDC_STATIC, 6,75,244,48
|
||||
LTEXT "Nastavenie pracovnej plochy súvisiace s prihlásením", IDC_STATIC, 16, 88, 210, 20
|
||||
PUSHBUTTON "Nastav&enie", IDC_USERPROFILE, 194, 103, 50, 14
|
||||
|
||||
GROUPBOX "Spúš�anie a obnovovanie", IDC_STATIC, 6, 131, 244, 52
|
||||
LTEXT "Možnosti spustenia a obnovenia systému upravujú, ako má by� poèítaè spustený a èo má urobi�, ak nejaká chyba zapríèiní zlyhanie systému.", IDC_STATIC, 16, 144, 210, 27
|
||||
PUSHBUTTON "Na&stavenie", IDC_STAREC, 194, 162, 50, 14
|
||||
|
||||
PUSHBUTTON "&Premenné prostredia", IDC_ENVVAR, 84, 192, 80, 14
|
||||
PUSHBUTTON "&Hlásenie chýb", IDC_ERRORREPORT, 170, 192, 80, 14
|
||||
END
|
||||
|
||||
|
||||
IDD_HARDWAREPROFILES DIALOGEX 6, 18, 254, 234
|
||||
STYLE DS_SHELLFONT | DS_MODALFRAME | DS_CONTEXTHELP | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
|
||||
CAPTION "Hardvérové profily"
|
||||
FONT 8, "MS Shell Dlg"
|
||||
BEGIN
|
||||
ICON IDI_HARDPROF, IDC_STATIC, 8, 11, 18, 20, SS_ICON
|
||||
LTEXT "Pre rôzne hardvérové konfigurácie môžete nastavi� hardvérové profily. Pri spustení je možné vybra� profil, ktorý chcete používa�.", IDC_STATIC, 46, 11, 188, 25
|
||||
LTEXT "&Dostupné hardvérové profily:", IDC_STATIC, 8, 41, 120, 8
|
||||
LISTBOX IDC_HRDPROFLSTBOX, 8, 52, 215, 54, LBS_NOTIFY
|
||||
PUSHBUTTON "", IDC_HRDPROFUP, 232, 59, 15, 14, BS_ICON
|
||||
PUSHBUTTON "", IDC_HRDPROFDWN, 232, 79, 15, 14, BS_ICON
|
||||
PUSHBUTTON "Vl&astnosti", IDC_HRDPROFPROP, 8, 106, 50, 14
|
||||
PUSHBUTTON "&Kopírova�", IDC_HRDPROFCOPY, 63, 106, 50, 14
|
||||
PUSHBUTTON "Pr&emenova�", IDC_HRDPROFRENAME, 118, 106, 50, 14
|
||||
PUSHBUTTON "&Odstráni�", IDC_HRDPROFDEL, 173, 106, 50, 14
|
||||
|
||||
GROUPBOX "Výber hardvérového profilu", IDC_STATIC, 7, 130, 240, 75
|
||||
LTEXT "Pri štarte systému ReactOS:", IDC_STATIC, 14, 142, 210, 8
|
||||
AUTORADIOBUTTON "&Poèka� na výber hardvérového profilu", IDC_HRDPROFWAIT, 14, 158, 133, 8, WS_GROUP
|
||||
AUTORADIOBUTTON "&Vybra� prvý profil v zozname, ak sa profil nevyberie do", IDC_HRDPROFSELECT, 14, 173, 190, 8
|
||||
LTEXT "sekúnd", IDC_STATIC, 65, 187, 35, 8
|
||||
EDITTEXT IDC_HRDPROFEDIT, 25, 185, 35, 12
|
||||
CONTROL "", IDC_HRDPROFUPDWN, "msctls_updown32", UDS_SETBUDDYINT | UDS_ALIGNRIGHT | UDS_AUTOBUDDY | UDS_ARROWKEYS | UDS_NOTHOUSANDS | WS_CHILD | WS_VISIBLE, 25, 185, 7, 10
|
||||
|
||||
DEFPUSHBUTTON "OK", IDOK, 143, 213, 50, 14
|
||||
PUSHBUTTON "Zruši�", IDCANCEL, 197, 213, 50, 14
|
||||
END
|
||||
|
||||
|
||||
IDD_RENAMEPROFILE DIALOGEX 12, 26, 256, 52
|
||||
STYLE DS_SHELLFONT | DS_MODALFRAME | DS_CONTEXTHELP | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
|
||||
CAPTION "Premenova� profil"
|
||||
FONT 8, "MS Shell Dlg"
|
||||
BEGIN
|
||||
LTEXT "Z:", IDC_STATIC, 5, 10, 20, 8
|
||||
LTEXT "", IDC_RENPROFEDITFROM, 30, 10, 160, 10
|
||||
LTEXT "Na:", IDC_STATIC, 5, 30, 20, 8
|
||||
EDITTEXT IDC_RENPROFEDITTO, 30, 30, 160, 12
|
||||
|
||||
DEFPUSHBUTTON "OK", IDOK, 199, 9, 50, 14
|
||||
PUSHBUTTON "Zruši�", IDCANCEL, 199, 30, 50, 14
|
||||
END
|
||||
|
||||
|
||||
IDD_USERPROFILE DIALOGEX 0, 0, 256, 218
|
||||
STYLE DS_SHELLFONT | DS_MODALFRAME | DS_CONTEXTHELP | DS_SETFONT | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
|
||||
CAPTION "Používate¾ské profily"
|
||||
FONT 8, "MS Shell Dlg"
|
||||
BEGIN
|
||||
ICON IDI_USERPROF, IDC_STATIC, 6, 11, 16, 16, SS_ICON
|
||||
LTEXT "Používate¾ské profily obsahujú nastavenia pracovnej plochy a iné informácie týkajúce sa používate¾ského konta. Na každom používanom poèítaèi je možné vytvori� iný profil alebo je možné vybra� zdie¾aný profil, ktorý je rovnaký na všetkých používaných poèítaèoch.",
|
||||
IDC_STATIC, 40, 11, 204, 44
|
||||
LTEXT "&Profily uložené na tomto poèítaèi:", IDC_STATIC, 16, 51, 204, 9
|
||||
CONTROL "", IDC_USERPROFILE_LIST, "SysListView32", LVS_REPORT | LVS_SINGLESEL | LVS_SHOWSELALWAYS | LVS_SORTASCENDING | WS_BORDER | WS_TABSTOP,
|
||||
6, 66, 244, 85, WS_EX_CLIENTEDGE
|
||||
PUSHBUTTON "&Zmeni� typ", IDC_USERPROFILE_CHANGE, 90, 156, 50, 14
|
||||
PUSHBUTTON "&Odstráni�", IDC_USERPROFILE_DELETE, 145, 156, 50, 14
|
||||
PUSHBUTTON "Kopírova� do", IDC_USERPROFILE_COPY, 200, 156, 50, 14
|
||||
|
||||
CONTROL "Ak chcete vytvori� nové používate¾ské konto, kliknite na položku <A>Používate¾ské kontá</A> v ovládacom paneli.", IDC_USERACCOUNT_LINK, "SysLink", WS_CHILD | WS_VISIBLE | WS_TABSTOP, 7, 175, 204, 18
|
||||
|
||||
DEFPUSHBUTTON "OK", IDOK, 134, 200, 54, 14
|
||||
PUSHBUTTON "Zruši�", IDCANCEL, 196, 200, 54, 14
|
||||
END
|
||||
|
||||
|
||||
IDD_STARTUPRECOVERY DIALOGEX 6, 18, 252, 280
|
||||
STYLE DS_SHELLFONT | DS_MODALFRAME | DS_CONTEXTHELP | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
|
||||
CAPTION "Spúš�anie a obnovovanie"
|
||||
FONT 8, "MS Shell Dlg"
|
||||
BEGIN
|
||||
GROUPBOX "Spustenie systému", IDC_STATIC, 7, 12, 238, 95
|
||||
LTEXT "Predvolený operaèný &systém:", IDC_STATIC, 14, 26, 100, 8
|
||||
COMBOBOX IDC_STRECOSCOMBO, 14, 37, 224, 46, CBS_DROPDOWNLIST
|
||||
AUTOCHECKBOX "&Zobrazi� zoznam operaèných systémov na:", IDC_STRECLIST, 14, 56, 150, 8
|
||||
EDITTEXT IDC_STRRECLISTEDIT, 183, 54, 30, 12, ES_NUMBER
|
||||
CONTROL "", IDC_STRRECLISTUPDWN, "msctls_updown32", UDS_WRAP | UDS_SETBUDDYINT | UDS_ALIGNRIGHT | UDS_AUTOBUDDY | UDS_ARROWKEYS | UDS_NOTHOUSANDS | WS_CHILD | WS_VISIBLE, 0, 0, 8, 13
|
||||
LTEXT "sekúnd", IDC_STATIC, 215, 56, 25, 8
|
||||
AUTOCHECKBOX "Ak sú &potrebné možnosti obnovenia, zobrazi� ich na:", IDC_STRRECREC, 14, 70, 167, 8
|
||||
EDITTEXT IDC_STRRECRECEDIT, 183, 68, 30, 12, ES_NUMBER
|
||||
CONTROL "", IDC_STRRECRECUPDWN, "msctls_updown32", UDS_WRAP | UDS_SETBUDDYINT | UDS_ALIGNRIGHT | UDS_AUTOBUDDY | UDS_ARROWKEYS | UDS_NOTHOUSANDS | WS_CHILD | WS_VISIBLE, 0, 0, 8, 13
|
||||
LTEXT "sekúnd", IDC_STATIC, 215, 70, 25, 8
|
||||
LTEXT "Ak chcete manuálne upravi� súbor s možnos�ami spustenia systému, kliknite na tlaèidlo Upravi�.", IDC_STATIC, 14, 85, 173, 18
|
||||
PUSHBUTTON "Upr&avi�", IDC_STRRECEDIT, 188, 87, 50, 14
|
||||
|
||||
GROUPBOX "Zlyhanie systému", IDC_STATIC, 7, 111, 238, 140
|
||||
AUTOCHECKBOX "Zapísa� &udalos� do systémového denníka", IDC_STRRECWRITEEVENT, 14, 124, 148, 10
|
||||
AUTOCHECKBOX "Posla� správ&covskú výstrahu", IDC_STRRECSENDALERT, 14, 138, 148, 10
|
||||
AUTOCHECKBOX "Automaticky &reštartova�", IDC_STRRECRESTART, 14, 152, 145, 10
|
||||
|
||||
GROUPBOX "Zápis informácií pre ladenie", IDC_STATIC, 12, 167, 227, 76
|
||||
COMBOBOX IDC_STRRECDEBUGCOMBO, 17, 182, 151, 49, CBS_DROPDOWNLIST
|
||||
LTEXT "Súbor &výpisu z pamäte:", IDC_STATIC, 17, 202, 150, 8
|
||||
EDITTEXT IDC_STRRECDUMPFILE, 17, 210, 153, 12
|
||||
AUTOCHECKBOX "Pr&episova� existujúci súbor", IDC_STRRECOVERWRITE, 17, 228, 125, 10
|
||||
|
||||
DEFPUSHBUTTON "OK", IDOK, 141, 259, 50, 14
|
||||
PUSHBUTTON "Zruši�", IDCANCEL, 195, 259, 50, 14
|
||||
END
|
||||
|
||||
|
||||
IDD_VIRTMEM DIALOGEX 6, 6, 223, 248
|
||||
STYLE DS_SHELLFONT | DS_MODALFRAME | DS_CONTEXTHELP | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
|
||||
CAPTION "Virtuálna pamä�"
|
||||
FONT 8, "MS Shell Dlg", 0, 0, 0x0
|
||||
BEGIN
|
||||
LTEXT "Jednotka [menovka zväzku]", IDC_STATIC, 10, 5, 96, 9
|
||||
LTEXT "Ve¾kos� stránkovacieho súboru (v MB)", IDC_STATIC, 112, 5, 96, 9
|
||||
LISTBOX IDC_PAGEFILELIST, 10, 16, 204, 52, LBS_NOTIFY | LBS_USETABSTOPS
|
||||
GROUPBOX "Ve¾kos� stránkovacieho súboru pre vybranú jednotku", IDC_DRIVEGROUP, 10, 70, 204, 104
|
||||
LTEXT "Jednotka:", IDC_STATIC, 20, 80, 30, 8
|
||||
LTEXT "", IDC_DRIVE, 88, 81, 100, 9
|
||||
LTEXT "Dostupné miesto:", IDC_STATIC, 20, 92, 56, 9
|
||||
LTEXT "", IDC_SPACEAVAIL, 88, 92, 104, 9
|
||||
LTEXT "&Poèiatoèná ve¾kos� (v MB):", -1, 22, 118, 88, 9
|
||||
LTEXT "Ma&ximálna ve¾kos� (v MB):", -1, 22, 131, 85, 9
|
||||
AUTORADIOBUTTON "&Vlastná ve¾kos�:", IDC_CUSTOM, 20, 105, 74, 9, WS_GROUP
|
||||
AUTORADIOBUTTON "Ve¾kos� urèovaná &systémom", IDC_SYSMANSIZE, 20, 145, 103, 9
|
||||
AUTORADIOBUTTON "N&epoužíva� stránkovací súbor", IDC_NOPAGEFILE, 20, 158, 108,9
|
||||
EDITTEXT IDC_INITIALSIZE, 111, 114, 44, 13, NOT WS_BORDER, WS_EX_CLIENTEDGE
|
||||
EDITTEXT IDC_MAXSIZE, 111, 129, 44, 13, NOT WS_BORDER, WS_EX_CLIENTEDGE
|
||||
PUSHBUTTON "&Nastavi�", IDC_SET, 158, 155, 50, 14
|
||||
|
||||
GROUPBOX "Celková ve¾kos� stránkovacieho súboru pre všetky jednotky", IDC_TOTALGROUP, 10, 177, 204, 46
|
||||
LTEXT "Najmenšia povolená:", IDC_STATIC, 18, 188, 78, 9
|
||||
LTEXT "", IDC_MINIMUM, 88, 188, 100, 9
|
||||
LTEXT "Odporúèaná:", IDC_STATIC, 18, 199, 52, 9
|
||||
LTEXT "", IDC_RECOMMENDED, 88, 199, 100, 9
|
||||
LTEXT "Aktuálne vyhradená:", IDC_STATIC, 18, 210, 76, 9
|
||||
LTEXT "", IDC_CURRENT, 88, 210, 100, 9
|
||||
|
||||
DEFPUSHBUTTON "OK", IDOK, 114, 232, 48, 14
|
||||
PUSHBUTTON "Zruši�", IDCANCEL, 168, 232, 48, 14
|
||||
END
|
||||
|
||||
|
||||
IDD_ENVIRONMENT_VARIABLES DIALOGEX 6, 18, 252, 245
|
||||
STYLE DS_SHELLFONT | DS_MODALFRAME | DS_CONTEXTHELP | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
|
||||
CAPTION "Premenné prostredia"
|
||||
FONT 8, "MS Shell Dlg", 0, 0, 0x0
|
||||
BEGIN
|
||||
GROUPBOX "&Používate¾ské premenné", IDC_STATIC, 7, 12, 238, 100
|
||||
|
||||
CONTROL "", IDC_USER_VARIABLE_LIST, "SysListView32",
|
||||
LVS_REPORT | LVS_SINGLESEL | LVS_SHOWSELALWAYS | LVS_SORTASCENDING | LVS_NOSORTHEADER |
|
||||
WS_VSCROLL | WS_HSCROLL | WS_TABSTOP, 14, 25, 224, 58, WS_EX_CLIENTEDGE
|
||||
PUSHBUTTON "&Nová...", IDC_USER_VARIABLE_NEW, 80, 90, 50, 14
|
||||
PUSHBUTTON "&Upravi�...", IDC_USER_VARIABLE_EDIT, 134, 90, 50, 14
|
||||
PUSHBUTTON "&Odstráni�", IDC_USER_VARIABLE_DELETE, 188, 90, 50, 14
|
||||
GROUPBOX "&Systémové premenné", IDC_STATIC, 7, 116, 238, 100
|
||||
|
||||
CONTROL "", IDC_SYSTEM_VARIABLE_LIST, "SysListView32",
|
||||
LVS_REPORT | LVS_SINGLESEL | LVS_SHOWSELALWAYS | LVS_SORTASCENDING | LVS_NOSORTHEADER |
|
||||
WS_VSCROLL | WS_HSCROLL | WS_TABSTOP, 14, 129, 224, 58, WS_EX_CLIENTEDGE
|
||||
PUSHBUTTON "No&vá...", IDC_SYSTEM_VARIABLE_NEW, 80, 194, 50, 14
|
||||
PUSHBUTTON "Upr&avi�...", IDC_SYSTEM_VARIABLE_EDIT, 134, 194, 50, 14
|
||||
PUSHBUTTON "O&dstráni�", IDC_SYSTEM_VARIABLE_DELETE, 188, 194, 50, 14
|
||||
DEFPUSHBUTTON "OK", IDOK, 141, 224, 50, 14, WS_GROUP
|
||||
PUSHBUTTON "Zruši�", IDCANCEL, 195, 224, 50, 14
|
||||
END
|
||||
|
||||
|
||||
IDD_EDIT_VARIABLE DIALOGEX 10, 15, 227, 71
|
||||
STYLE DS_SHELLFONT | DS_MODALFRAME | DS_CONTEXTHELP | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
|
||||
CAPTION "Upravi� premennú"
|
||||
FONT 8, "MS Shell Dlg", 0, 0, 0x0
|
||||
BEGIN
|
||||
LTEXT "&Názov premennej:", IDC_STATIC, 7, 14, 70, 8
|
||||
EDITTEXT IDC_VARIABLE_NAME, 75, 12, 145, 12, ES_AUTOHSCROLL
|
||||
LTEXT "&Hodnota premennej:", IDC_STATIC, 7, 32, 70, 8
|
||||
EDITTEXT IDC_VARIABLE_VALUE, 75, 30, 145, 12, ES_AUTOHSCROLL
|
||||
DEFPUSHBUTTON "OK", IDOK, 116, 50, 50, 14
|
||||
PUSHBUTTON "Zruši�", IDCANCEL, 170, 50, 50, 14
|
||||
END
|
||||
|
||||
|
||||
IDD_LICENCE DIALOGEX 6, 5, 267, 159
|
||||
CAPTION "Licencia"
|
||||
FONT 8, "MS Shell Dlg", 0, 0, 0x0
|
||||
STYLE DS_SHELLFONT | WS_BORDER | WS_THICKFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
|
||||
BEGIN
|
||||
EDITTEXT IDC_LICENCEEDIT, 6, 3, 255, 131, WS_VSCROLL | ES_READONLY | ES_MULTILINE
|
||||
DEFPUSHBUTTON "OK", IDOK, 106, 142, 54, 14
|
||||
END
|
||||
|
||||
|
||||
STRINGTABLE DISCARDABLE
|
||||
BEGIN
|
||||
IDS_CPLSYSTEMNAME "Systém"
|
||||
IDS_CPLSYSTEMDESCRIPTION "Zobrazí informácie o poèítaèi, zmenách rôznych systémových a hardvérových nastavení."
|
||||
IDS_MEGABYTE "MB pamäte RAM"
|
||||
IDS_GIGABYTE "GB pamäte RAM"
|
||||
IDS_TERABYTE "TB pamäte RAM"
|
||||
IDS_PETABYTE "PB pamäte RAM"
|
||||
IDS_VARIABLE "Premenná"
|
||||
IDS_VALUE "Hodnota"
|
||||
IDS_NO_DUMP "(žiadne)"
|
||||
IDS_MINI_DUMP "Malý výpis pamäte (64 kB)"
|
||||
IDS_KERNEL_DUMP "Výpis pamäte jadra"
|
||||
IDS_FULL_DUMP "Úplný výpis pamäte"
|
||||
IDS_USERPROFILE_NAME "Názov"
|
||||
IDS_USERPROFILE_SIZE "Ve¾kos�"
|
||||
IDS_USERPROFILE_TYPE "Typ"
|
||||
IDS_USERPROFILE_STATUS "Stav"
|
||||
IDS_USERPROFILE_MODIFIED "Modifikovaný"
|
||||
END
|
||||
/*
|
||||
* FILE: dll/cpl/sysdm/lang/sk-SK.rc
|
||||
* PURPOSE: Slovak Language File for sysdm
|
||||
* TRANSLATOR: Mário Kaèmár aka Kario <[email protected]>
|
||||
* DATE OF TR.: 20-09-2007
|
||||
* LAST CHANGE: 23-01-2009
|
||||
*/
|
||||
|
||||
LANGUAGE LANG_SLOVAK, SUBLANG_DEFAULT
|
||||
|
||||
IDD_PROPPAGEGENERAL DIALOGEX 0, 0, 256, 218
|
||||
STYLE DS_SHELLFONT | WS_CHILD | WS_DISABLED | WS_CAPTION
|
||||
CAPTION "Všeobecné"
|
||||
FONT 8, "MS Shell Dlg", 0, 0, 0x0
|
||||
BEGIN
|
||||
CONTROL "", IDC_ROSIMG, "Static", SS_OWNERDRAW, 4, 5, 248, 111
|
||||
LTEXT "Systém:", IDC_STATIC, 4, 132, 32, 9
|
||||
LTEXT REACTOS_STR_PRODUCT_NAME, IDC_STATIC, 10, 144, 116, 9
|
||||
LTEXT "Verzia ", IDC_STATIC, 10, 153, 25, 9
|
||||
LTEXT REACTOS_STR_PRODUCT_VERSION, IDC_STATIC, 32, 153, 91, 9
|
||||
LTEXT REACTOS_STR_PRODUCT_BUILD, IDC_STATIC, 10, 162, 60, 9
|
||||
LTEXT "Poèítaè:", IDC_STATIC, 124, 132, 34, 9
|
||||
LTEXT "", IDC_MACHINELINE1, 130, 144, 118, 9
|
||||
LTEXT "", IDC_MACHINELINE2, 130, 153, 118, 9
|
||||
LTEXT "", IDC_MACHINELINE3, 130, 162, 118, 9
|
||||
LTEXT "", IDC_MACHINELINE4, 130, 171, 118, 9
|
||||
LTEXT "", IDC_MACHINELINE5, 130, 180, 118, 9
|
||||
CONTROL "Navštívte <A HREF=""http://www.reactos.org/"">domovskú stránku systému ReactOS</A>", IDC_ROSHOMEPAGE_LINK, "SysLink", WS_CHILD | WS_VISIBLE | WS_TABSTOP, 10, 200, 165, 8
|
||||
PUSHBUTTON "Zobrazi� &licenciu...", IDC_LICENCE, 170, 199, 78, 14
|
||||
END
|
||||
|
||||
|
||||
IDD_PROPPAGEHARDWARE DIALOGEX 0, 0, 256, 218
|
||||
STYLE DS_SHELLFONT | WS_CHILD | WS_DISABLED | WS_CAPTION
|
||||
CAPTION "Hardvér"
|
||||
FONT 8, "MS Shell Dlg", 0, 0, 0x0
|
||||
BEGIN
|
||||
GROUPBOX "Správca zariadení", IDC_STATIC, 6, 7, 244, 61
|
||||
ICON IDI_DEVMGR, IDC_STATIC, 12, 18, 23, 21, SS_ICON
|
||||
LTEXT "Správca zariadení zobrazí zoznam všetkých hardvérových zariadení, ktoré sú nainštalované na poèítaèi. Môžete ho použi� na zmenu vlastností ktoréhoko¾vek zariadenia.", IDC_STATIC, 42, 18, 204, 24
|
||||
PUSHBUTTON "Sprá&vca zariadení...", IDC_HARDWARE_DEVICE_MANAGER, 130, 48, 110, 14
|
||||
|
||||
GROUPBOX "Sprievodca pridaním hardvéru", IDC_STATIC, 6, 79, 244, 61
|
||||
ICON IDI_DEVMGR, IDC_STATIC, 12, 90, 23, 21, SS_ICON
|
||||
LTEXT "Sprievodca pridaním hardvéru pomáha pri inštalácii, odinštalovaní, oprave, odpojení, vysunutí, a konfigurácií hardvéru.", IDC_STATIC, 42, 90, 204, 24
|
||||
PUSHBUTTON "&Sprievodca pridaním hardvéru...", IDC_HARDWARE_WIZARD, 130, 120, 110, 14
|
||||
|
||||
GROUPBOX "Hardvérové profily", IDC_STATIC, 6, 149, 244, 61
|
||||
ICON IDI_HARDPROF, IDC_STATIC, 12, 160, 23, 21, SS_ICON
|
||||
LTEXT "Hardvérové profily poskytujú možnos� nastavenia a uloženia rôznych konfigurácií hardvéru.", IDC_STATIC, 42, 160, 204, 24
|
||||
PUSHBUTTON "&Hardvérové profily...", IDC_HARDWARE_PROFILE, 130, 190, 110, 14
|
||||
END
|
||||
|
||||
|
||||
IDD_PROPPAGEADVANCED DIALOGEX 0, 0, 256, 218
|
||||
STYLE DS_SHELLFONT | WS_CHILD | WS_DISABLED | WS_CAPTION
|
||||
CAPTION "Spresnenie"
|
||||
FONT 8, "MS Shell Dlg", 0, 0, 0x0
|
||||
BEGIN
|
||||
LTEXT "Na vykonanie väèšiny z týchto zmien sú potrebné privilégia správcu.", IDC_STATIC, 12, 5, 236, 8
|
||||
GROUPBOX "Výkon", IDC_STATIC, 6, 18, 244, 50
|
||||
LTEXT "Nastavením možností výkonu môžete kontrolova�, ako majú aplikácie využíva� pamä�. Tieto nastavenia ovplyvòujú rýchlos� práce poèítaèa.", IDC_STATIC, 16, 29, 210, 24
|
||||
PUSHBUTTON "&Nastavenie", IDC_PERFOR, 194, 48, 50, 14
|
||||
|
||||
GROUPBOX "Používate¾ské profily", IDC_STATIC, 6,75,244,48
|
||||
LTEXT "Nastavenie pracovnej plochy súvisiace s prihlásením", IDC_STATIC, 16, 88, 210, 20
|
||||
PUSHBUTTON "Nastav&enie", IDC_USERPROFILE, 194, 103, 50, 14
|
||||
|
||||
GROUPBOX "Spúš�anie a obnovovanie", IDC_STATIC, 6, 131, 244, 52
|
||||
LTEXT "Možnosti spustenia a obnovenia systému upravujú, ako má by� poèítaè spustený a èo má urobi�, ak nejaká chyba zapríèiní zlyhanie systému.", IDC_STATIC, 16, 144, 210, 27
|
||||
PUSHBUTTON "Na&stavenie", IDC_STAREC, 194, 162, 50, 14
|
||||
|
||||
PUSHBUTTON "&Premenné prostredia", IDC_ENVVAR, 84, 192, 80, 14
|
||||
PUSHBUTTON "&Hlásenie chýb", IDC_ERRORREPORT, 170, 192, 80, 14
|
||||
END
|
||||
|
||||
|
||||
IDD_HARDWAREPROFILES DIALOGEX 6, 18, 254, 234
|
||||
STYLE DS_SHELLFONT | DS_MODALFRAME | DS_CONTEXTHELP | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
|
||||
CAPTION "Hardvérové profily"
|
||||
FONT 8, "MS Shell Dlg"
|
||||
BEGIN
|
||||
ICON IDI_HARDPROF, IDC_STATIC, 8, 11, 18, 20, SS_ICON
|
||||
LTEXT "Pre rôzne hardvérové konfigurácie môžete nastavi� hardvérové profily. Pri spustení je možné vybra� profil, ktorý chcete používa�.", IDC_STATIC, 46, 11, 188, 25
|
||||
LTEXT "&Dostupné hardvérové profily:", IDC_STATIC, 8, 41, 120, 8
|
||||
LISTBOX IDC_HRDPROFLSTBOX, 8, 52, 215, 54, LBS_NOTIFY
|
||||
PUSHBUTTON "", IDC_HRDPROFUP, 232, 59, 15, 14, BS_ICON
|
||||
PUSHBUTTON "", IDC_HRDPROFDWN, 232, 79, 15, 14, BS_ICON
|
||||
PUSHBUTTON "Vl&astnosti", IDC_HRDPROFPROP, 8, 106, 50, 14
|
||||
PUSHBUTTON "&Kopírova�", IDC_HRDPROFCOPY, 63, 106, 50, 14
|
||||
PUSHBUTTON "Pr&emenova�", IDC_HRDPROFRENAME, 118, 106, 50, 14
|
||||
PUSHBUTTON "&Odstráni�", IDC_HRDPROFDEL, 173, 106, 50, 14
|
||||
|
||||
GROUPBOX "Výber hardvérového profilu", IDC_STATIC, 7, 130, 240, 75
|
||||
LTEXT "Pri štarte systému ReactOS:", IDC_STATIC, 14, 142, 210, 8
|
||||
AUTORADIOBUTTON "&Poèka� na výber hardvérového profilu", IDC_HRDPROFWAIT, 14, 158, 133, 8, WS_GROUP
|
||||
AUTORADIOBUTTON "&Vybra� prvý profil v zozname, ak sa profil nevyberie do", IDC_HRDPROFSELECT, 14, 173, 190, 8
|
||||
LTEXT "sekúnd", IDC_STATIC, 65, 187, 35, 8
|
||||
EDITTEXT IDC_HRDPROFEDIT, 25, 185, 35, 12
|
||||
CONTROL "", IDC_HRDPROFUPDWN, "msctls_updown32", UDS_SETBUDDYINT | UDS_ALIGNRIGHT | UDS_AUTOBUDDY | UDS_ARROWKEYS | UDS_NOTHOUSANDS | WS_CHILD | WS_VISIBLE, 25, 185, 7, 10
|
||||
|
||||
DEFPUSHBUTTON "OK", IDOK, 143, 213, 50, 14
|
||||
PUSHBUTTON "Zruši�", IDCANCEL, 197, 213, 50, 14
|
||||
END
|
||||
|
||||
|
||||
IDD_RENAMEPROFILE DIALOGEX 12, 26, 256, 52
|
||||
STYLE DS_SHELLFONT | DS_MODALFRAME | DS_CONTEXTHELP | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
|
||||
CAPTION "Premenova� profil"
|
||||
FONT 8, "MS Shell Dlg"
|
||||
BEGIN
|
||||
LTEXT "Z:", IDC_STATIC, 5, 10, 20, 8
|
||||
LTEXT "", IDC_RENPROFEDITFROM, 30, 10, 160, 10
|
||||
LTEXT "Na:", IDC_STATIC, 5, 30, 20, 8
|
||||
EDITTEXT IDC_RENPROFEDITTO, 30, 30, 160, 12
|
||||
|
||||
DEFPUSHBUTTON "OK", IDOK, 199, 9, 50, 14
|
||||
PUSHBUTTON "Zruši�", IDCANCEL, 199, 30, 50, 14
|
||||
END
|
||||
|
||||
|
||||
IDD_USERPROFILE DIALOGEX 0, 0, 256, 218
|
||||
STYLE DS_SHELLFONT | DS_MODALFRAME | DS_CONTEXTHELP | DS_SETFONT | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
|
||||
CAPTION "Používate¾ské profily"
|
||||
FONT 8, "MS Shell Dlg"
|
||||
BEGIN
|
||||
ICON IDI_USERPROF, IDC_STATIC, 6, 11, 16, 16, SS_ICON
|
||||
LTEXT "Používate¾ské profily obsahujú nastavenia pracovnej plochy a iné informácie týkajúce sa používate¾ského konta. Na každom používanom poèítaèi je možné vytvori� iný profil alebo je možné vybra� zdie¾aný profil, ktorý je rovnaký na všetkých používaných poèítaèoch.",
|
||||
IDC_STATIC, 40, 11, 204, 44
|
||||
LTEXT "&Profily uložené na tomto poèítaèi:", IDC_STATIC, 16, 51, 204, 9
|
||||
CONTROL "", IDC_USERPROFILE_LIST, "SysListView32", LVS_REPORT | LVS_SINGLESEL | LVS_SHOWSELALWAYS | LVS_SORTASCENDING | WS_BORDER | WS_TABSTOP,
|
||||
6, 66, 244, 85, WS_EX_CLIENTEDGE
|
||||
PUSHBUTTON "&Zmeni� typ", IDC_USERPROFILE_CHANGE, 90, 156, 50, 14
|
||||
PUSHBUTTON "&Odstráni�", IDC_USERPROFILE_DELETE, 145, 156, 50, 14
|
||||
PUSHBUTTON "Kopírova� do", IDC_USERPROFILE_COPY, 200, 156, 50, 14
|
||||
|
||||
CONTROL "Ak chcete vytvori� nové používate¾ské konto, kliknite na položku <A>Používate¾ské kontá</A> v ovládacom paneli.", IDC_USERACCOUNT_LINK, "SysLink", WS_CHILD | WS_VISIBLE | WS_TABSTOP, 7, 175, 204, 18
|
||||
|
||||
DEFPUSHBUTTON "OK", IDOK, 134, 200, 54, 14
|
||||
PUSHBUTTON "Zruši�", IDCANCEL, 196, 200, 54, 14
|
||||
END
|
||||
|
||||
|
||||
IDD_STARTUPRECOVERY DIALOGEX 6, 18, 252, 280
|
||||
STYLE DS_SHELLFONT | DS_MODALFRAME | DS_CONTEXTHELP | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
|
||||
CAPTION "Spúš�anie a obnovovanie"
|
||||
FONT 8, "MS Shell Dlg"
|
||||
BEGIN
|
||||
GROUPBOX "Spustenie systému", IDC_STATIC, 7, 12, 238, 95
|
||||
LTEXT "Predvolený operaèný &systém:", IDC_STATIC, 14, 26, 100, 8
|
||||
COMBOBOX IDC_STRECOSCOMBO, 14, 37, 224, 46, CBS_DROPDOWNLIST
|
||||
AUTOCHECKBOX "&Zobrazi� zoznam operaèných systémov na:", IDC_STRECLIST, 14, 56, 150, 8
|
||||
EDITTEXT IDC_STRRECLISTEDIT, 183, 54, 30, 12, ES_NUMBER
|
||||
CONTROL "", IDC_STRRECLISTUPDWN, "msctls_updown32", UDS_WRAP | UDS_SETBUDDYINT | UDS_ALIGNRIGHT | UDS_AUTOBUDDY | UDS_ARROWKEYS | UDS_NOTHOUSANDS | WS_CHILD | WS_VISIBLE, 0, 0, 8, 13
|
||||
LTEXT "sekúnd", IDC_STATIC, 215, 56, 25, 8
|
||||
AUTOCHECKBOX "Ak sú &potrebné možnosti obnovenia, zobrazi� ich na:", IDC_STRRECREC, 14, 70, 167, 8
|
||||
EDITTEXT IDC_STRRECRECEDIT, 183, 68, 30, 12, ES_NUMBER
|
||||
CONTROL "", IDC_STRRECRECUPDWN, "msctls_updown32", UDS_WRAP | UDS_SETBUDDYINT | UDS_ALIGNRIGHT | UDS_AUTOBUDDY | UDS_ARROWKEYS | UDS_NOTHOUSANDS | WS_CHILD | WS_VISIBLE, 0, 0, 8, 13
|
||||
LTEXT "sekúnd", IDC_STATIC, 215, 70, 25, 8
|
||||
LTEXT "Ak chcete manuálne upravi� súbor s možnos�ami spustenia systému, kliknite na tlaèidlo Upravi�.", IDC_STATIC, 14, 85, 173, 18
|
||||
PUSHBUTTON "Upr&avi�", IDC_STRRECEDIT, 188, 87, 50, 14
|
||||
|
||||
GROUPBOX "Zlyhanie systému", IDC_STATIC, 7, 111, 238, 140
|
||||
AUTOCHECKBOX "Zapísa� &udalos� do systémového denníka", IDC_STRRECWRITEEVENT, 14, 124, 148, 10
|
||||
AUTOCHECKBOX "Posla� správ&covskú výstrahu", IDC_STRRECSENDALERT, 14, 138, 148, 10
|
||||
AUTOCHECKBOX "Automaticky &reštartova�", IDC_STRRECRESTART, 14, 152, 145, 10
|
||||
|
||||
GROUPBOX "Zápis informácií pre ladenie", IDC_STATIC, 12, 167, 227, 76
|
||||
COMBOBOX IDC_STRRECDEBUGCOMBO, 17, 182, 151, 49, CBS_DROPDOWNLIST
|
||||
LTEXT "Súbor &výpisu z pamäte:", IDC_STATIC, 17, 202, 150, 8
|
||||
EDITTEXT IDC_STRRECDUMPFILE, 17, 210, 153, 12
|
||||
AUTOCHECKBOX "Pr&episova� existujúci súbor", IDC_STRRECOVERWRITE, 17, 228, 125, 10
|
||||
|
||||
DEFPUSHBUTTON "OK", IDOK, 141, 259, 50, 14
|
||||
PUSHBUTTON "Zruši�", IDCANCEL, 195, 259, 50, 14
|
||||
END
|
||||
|
||||
|
||||
IDD_VIRTMEM DIALOGEX 6, 6, 223, 248
|
||||
STYLE DS_SHELLFONT | DS_MODALFRAME | DS_CONTEXTHELP | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
|
||||
CAPTION "Virtuálna pamä�"
|
||||
FONT 8, "MS Shell Dlg", 0, 0, 0x0
|
||||
BEGIN
|
||||
LTEXT "Jednotka [menovka zväzku]", IDC_STATIC, 10, 5, 96, 9
|
||||
LTEXT "Ve¾kos� stránkovacieho súboru (v MB)", IDC_STATIC, 112, 5, 96, 9
|
||||
LISTBOX IDC_PAGEFILELIST, 10, 16, 204, 52, LBS_NOTIFY | LBS_USETABSTOPS
|
||||
GROUPBOX "Ve¾kos� stránkovacieho súboru pre vybranú jednotku", IDC_DRIVEGROUP, 10, 70, 204, 104
|
||||
LTEXT "Jednotka:", IDC_STATIC, 20, 80, 30, 8
|
||||
LTEXT "", IDC_DRIVE, 88, 81, 100, 9
|
||||
LTEXT "Dostupné miesto:", IDC_STATIC, 20, 92, 56, 9
|
||||
LTEXT "", IDC_SPACEAVAIL, 88, 92, 104, 9
|
||||
LTEXT "&Poèiatoèná ve¾kos� (v MB):", -1, 22, 118, 88, 9
|
||||
LTEXT "Ma&ximálna ve¾kos� (v MB):", -1, 22, 131, 85, 9
|
||||
AUTORADIOBUTTON "&Vlastná ve¾kos�:", IDC_CUSTOM, 20, 105, 74, 9, WS_GROUP
|
||||
AUTORADIOBUTTON "Ve¾kos� urèovaná &systémom", IDC_SYSMANSIZE, 20, 145, 103, 9
|
||||
AUTORADIOBUTTON "N&epoužíva� stránkovací súbor", IDC_NOPAGEFILE, 20, 158, 108,9
|
||||
EDITTEXT IDC_INITIALSIZE, 111, 114, 44, 13, NOT WS_BORDER, WS_EX_CLIENTEDGE
|
||||
EDITTEXT IDC_MAXSIZE, 111, 129, 44, 13, NOT WS_BORDER, WS_EX_CLIENTEDGE
|
||||
PUSHBUTTON "&Nastavi�", IDC_SET, 158, 155, 50, 14
|
||||
|
||||
GROUPBOX "Celková ve¾kos� stránkovacieho súboru pre všetky jednotky", IDC_TOTALGROUP, 10, 177, 204, 46
|
||||
LTEXT "Najmenšia povolená:", IDC_STATIC, 18, 188, 78, 9
|
||||
LTEXT "", IDC_MINIMUM, 88, 188, 100, 9
|
||||
LTEXT "Odporúèaná:", IDC_STATIC, 18, 199, 52, 9
|
||||
LTEXT "", IDC_RECOMMENDED, 88, 199, 100, 9
|
||||
LTEXT "Aktuálne vyhradená:", IDC_STATIC, 18, 210, 76, 9
|
||||
LTEXT "", IDC_CURRENT, 88, 210, 100, 9
|
||||
|
||||
DEFPUSHBUTTON "OK", IDOK, 114, 232, 48, 14
|
||||
PUSHBUTTON "Zruši�", IDCANCEL, 168, 232, 48, 14
|
||||
END
|
||||
|
||||
|
||||
IDD_ENVIRONMENT_VARIABLES DIALOGEX 6, 18, 252, 245
|
||||
STYLE DS_SHELLFONT | DS_MODALFRAME | DS_CONTEXTHELP | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
|
||||
CAPTION "Premenné prostredia"
|
||||
FONT 8, "MS Shell Dlg", 0, 0, 0x0
|
||||
BEGIN
|
||||
GROUPBOX "&Používate¾ské premenné", IDC_STATIC, 7, 12, 238, 100
|
||||
|
||||
CONTROL "", IDC_USER_VARIABLE_LIST, "SysListView32",
|
||||
LVS_REPORT | LVS_SINGLESEL | LVS_SHOWSELALWAYS | LVS_SORTASCENDING | LVS_NOSORTHEADER |
|
||||
WS_VSCROLL | WS_HSCROLL | WS_TABSTOP, 14, 25, 224, 58, WS_EX_CLIENTEDGE
|
||||
PUSHBUTTON "&Nová...", IDC_USER_VARIABLE_NEW, 80, 90, 50, 14
|
||||
PUSHBUTTON "&Upravi�...", IDC_USER_VARIABLE_EDIT, 134, 90, 50, 14
|
||||
PUSHBUTTON "&Odstráni�", IDC_USER_VARIABLE_DELETE, 188, 90, 50, 14
|
||||
GROUPBOX "&Systémové premenné", IDC_STATIC, 7, 116, 238, 100
|
||||
|
||||
CONTROL "", IDC_SYSTEM_VARIABLE_LIST, "SysListView32",
|
||||
LVS_REPORT | LVS_SINGLESEL | LVS_SHOWSELALWAYS | LVS_SORTASCENDING | LVS_NOSORTHEADER |
|
||||
WS_VSCROLL | WS_HSCROLL | WS_TABSTOP, 14, 129, 224, 58, WS_EX_CLIENTEDGE
|
||||
PUSHBUTTON "No&vá...", IDC_SYSTEM_VARIABLE_NEW, 80, 194, 50, 14
|
||||
PUSHBUTTON "Upr&avi�...", IDC_SYSTEM_VARIABLE_EDIT, 134, 194, 50, 14
|
||||
PUSHBUTTON "O&dstráni�", IDC_SYSTEM_VARIABLE_DELETE, 188, 194, 50, 14
|
||||
DEFPUSHBUTTON "OK", IDOK, 141, 224, 50, 14, WS_GROUP
|
||||
PUSHBUTTON "Zruši�", IDCANCEL, 195, 224, 50, 14
|
||||
END
|
||||
|
||||
|
||||
IDD_EDIT_VARIABLE DIALOGEX 10, 15, 227, 71
|
||||
STYLE DS_SHELLFONT | DS_MODALFRAME | DS_CONTEXTHELP | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
|
||||
CAPTION "Upravi� premennú"
|
||||
FONT 8, "MS Shell Dlg", 0, 0, 0x0
|
||||
BEGIN
|
||||
LTEXT "&Názov premennej:", IDC_STATIC, 7, 14, 70, 8
|
||||
EDITTEXT IDC_VARIABLE_NAME, 75, 12, 145, 12, ES_AUTOHSCROLL
|
||||
LTEXT "&Hodnota premennej:", IDC_STATIC, 7, 32, 70, 8
|
||||
EDITTEXT IDC_VARIABLE_VALUE, 75, 30, 145, 12, ES_AUTOHSCROLL
|
||||
DEFPUSHBUTTON "OK", IDOK, 116, 50, 50, 14
|
||||
PUSHBUTTON "Zruši�", IDCANCEL, 170, 50, 50, 14
|
||||
END
|
||||
|
||||
|
||||
IDD_LICENCE DIALOGEX 6, 5, 267, 159
|
||||
CAPTION "Licencia"
|
||||
FONT 8, "MS Shell Dlg", 0, 0, 0x0
|
||||
STYLE DS_SHELLFONT | WS_BORDER | WS_THICKFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
|
||||
BEGIN
|
||||
EDITTEXT IDC_LICENCEEDIT, 6, 3, 255, 131, WS_VSCROLL | ES_READONLY | ES_MULTILINE
|
||||
DEFPUSHBUTTON "OK", IDOK, 106, 142, 54, 14
|
||||
END
|
||||
|
||||
|
||||
STRINGTABLE DISCARDABLE
|
||||
BEGIN
|
||||
IDS_CPLSYSTEMNAME "Systém"
|
||||
IDS_CPLSYSTEMDESCRIPTION "Zobrazí informácie o poèítaèi, zmenách rôznych systémových a hardvérových nastavení."
|
||||
IDS_MEGABYTE "MB pamäte RAM"
|
||||
IDS_GIGABYTE "GB pamäte RAM"
|
||||
IDS_TERABYTE "TB pamäte RAM"
|
||||
IDS_PETABYTE "PB pamäte RAM"
|
||||
IDS_VARIABLE "Premenná"
|
||||
IDS_VALUE "Hodnota"
|
||||
IDS_NO_DUMP "(žiadne)"
|
||||
IDS_MINI_DUMP "Malý výpis pamäte (64 kB)"
|
||||
IDS_KERNEL_DUMP "Výpis pamäte jadra"
|
||||
IDS_FULL_DUMP "Úplný výpis pamäte"
|
||||
IDS_USERPROFILE_NAME "Názov"
|
||||
IDS_USERPROFILE_SIZE "Ve¾kos�"
|
||||
IDS_USERPROFILE_TYPE "Typ"
|
||||
IDS_USERPROFILE_STATUS "Stav"
|
||||
IDS_USERPROFILE_MODIFIED "Modifikovaný"
|
||||
END
|
||||
|
||||
@@ -1,38 +1,38 @@
|
||||
/* $Id: clipper.c 24690 2006-11-05 21:19:53Z greatlrd $
|
||||
*
|
||||
* COPYRIGHT: See COPYING in the top level directory
|
||||
* PROJECT: ReactOS DirectX
|
||||
* FILE: ddraw/clipper/clipper_stubs.c
|
||||
* PURPOSE: IDirectDrawClipper Implementation
|
||||
* PROGRAMMER: Maarten Bosma
|
||||
*
|
||||
*/
|
||||
|
||||
#include "rosdraw.h"
|
||||
|
||||
HRESULT WINAPI
|
||||
DirectDrawClipper_GetClipList( LPDIRECTDRAWCLIPPER iface,
|
||||
LPRECT lpRect,
|
||||
LPRGNDATA lpClipList,
|
||||
LPDWORD lpdwSize)
|
||||
{
|
||||
DX_WINDBG_trace();
|
||||
DX_STUB;
|
||||
}
|
||||
|
||||
HRESULT WINAPI
|
||||
DirectDrawClipper_SetClipList( LPDIRECTDRAWCLIPPER iface,
|
||||
LPRGNDATA lprgn,
|
||||
DWORD dwFlag)
|
||||
{
|
||||
DX_WINDBG_trace();
|
||||
DX_STUB;
|
||||
}
|
||||
|
||||
HRESULT WINAPI
|
||||
DirectDrawClipper_IsClipListChanged( LPDIRECTDRAWCLIPPER iface,
|
||||
BOOL* lpbChanged)
|
||||
{
|
||||
DX_WINDBG_trace();
|
||||
DX_STUB;
|
||||
}
|
||||
/* $Id: clipper.c 24690 2006-11-05 21:19:53Z greatlrd $
|
||||
*
|
||||
* COPYRIGHT: See COPYING in the top level directory
|
||||
* PROJECT: ReactOS DirectX
|
||||
* FILE: ddraw/clipper/clipper_stubs.c
|
||||
* PURPOSE: IDirectDrawClipper Implementation
|
||||
* PROGRAMMER: Maarten Bosma
|
||||
*
|
||||
*/
|
||||
|
||||
#include "rosdraw.h"
|
||||
|
||||
HRESULT WINAPI
|
||||
DirectDrawClipper_GetClipList( LPDIRECTDRAWCLIPPER iface,
|
||||
LPRECT lpRect,
|
||||
LPRGNDATA lpClipList,
|
||||
LPDWORD lpdwSize)
|
||||
{
|
||||
DX_WINDBG_trace();
|
||||
DX_STUB;
|
||||
}
|
||||
|
||||
HRESULT WINAPI
|
||||
DirectDrawClipper_SetClipList( LPDIRECTDRAWCLIPPER iface,
|
||||
LPRGNDATA lprgn,
|
||||
DWORD dwFlag)
|
||||
{
|
||||
DX_WINDBG_trace();
|
||||
DX_STUB;
|
||||
}
|
||||
|
||||
HRESULT WINAPI
|
||||
DirectDrawClipper_IsClipListChanged( LPDIRECTDRAWCLIPPER iface,
|
||||
BOOL* lpbChanged)
|
||||
{
|
||||
DX_WINDBG_trace();
|
||||
DX_STUB;
|
||||
}
|
||||
|
||||
@@ -1,66 +1,66 @@
|
||||
/* $Id: color.c 24690 2006-11-05 21:19:53Z greatlrd $
|
||||
*
|
||||
* COPYRIGHT: See COPYING in the top level directory
|
||||
* PROJECT: ReactOS DirectX
|
||||
* FILE: ddraw/color/color.c
|
||||
* PURPOSE: IDirectDrawColorControl Implementation
|
||||
* PROGRAMMER: Maarten Bosma
|
||||
*
|
||||
*/
|
||||
|
||||
#include "rosdraw.h"
|
||||
|
||||
ULONG WINAPI
|
||||
DirectDrawColorControl_AddRef( LPDIRECTDRAWCOLORCONTROL iface)
|
||||
{
|
||||
DX_WINDBG_trace();
|
||||
|
||||
DX_STUB;
|
||||
}
|
||||
|
||||
ULONG WINAPI
|
||||
DirectDrawColorControl_Release( LPDIRECTDRAWCOLORCONTROL iface)
|
||||
{
|
||||
LPDDRAWI_DDCOLORCONTROL_INT This = (LPDDRAWI_DDCOLORCONTROL_INT)iface;
|
||||
|
||||
DX_WINDBG_trace();
|
||||
/* FIXME
|
||||
This is not right exiame how it should be done
|
||||
*/
|
||||
DX_STUB_str("FIXME This is not right exiame how it should be done\n");
|
||||
return This->dwIntRefCnt;
|
||||
}
|
||||
|
||||
HRESULT WINAPI
|
||||
DirectDrawColorControl_QueryInterface( LPDIRECTDRAWCOLORCONTROL iface,
|
||||
REFIID riid,
|
||||
LPVOID* ppvObj)
|
||||
{
|
||||
DX_WINDBG_trace();
|
||||
DX_STUB;
|
||||
}
|
||||
|
||||
HRESULT WINAPI
|
||||
DirectDrawColorControl_GetColorControls( LPDIRECTDRAWCOLORCONTROL iface,
|
||||
LPDDCOLORCONTROL lpColorControl)
|
||||
{
|
||||
DX_WINDBG_trace();
|
||||
DX_STUB;
|
||||
}
|
||||
|
||||
HRESULT WINAPI
|
||||
DirectDrawColorControl_SetColorControls( LPDIRECTDRAWCOLORCONTROL iface,
|
||||
LPDDCOLORCONTROL lpColorControl)
|
||||
{
|
||||
DX_WINDBG_trace();
|
||||
DX_STUB;
|
||||
}
|
||||
|
||||
IDirectDrawColorControlVtbl DirectDrawColorControl_Vtable =
|
||||
{
|
||||
DirectDrawColorControl_QueryInterface,
|
||||
DirectDrawColorControl_AddRef,
|
||||
DirectDrawColorControl_Release,
|
||||
DirectDrawColorControl_GetColorControls,
|
||||
DirectDrawColorControl_SetColorControls
|
||||
};
|
||||
/* $Id: color.c 24690 2006-11-05 21:19:53Z greatlrd $
|
||||
*
|
||||
* COPYRIGHT: See COPYING in the top level directory
|
||||
* PROJECT: ReactOS DirectX
|
||||
* FILE: ddraw/color/color.c
|
||||
* PURPOSE: IDirectDrawColorControl Implementation
|
||||
* PROGRAMMER: Maarten Bosma
|
||||
*
|
||||
*/
|
||||
|
||||
#include "rosdraw.h"
|
||||
|
||||
ULONG WINAPI
|
||||
DirectDrawColorControl_AddRef( LPDIRECTDRAWCOLORCONTROL iface)
|
||||
{
|
||||
DX_WINDBG_trace();
|
||||
|
||||
DX_STUB;
|
||||
}
|
||||
|
||||
ULONG WINAPI
|
||||
DirectDrawColorControl_Release( LPDIRECTDRAWCOLORCONTROL iface)
|
||||
{
|
||||
LPDDRAWI_DDCOLORCONTROL_INT This = (LPDDRAWI_DDCOLORCONTROL_INT)iface;
|
||||
|
||||
DX_WINDBG_trace();
|
||||
/* FIXME
|
||||
This is not right exiame how it should be done
|
||||
*/
|
||||
DX_STUB_str("FIXME This is not right exiame how it should be done\n");
|
||||
return This->dwIntRefCnt;
|
||||
}
|
||||
|
||||
HRESULT WINAPI
|
||||
DirectDrawColorControl_QueryInterface( LPDIRECTDRAWCOLORCONTROL iface,
|
||||
REFIID riid,
|
||||
LPVOID* ppvObj)
|
||||
{
|
||||
DX_WINDBG_trace();
|
||||
DX_STUB;
|
||||
}
|
||||
|
||||
HRESULT WINAPI
|
||||
DirectDrawColorControl_GetColorControls( LPDIRECTDRAWCOLORCONTROL iface,
|
||||
LPDDCOLORCONTROL lpColorControl)
|
||||
{
|
||||
DX_WINDBG_trace();
|
||||
DX_STUB;
|
||||
}
|
||||
|
||||
HRESULT WINAPI
|
||||
DirectDrawColorControl_SetColorControls( LPDIRECTDRAWCOLORCONTROL iface,
|
||||
LPDDCOLORCONTROL lpColorControl)
|
||||
{
|
||||
DX_WINDBG_trace();
|
||||
DX_STUB;
|
||||
}
|
||||
|
||||
IDirectDrawColorControlVtbl DirectDrawColorControl_Vtable =
|
||||
{
|
||||
DirectDrawColorControl_QueryInterface,
|
||||
DirectDrawColorControl_AddRef,
|
||||
DirectDrawColorControl_Release,
|
||||
DirectDrawColorControl_GetColorControls,
|
||||
DirectDrawColorControl_SetColorControls
|
||||
};
|
||||
|
||||
@@ -1,68 +1,68 @@
|
||||
/* $Id: gamma.c 24690 2006-11-05 21:19:53Z greatlrd $
|
||||
*
|
||||
* COPYRIGHT: See COPYING in the top level directory
|
||||
* PROJECT: ReactOS DirectX
|
||||
* FILE: ddraw/gamma/gamma_stubs.c
|
||||
* PURPOSE: IDirectDrawGamma Implementation
|
||||
* PROGRAMMER: Maarten Bosma
|
||||
*
|
||||
*/
|
||||
|
||||
#include "rosdraw.h"
|
||||
|
||||
ULONG WINAPI
|
||||
DirectDrawGammaControl_AddRef( LPDIRECTDRAWGAMMACONTROL iface)
|
||||
{
|
||||
DX_WINDBG_trace();
|
||||
|
||||
DX_STUB;
|
||||
}
|
||||
|
||||
ULONG WINAPI
|
||||
DirectDrawGammaControl_Release( LPDIRECTDRAWGAMMACONTROL iface)
|
||||
{
|
||||
LPDDRAWI_DDGAMMACONTROL_INT This = (LPDDRAWI_DDGAMMACONTROL_INT)iface;
|
||||
|
||||
DX_WINDBG_trace();
|
||||
/* FIXME
|
||||
This is not right exiame how it should be done
|
||||
*/
|
||||
DX_STUB_str("FIXME This is not right exiame how it should be done\n");
|
||||
return This->dwIntRefCnt;
|
||||
}
|
||||
|
||||
HRESULT WINAPI
|
||||
DirectDrawGammaControl_QueryInterface( LPDIRECTDRAWGAMMACONTROL iface,
|
||||
REFIID riid,
|
||||
LPVOID *ppObj)
|
||||
{
|
||||
DX_WINDBG_trace();
|
||||
DX_STUB;
|
||||
}
|
||||
|
||||
HRESULT WINAPI
|
||||
DirectDrawGammaControl_GetGammaRamp( LPDIRECTDRAWGAMMACONTROL iface,
|
||||
DWORD dwFlags,
|
||||
LPDDGAMMARAMP lpGammaRamp)
|
||||
{
|
||||
DX_WINDBG_trace();
|
||||
DX_STUB;
|
||||
}
|
||||
|
||||
HRESULT WINAPI
|
||||
DirectDrawGammaControl_SetGammaRamp( LPDIRECTDRAWGAMMACONTROL iface,
|
||||
DWORD dwFlags,
|
||||
LPDDGAMMARAMP lpGammaRamp)
|
||||
{
|
||||
DX_WINDBG_trace();
|
||||
DX_STUB;
|
||||
}
|
||||
|
||||
IDirectDrawGammaControlVtbl DirectDrawGammaControl_Vtable =
|
||||
{
|
||||
DirectDrawGammaControl_QueryInterface,
|
||||
DirectDrawGammaControl_AddRef,
|
||||
DirectDrawGammaControl_Release,
|
||||
DirectDrawGammaControl_GetGammaRamp,
|
||||
DirectDrawGammaControl_SetGammaRamp
|
||||
};
|
||||
/* $Id: gamma.c 24690 2006-11-05 21:19:53Z greatlrd $
|
||||
*
|
||||
* COPYRIGHT: See COPYING in the top level directory
|
||||
* PROJECT: ReactOS DirectX
|
||||
* FILE: ddraw/gamma/gamma_stubs.c
|
||||
* PURPOSE: IDirectDrawGamma Implementation
|
||||
* PROGRAMMER: Maarten Bosma
|
||||
*
|
||||
*/
|
||||
|
||||
#include "rosdraw.h"
|
||||
|
||||
ULONG WINAPI
|
||||
DirectDrawGammaControl_AddRef( LPDIRECTDRAWGAMMACONTROL iface)
|
||||
{
|
||||
DX_WINDBG_trace();
|
||||
|
||||
DX_STUB;
|
||||
}
|
||||
|
||||
ULONG WINAPI
|
||||
DirectDrawGammaControl_Release( LPDIRECTDRAWGAMMACONTROL iface)
|
||||
{
|
||||
LPDDRAWI_DDGAMMACONTROL_INT This = (LPDDRAWI_DDGAMMACONTROL_INT)iface;
|
||||
|
||||
DX_WINDBG_trace();
|
||||
/* FIXME
|
||||
This is not right exiame how it should be done
|
||||
*/
|
||||
DX_STUB_str("FIXME This is not right exiame how it should be done\n");
|
||||
return This->dwIntRefCnt;
|
||||
}
|
||||
|
||||
HRESULT WINAPI
|
||||
DirectDrawGammaControl_QueryInterface( LPDIRECTDRAWGAMMACONTROL iface,
|
||||
REFIID riid,
|
||||
LPVOID *ppObj)
|
||||
{
|
||||
DX_WINDBG_trace();
|
||||
DX_STUB;
|
||||
}
|
||||
|
||||
HRESULT WINAPI
|
||||
DirectDrawGammaControl_GetGammaRamp( LPDIRECTDRAWGAMMACONTROL iface,
|
||||
DWORD dwFlags,
|
||||
LPDDGAMMARAMP lpGammaRamp)
|
||||
{
|
||||
DX_WINDBG_trace();
|
||||
DX_STUB;
|
||||
}
|
||||
|
||||
HRESULT WINAPI
|
||||
DirectDrawGammaControl_SetGammaRamp( LPDIRECTDRAWGAMMACONTROL iface,
|
||||
DWORD dwFlags,
|
||||
LPDDGAMMARAMP lpGammaRamp)
|
||||
{
|
||||
DX_WINDBG_trace();
|
||||
DX_STUB;
|
||||
}
|
||||
|
||||
IDirectDrawGammaControlVtbl DirectDrawGammaControl_Vtable =
|
||||
{
|
||||
DirectDrawGammaControl_QueryInterface,
|
||||
DirectDrawGammaControl_AddRef,
|
||||
DirectDrawGammaControl_Release,
|
||||
DirectDrawGammaControl_GetGammaRamp,
|
||||
DirectDrawGammaControl_SetGammaRamp
|
||||
};
|
||||
|
||||
@@ -1,131 +1,131 @@
|
||||
/* $Id: kernel.c 24690 2006-11-05 21:19:53Z greatlrd $
|
||||
*
|
||||
* COPYRIGHT: See COPYING in the top level directory
|
||||
* PROJECT: ReactOS DirectX
|
||||
* FILE: ddraw/kernel/kernel_stubs.c
|
||||
* PURPOSE: IDirectDrawKernel and IDirectDrawSurfaceKernel Implementation
|
||||
* PROGRAMMER: Maarten Bosma
|
||||
*
|
||||
*/
|
||||
|
||||
#include "rosdraw.h"
|
||||
|
||||
|
||||
/***** IDirectDrawKernel ****/
|
||||
|
||||
ULONG WINAPI
|
||||
DirectDrawKernel_AddRef ( LPDIRECTDRAWKERNEL iface)
|
||||
{
|
||||
DX_WINDBG_trace();
|
||||
|
||||
DX_STUB;
|
||||
}
|
||||
|
||||
ULONG WINAPI
|
||||
DirectDrawKernel_Release ( LPDIRECTDRAWKERNEL iface)
|
||||
{
|
||||
DX_WINDBG_trace();
|
||||
|
||||
DX_STUB;
|
||||
}
|
||||
|
||||
HRESULT WINAPI
|
||||
DirectDrawKernel_QueryInterface ( LPDIRECTDRAWKERNEL iface,
|
||||
REFIID riid,
|
||||
LPVOID* ppvObj)
|
||||
{
|
||||
DX_WINDBG_trace();
|
||||
DX_STUB;
|
||||
}
|
||||
|
||||
HRESULT WINAPI
|
||||
DirectDrawKernel_GetKernelHandle ( LPDIRECTDRAWKERNEL iface,
|
||||
ULONG* handle)
|
||||
{
|
||||
DX_WINDBG_trace();
|
||||
DX_STUB;
|
||||
}
|
||||
|
||||
HRESULT WINAPI
|
||||
DirectDrawKernel_ReleaseKernelHandle ( LPDIRECTDRAWKERNEL iface)
|
||||
{
|
||||
DX_WINDBG_trace();
|
||||
DX_STUB;
|
||||
}
|
||||
|
||||
|
||||
ULONG WINAPI
|
||||
DDSurfaceKernel_AddRef ( LPDIRECTDRAWSURFACEKERNEL iface)
|
||||
{
|
||||
LPDDRAWI_DDKERNELSURFACE_INT This = (LPDDRAWI_DDKERNELSURFACE_INT)iface;
|
||||
|
||||
DX_WINDBG_trace();
|
||||
|
||||
if (iface!=NULL)
|
||||
{
|
||||
This->dwIntRefCnt++;
|
||||
//This->lpLcl->dwLocalRefCnt++;
|
||||
|
||||
//if (This->lpLcl->lpGbl != NULL)
|
||||
//{
|
||||
// This->lpLcl->lpGbl->dwRefCnt++;
|
||||
//}
|
||||
}
|
||||
return This->dwIntRefCnt;
|
||||
}
|
||||
|
||||
ULONG WINAPI
|
||||
DDSurfaceKernel_Release ( LPDIRECTDRAWSURFACEKERNEL iface)
|
||||
{
|
||||
LPDDRAWI_DDKERNELSURFACE_INT This = (LPDDRAWI_DDKERNELSURFACE_INT)iface;
|
||||
|
||||
DX_WINDBG_trace();
|
||||
/* FIXME
|
||||
This is not right exiame how it should be done
|
||||
*/
|
||||
DX_STUB_str("FIXME This is not right exiame how it should be done\n");
|
||||
return This->dwIntRefCnt;
|
||||
}
|
||||
|
||||
HRESULT WINAPI
|
||||
DDSurfaceKernel_QueryInterface ( LPDIRECTDRAWSURFACEKERNEL iface,
|
||||
REFIID riid,
|
||||
LPVOID* ppvObj)
|
||||
{
|
||||
DX_WINDBG_trace();
|
||||
DX_STUB;
|
||||
}
|
||||
|
||||
HRESULT WINAPI
|
||||
DDSurfaceKernel_GetKernelHandle ( LPDIRECTDRAWSURFACEKERNEL iface,
|
||||
ULONG* handle)
|
||||
{
|
||||
DX_WINDBG_trace();
|
||||
DX_STUB;
|
||||
}
|
||||
|
||||
HRESULT WINAPI
|
||||
DDSurfaceKernel_ReleaseKernelHandle ( LPDIRECTDRAWSURFACEKERNEL iface)
|
||||
{
|
||||
DX_WINDBG_trace();
|
||||
DX_STUB;
|
||||
}
|
||||
|
||||
|
||||
IDirectDrawKernelVtbl DirectDrawKernel_Vtable =
|
||||
{
|
||||
DirectDrawKernel_QueryInterface,
|
||||
DirectDrawKernel_AddRef,
|
||||
DirectDrawKernel_Release,
|
||||
DirectDrawKernel_GetKernelHandle,
|
||||
DirectDrawKernel_ReleaseKernelHandle
|
||||
};
|
||||
|
||||
IDirectDrawSurfaceKernelVtbl DirectDrawSurfaceKernel_Vtable =
|
||||
{
|
||||
DDSurfaceKernel_QueryInterface,
|
||||
DDSurfaceKernel_AddRef,
|
||||
DDSurfaceKernel_Release,
|
||||
DDSurfaceKernel_GetKernelHandle,
|
||||
DDSurfaceKernel_ReleaseKernelHandle
|
||||
};
|
||||
/* $Id: kernel.c 24690 2006-11-05 21:19:53Z greatlrd $
|
||||
*
|
||||
* COPYRIGHT: See COPYING in the top level directory
|
||||
* PROJECT: ReactOS DirectX
|
||||
* FILE: ddraw/kernel/kernel_stubs.c
|
||||
* PURPOSE: IDirectDrawKernel and IDirectDrawSurfaceKernel Implementation
|
||||
* PROGRAMMER: Maarten Bosma
|
||||
*
|
||||
*/
|
||||
|
||||
#include "rosdraw.h"
|
||||
|
||||
|
||||
/***** IDirectDrawKernel ****/
|
||||
|
||||
ULONG WINAPI
|
||||
DirectDrawKernel_AddRef ( LPDIRECTDRAWKERNEL iface)
|
||||
{
|
||||
DX_WINDBG_trace();
|
||||
|
||||
DX_STUB;
|
||||
}
|
||||
|
||||
ULONG WINAPI
|
||||
DirectDrawKernel_Release ( LPDIRECTDRAWKERNEL iface)
|
||||
{
|
||||
DX_WINDBG_trace();
|
||||
|
||||
DX_STUB;
|
||||
}
|
||||
|
||||
HRESULT WINAPI
|
||||
DirectDrawKernel_QueryInterface ( LPDIRECTDRAWKERNEL iface,
|
||||
REFIID riid,
|
||||
LPVOID* ppvObj)
|
||||
{
|
||||
DX_WINDBG_trace();
|
||||
DX_STUB;
|
||||
}
|
||||
|
||||
HRESULT WINAPI
|
||||
DirectDrawKernel_GetKernelHandle ( LPDIRECTDRAWKERNEL iface,
|
||||
ULONG* handle)
|
||||
{
|
||||
DX_WINDBG_trace();
|
||||
DX_STUB;
|
||||
}
|
||||
|
||||
HRESULT WINAPI
|
||||
DirectDrawKernel_ReleaseKernelHandle ( LPDIRECTDRAWKERNEL iface)
|
||||
{
|
||||
DX_WINDBG_trace();
|
||||
DX_STUB;
|
||||
}
|
||||
|
||||
|
||||
ULONG WINAPI
|
||||
DDSurfaceKernel_AddRef ( LPDIRECTDRAWSURFACEKERNEL iface)
|
||||
{
|
||||
LPDDRAWI_DDKERNELSURFACE_INT This = (LPDDRAWI_DDKERNELSURFACE_INT)iface;
|
||||
|
||||
DX_WINDBG_trace();
|
||||
|
||||
if (iface!=NULL)
|
||||
{
|
||||
This->dwIntRefCnt++;
|
||||
//This->lpLcl->dwLocalRefCnt++;
|
||||
|
||||
//if (This->lpLcl->lpGbl != NULL)
|
||||
//{
|
||||
// This->lpLcl->lpGbl->dwRefCnt++;
|
||||
//}
|
||||
}
|
||||
return This->dwIntRefCnt;
|
||||
}
|
||||
|
||||
ULONG WINAPI
|
||||
DDSurfaceKernel_Release ( LPDIRECTDRAWSURFACEKERNEL iface)
|
||||
{
|
||||
LPDDRAWI_DDKERNELSURFACE_INT This = (LPDDRAWI_DDKERNELSURFACE_INT)iface;
|
||||
|
||||
DX_WINDBG_trace();
|
||||
/* FIXME
|
||||
This is not right exiame how it should be done
|
||||
*/
|
||||
DX_STUB_str("FIXME This is not right exiame how it should be done\n");
|
||||
return This->dwIntRefCnt;
|
||||
}
|
||||
|
||||
HRESULT WINAPI
|
||||
DDSurfaceKernel_QueryInterface ( LPDIRECTDRAWSURFACEKERNEL iface,
|
||||
REFIID riid,
|
||||
LPVOID* ppvObj)
|
||||
{
|
||||
DX_WINDBG_trace();
|
||||
DX_STUB;
|
||||
}
|
||||
|
||||
HRESULT WINAPI
|
||||
DDSurfaceKernel_GetKernelHandle ( LPDIRECTDRAWSURFACEKERNEL iface,
|
||||
ULONG* handle)
|
||||
{
|
||||
DX_WINDBG_trace();
|
||||
DX_STUB;
|
||||
}
|
||||
|
||||
HRESULT WINAPI
|
||||
DDSurfaceKernel_ReleaseKernelHandle ( LPDIRECTDRAWSURFACEKERNEL iface)
|
||||
{
|
||||
DX_WINDBG_trace();
|
||||
DX_STUB;
|
||||
}
|
||||
|
||||
|
||||
IDirectDrawKernelVtbl DirectDrawKernel_Vtable =
|
||||
{
|
||||
DirectDrawKernel_QueryInterface,
|
||||
DirectDrawKernel_AddRef,
|
||||
DirectDrawKernel_Release,
|
||||
DirectDrawKernel_GetKernelHandle,
|
||||
DirectDrawKernel_ReleaseKernelHandle
|
||||
};
|
||||
|
||||
IDirectDrawSurfaceKernelVtbl DirectDrawSurfaceKernel_Vtable =
|
||||
{
|
||||
DDSurfaceKernel_QueryInterface,
|
||||
DDSurfaceKernel_AddRef,
|
||||
DDSurfaceKernel_Release,
|
||||
DDSurfaceKernel_GetKernelHandle,
|
||||
DDSurfaceKernel_ReleaseKernelHandle
|
||||
};
|
||||
|
||||
@@ -1,85 +1,85 @@
|
||||
/* $Id: palette.c 24690 2006-11-05 21:19:53Z greatlrd $
|
||||
*
|
||||
* COPYRIGHT: See COPYING in the top level directory
|
||||
* PROJECT: ReactOS DirectX
|
||||
* FILE: ddraw/palette/palette_stubs.c
|
||||
* PURPOSE: IDirectDrawPalette Implementation
|
||||
* PROGRAMMER: Maarten Bosma
|
||||
*
|
||||
*/
|
||||
|
||||
#include "rosdraw.h"
|
||||
|
||||
ULONG WINAPI
|
||||
DirectDrawPalette_Release( LPDIRECTDRAWPALETTE iface)
|
||||
{
|
||||
DX_WINDBG_trace();
|
||||
|
||||
DX_STUB;
|
||||
}
|
||||
|
||||
ULONG WINAPI
|
||||
DirectDrawPalette_AddRef( LPDIRECTDRAWPALETTE iface)
|
||||
{
|
||||
DX_WINDBG_trace();
|
||||
|
||||
DX_STUB;
|
||||
}
|
||||
|
||||
HRESULT WINAPI
|
||||
DirectDrawPalette_Initialize( LPDIRECTDRAWPALETTE iface,
|
||||
LPDIRECTDRAW ddraw,
|
||||
DWORD dwFlags,
|
||||
LPPALETTEENTRY palent)
|
||||
{
|
||||
DX_WINDBG_trace();
|
||||
DX_STUB;
|
||||
}
|
||||
|
||||
HRESULT WINAPI
|
||||
DirectDrawPalette_GetEntries( LPDIRECTDRAWPALETTE iface,
|
||||
DWORD dwFlags,
|
||||
DWORD dwStart, DWORD dwCount,
|
||||
LPPALETTEENTRY palent)
|
||||
{
|
||||
DX_WINDBG_trace();
|
||||
DX_STUB;
|
||||
}
|
||||
|
||||
HRESULT WINAPI
|
||||
DirectDrawPalette_SetEntries( LPDIRECTDRAWPALETTE iface,
|
||||
DWORD dwFlags,
|
||||
DWORD dwStart,
|
||||
DWORD dwCount,
|
||||
LPPALETTEENTRY palent)
|
||||
{
|
||||
DX_WINDBG_trace();
|
||||
DX_STUB;
|
||||
}
|
||||
HRESULT WINAPI
|
||||
DirectDrawPalette_GetCaps( LPDIRECTDRAWPALETTE iface,
|
||||
LPDWORD lpdwCaps)
|
||||
{
|
||||
DX_WINDBG_trace();
|
||||
DX_STUB;
|
||||
}
|
||||
|
||||
HRESULT WINAPI
|
||||
DirectDrawPalette_QueryInterface( LPDIRECTDRAWPALETTE iface,
|
||||
REFIID refiid,
|
||||
LPVOID *obj)
|
||||
{
|
||||
DX_WINDBG_trace();
|
||||
DX_STUB;
|
||||
}
|
||||
|
||||
IDirectDrawPaletteVtbl DirectDrawPalette_Vtable =
|
||||
{
|
||||
DirectDrawPalette_QueryInterface,
|
||||
DirectDrawPalette_AddRef,
|
||||
DirectDrawPalette_Release,
|
||||
DirectDrawPalette_GetCaps,
|
||||
DirectDrawPalette_GetEntries,
|
||||
DirectDrawPalette_Initialize,
|
||||
DirectDrawPalette_SetEntries
|
||||
};
|
||||
/* $Id: palette.c 24690 2006-11-05 21:19:53Z greatlrd $
|
||||
*
|
||||
* COPYRIGHT: See COPYING in the top level directory
|
||||
* PROJECT: ReactOS DirectX
|
||||
* FILE: ddraw/palette/palette_stubs.c
|
||||
* PURPOSE: IDirectDrawPalette Implementation
|
||||
* PROGRAMMER: Maarten Bosma
|
||||
*
|
||||
*/
|
||||
|
||||
#include "rosdraw.h"
|
||||
|
||||
ULONG WINAPI
|
||||
DirectDrawPalette_Release( LPDIRECTDRAWPALETTE iface)
|
||||
{
|
||||
DX_WINDBG_trace();
|
||||
|
||||
DX_STUB;
|
||||
}
|
||||
|
||||
ULONG WINAPI
|
||||
DirectDrawPalette_AddRef( LPDIRECTDRAWPALETTE iface)
|
||||
{
|
||||
DX_WINDBG_trace();
|
||||
|
||||
DX_STUB;
|
||||
}
|
||||
|
||||
HRESULT WINAPI
|
||||
DirectDrawPalette_Initialize( LPDIRECTDRAWPALETTE iface,
|
||||
LPDIRECTDRAW ddraw,
|
||||
DWORD dwFlags,
|
||||
LPPALETTEENTRY palent)
|
||||
{
|
||||
DX_WINDBG_trace();
|
||||
DX_STUB;
|
||||
}
|
||||
|
||||
HRESULT WINAPI
|
||||
DirectDrawPalette_GetEntries( LPDIRECTDRAWPALETTE iface,
|
||||
DWORD dwFlags,
|
||||
DWORD dwStart, DWORD dwCount,
|
||||
LPPALETTEENTRY palent)
|
||||
{
|
||||
DX_WINDBG_trace();
|
||||
DX_STUB;
|
||||
}
|
||||
|
||||
HRESULT WINAPI
|
||||
DirectDrawPalette_SetEntries( LPDIRECTDRAWPALETTE iface,
|
||||
DWORD dwFlags,
|
||||
DWORD dwStart,
|
||||
DWORD dwCount,
|
||||
LPPALETTEENTRY palent)
|
||||
{
|
||||
DX_WINDBG_trace();
|
||||
DX_STUB;
|
||||
}
|
||||
HRESULT WINAPI
|
||||
DirectDrawPalette_GetCaps( LPDIRECTDRAWPALETTE iface,
|
||||
LPDWORD lpdwCaps)
|
||||
{
|
||||
DX_WINDBG_trace();
|
||||
DX_STUB;
|
||||
}
|
||||
|
||||
HRESULT WINAPI
|
||||
DirectDrawPalette_QueryInterface( LPDIRECTDRAWPALETTE iface,
|
||||
REFIID refiid,
|
||||
LPVOID *obj)
|
||||
{
|
||||
DX_WINDBG_trace();
|
||||
DX_STUB;
|
||||
}
|
||||
|
||||
IDirectDrawPaletteVtbl DirectDrawPalette_Vtable =
|
||||
{
|
||||
DirectDrawPalette_QueryInterface,
|
||||
DirectDrawPalette_AddRef,
|
||||
DirectDrawPalette_Release,
|
||||
DirectDrawPalette_GetCaps,
|
||||
DirectDrawPalette_GetEntries,
|
||||
DirectDrawPalette_Initialize,
|
||||
DirectDrawPalette_SetEntries
|
||||
};
|
||||
|
||||
@@ -1,264 +1,264 @@
|
||||
/* $Id: videoport.c 22739 2006-07-01 12:08:35Z greatlrd $
|
||||
*
|
||||
* COPYRIGHT: See COPYING in the top level directory
|
||||
* PROJECT: ReactOS DirectX
|
||||
* FILE: ddraw/videoport/videoport_stubs.c
|
||||
* PURPOSE: IDirectDrawVideoPort, DDVideoPortContainer and IDirectDrawVideoPortNotify Implementation
|
||||
* PROGRAMMER: Maarten Bosma
|
||||
*
|
||||
*/
|
||||
|
||||
#include "rosdraw.h"
|
||||
|
||||
|
||||
/************* IDirectDrawVideoPort *************/
|
||||
|
||||
HRESULT WINAPI
|
||||
Main_DirectDrawVideoPort_QueryInterface (LPDIRECTDRAWVIDEOPORT iface, REFIID riid, LPVOID* ppvObj)
|
||||
{
|
||||
DX_WINDBG_trace();
|
||||
|
||||
DX_STUB;
|
||||
}
|
||||
|
||||
ULONG WINAPI
|
||||
Main_DirectDrawVideoPort_AddRef (LPDIRECTDRAWVIDEOPORT iface)
|
||||
{
|
||||
DX_WINDBG_trace();
|
||||
|
||||
DX_STUB;
|
||||
}
|
||||
|
||||
ULONG WINAPI
|
||||
Main_DirectDrawVideoPort_Release (LPDIRECTDRAWVIDEOPORT iface)
|
||||
{
|
||||
DX_WINDBG_trace();
|
||||
|
||||
DX_STUB;
|
||||
}
|
||||
|
||||
HRESULT WINAPI
|
||||
Main_DirectDrawVideoPort_Flip (LPDIRECTDRAWVIDEOPORT iface, LPDIRECTDRAWSURFACE lpDDSurface, DWORD dwFlags)
|
||||
{
|
||||
DX_WINDBG_trace();
|
||||
|
||||
DX_STUB;
|
||||
}
|
||||
|
||||
HRESULT WINAPI
|
||||
Main_DirectDrawVideoPort_GetBandwidthInfo (LPDIRECTDRAWVIDEOPORT iface, LPDDPIXELFORMAT lpddpfFormat, DWORD dwWidth,
|
||||
DWORD dwHeight, DWORD dwFlags, LPDDVIDEOPORTBANDWIDTH lpBandwidth)
|
||||
{
|
||||
DX_WINDBG_trace();
|
||||
DX_STUB;
|
||||
}
|
||||
|
||||
HRESULT WINAPI
|
||||
Main_DirectDrawVideoPort_GetColorControls (LPDIRECTDRAWVIDEOPORT iface, LPDDCOLORCONTROL lpColorControl)
|
||||
{
|
||||
DX_WINDBG_trace();
|
||||
DX_STUB;
|
||||
}
|
||||
|
||||
HRESULT WINAPI Main_DirectDrawVideoPort_GetInputFormats (LPDIRECTDRAWVIDEOPORT iface, LPDWORD lpNumFormats,
|
||||
LPDDPIXELFORMAT lpFormats, DWORD dwFlags)
|
||||
{
|
||||
DX_WINDBG_trace();
|
||||
DX_STUB;
|
||||
}
|
||||
|
||||
HRESULT WINAPI Main_DirectDrawVideoPort_GetOutputFormats (LPDIRECTDRAWVIDEOPORT iface, LPDDPIXELFORMAT lpInputFormat,
|
||||
LPDWORD lpNumFormats, LPDDPIXELFORMAT lpFormats, DWORD dwFlags)
|
||||
{
|
||||
DX_WINDBG_trace();
|
||||
DX_STUB;
|
||||
}
|
||||
|
||||
HRESULT WINAPI Main_DirectDrawVideoPort_GetFieldPolarity (LPDIRECTDRAWVIDEOPORT iface, LPBOOL lpbFieldPolarity)
|
||||
{
|
||||
DX_WINDBG_trace();
|
||||
DX_STUB;
|
||||
}
|
||||
|
||||
HRESULT WINAPI Main_DirectDrawVideoPort_GetVideoLine (LPDIRECTDRAWVIDEOPORT This, LPDWORD lpdwLine)
|
||||
{
|
||||
DX_WINDBG_trace();
|
||||
DX_STUB;
|
||||
}
|
||||
|
||||
HRESULT WINAPI Main_DirectDrawVideoPort_GetVideoSignalStatus (LPDIRECTDRAWVIDEOPORT iface, LPDWORD lpdwStatus)
|
||||
{
|
||||
DX_WINDBG_trace();
|
||||
DX_STUB;
|
||||
}
|
||||
|
||||
HRESULT WINAPI Main_DirectDrawVideoPort_SetColorControls (LPDIRECTDRAWVIDEOPORT iface, LPDDCOLORCONTROL lpColorControl)
|
||||
{
|
||||
DX_WINDBG_trace();
|
||||
DX_STUB;
|
||||
}
|
||||
|
||||
HRESULT WINAPI Main_DirectDrawVideoPort_SetTargetSurface (LPDIRECTDRAWVIDEOPORT iface, LPDIRECTDRAWSURFACE lpDDSurface,
|
||||
DWORD dwFlags)
|
||||
{
|
||||
DX_WINDBG_trace();
|
||||
DX_STUB;
|
||||
}
|
||||
|
||||
HRESULT WINAPI Main_DirectDrawVideoPort_StartVideo (LPDIRECTDRAWVIDEOPORT iface, LPDDVIDEOPORTINFO dwFlags)
|
||||
{
|
||||
DX_WINDBG_trace();
|
||||
DX_STUB;
|
||||
}
|
||||
|
||||
HRESULT WINAPI Main_DirectDrawVideoPort_StopVideo (LPDIRECTDRAWVIDEOPORT iface)
|
||||
{
|
||||
DX_WINDBG_trace();
|
||||
DX_STUB;
|
||||
}
|
||||
|
||||
HRESULT WINAPI Main_DirectDrawVideoPort_UpdateVideo (LPDIRECTDRAWVIDEOPORT iface, LPDDVIDEOPORTINFO dwFlags)
|
||||
{
|
||||
DX_WINDBG_trace();
|
||||
DX_STUB;
|
||||
}
|
||||
|
||||
HRESULT WINAPI Main_DirectDrawVideoPort_WaitForSync (LPDIRECTDRAWVIDEOPORT iface, DWORD dwFlags, DWORD dwLine,
|
||||
DWORD dwTimeout)
|
||||
{
|
||||
DX_WINDBG_trace();
|
||||
DX_STUB;
|
||||
}
|
||||
|
||||
/************* IDDVideoPortContainer *************/
|
||||
|
||||
HRESULT WINAPI Main_DDVideoPortContainer_QueryInterface (LPDDVIDEOPORTCONTAINER iface, REFIID riid, LPVOID* ppvObj)
|
||||
{
|
||||
DX_WINDBG_trace();
|
||||
DX_STUB;
|
||||
}
|
||||
|
||||
ULONG WINAPI Main_DDVideoPortContainer_AddRef (LPDDVIDEOPORTCONTAINER iface)
|
||||
{
|
||||
DX_WINDBG_trace();
|
||||
DX_STUB;
|
||||
}
|
||||
|
||||
ULONG WINAPI Main_DDVideoPortContainer_Release (LPDDVIDEOPORTCONTAINER iface)
|
||||
{
|
||||
DX_WINDBG_trace();
|
||||
DX_STUB;
|
||||
}
|
||||
|
||||
HRESULT WINAPI Main_DDVideoPortContainer_CreateVideoPort (LPDDVIDEOPORTCONTAINER iface, DWORD dwFlags, LPDDVIDEOPORTDESC pPortDesc,
|
||||
LPDIRECTDRAWVIDEOPORT* DDVideoPort, IUnknown* pUnkOuter)
|
||||
{
|
||||
DX_WINDBG_trace();
|
||||
DX_STUB;
|
||||
}
|
||||
|
||||
HRESULT WINAPI
|
||||
Main_DDVideoPortContainer_EnumVideoPorts (LPDDVIDEOPORTCONTAINER iface,
|
||||
DWORD dwFlags,
|
||||
LPDDVIDEOPORTCAPS pCaps,
|
||||
LPVOID pContext,
|
||||
LPDDENUMVIDEOCALLBACK pEnumVideoCallback)
|
||||
{
|
||||
DX_WINDBG_trace();
|
||||
DX_STUB;
|
||||
}
|
||||
|
||||
HRESULT WINAPI
|
||||
Main_DDVideoPortContainer_GetVideoPortConnectInfo (LPDDVIDEOPORTCONTAINER iface,
|
||||
DWORD PortId, DWORD* pNumEntries,
|
||||
LPDDVIDEOPORTCONNECT pConnectInfo)
|
||||
{
|
||||
DX_WINDBG_trace();
|
||||
DX_STUB;
|
||||
}
|
||||
|
||||
HRESULT WINAPI
|
||||
Main_DDVideoPortContainer_QueryVideoPortStatus (LPDDVIDEOPORTCONTAINER iface,
|
||||
DWORD PortId,
|
||||
LPDDVIDEOPORTSTATUS pStatus)
|
||||
{
|
||||
DX_WINDBG_trace();
|
||||
DX_STUB;
|
||||
}
|
||||
|
||||
/************* IDirectDrawVideoPortNotify *************/
|
||||
|
||||
HRESULT WINAPI
|
||||
Main_DDVideoPortNotify_QueryInterface (LPDIRECTDRAWVIDEOPORTNOTIFY iface, REFIID
|
||||
riid, LPVOID* ppvObj)
|
||||
{
|
||||
DX_WINDBG_trace();
|
||||
DX_STUB;
|
||||
}
|
||||
|
||||
ULONG WINAPI
|
||||
Main_DDVideoPortNotify_AddRef (LPDIRECTDRAWVIDEOPORTNOTIFY iface)
|
||||
{
|
||||
DX_WINDBG_trace();
|
||||
DX_STUB;
|
||||
}
|
||||
|
||||
ULONG WINAPI
|
||||
Main_DDVideoPortNotify_Release (LPDIRECTDRAWVIDEOPORTNOTIFY iface)
|
||||
{
|
||||
DX_WINDBG_trace();
|
||||
DX_STUB;
|
||||
}
|
||||
|
||||
HRESULT WINAPI Main_DDVideoPortNotify_AcquireNotification (LPDIRECTDRAWVIDEOPORTNOTIFY iface, HANDLE* h, LPDDVIDEOPORTNOTIFY pVideoPortNotify)
|
||||
{
|
||||
DX_WINDBG_trace();
|
||||
DX_STUB;
|
||||
}
|
||||
|
||||
HRESULT WINAPI Main_DDVideoPortNotify_ReleaseNotification (LPDIRECTDRAWVIDEOPORTNOTIFY iface, HANDLE h)
|
||||
{
|
||||
DX_WINDBG_trace();
|
||||
DX_STUB;
|
||||
}
|
||||
|
||||
IDirectDrawVideoPortVtbl DirectDrawVideoPort_Vtable =
|
||||
{
|
||||
Main_DirectDrawVideoPort_QueryInterface,
|
||||
Main_DirectDrawVideoPort_AddRef,
|
||||
Main_DirectDrawVideoPort_Release,
|
||||
Main_DirectDrawVideoPort_Flip,
|
||||
Main_DirectDrawVideoPort_GetBandwidthInfo,
|
||||
Main_DirectDrawVideoPort_GetColorControls,
|
||||
Main_DirectDrawVideoPort_GetInputFormats,
|
||||
Main_DirectDrawVideoPort_GetOutputFormats,
|
||||
Main_DirectDrawVideoPort_GetFieldPolarity,
|
||||
Main_DirectDrawVideoPort_GetVideoLine,
|
||||
Main_DirectDrawVideoPort_GetVideoSignalStatus,
|
||||
Main_DirectDrawVideoPort_SetColorControls,
|
||||
Main_DirectDrawVideoPort_SetTargetSurface,
|
||||
Main_DirectDrawVideoPort_StartVideo,
|
||||
Main_DirectDrawVideoPort_StopVideo,
|
||||
Main_DirectDrawVideoPort_UpdateVideo,
|
||||
Main_DirectDrawVideoPort_WaitForSync
|
||||
};
|
||||
|
||||
IDDVideoPortContainerVtbl DDVideoPortContainer_Vtable =
|
||||
{
|
||||
Main_DDVideoPortContainer_QueryInterface,
|
||||
Main_DDVideoPortContainer_AddRef,
|
||||
Main_DDVideoPortContainer_Release,
|
||||
Main_DDVideoPortContainer_CreateVideoPort,
|
||||
Main_DDVideoPortContainer_EnumVideoPorts,
|
||||
Main_DDVideoPortContainer_GetVideoPortConnectInfo,
|
||||
Main_DDVideoPortContainer_QueryVideoPortStatus
|
||||
};
|
||||
|
||||
IDirectDrawVideoPortNotifyVtbl DDVideoPortNotify_Vtable =
|
||||
{
|
||||
Main_DDVideoPortNotify_QueryInterface,
|
||||
Main_DDVideoPortNotify_AddRef,
|
||||
Main_DDVideoPortNotify_Release,
|
||||
Main_DDVideoPortNotify_AcquireNotification,
|
||||
Main_DDVideoPortNotify_ReleaseNotification
|
||||
};
|
||||
/* $Id: videoport.c 22739 2006-07-01 12:08:35Z greatlrd $
|
||||
*
|
||||
* COPYRIGHT: See COPYING in the top level directory
|
||||
* PROJECT: ReactOS DirectX
|
||||
* FILE: ddraw/videoport/videoport_stubs.c
|
||||
* PURPOSE: IDirectDrawVideoPort, DDVideoPortContainer and IDirectDrawVideoPortNotify Implementation
|
||||
* PROGRAMMER: Maarten Bosma
|
||||
*
|
||||
*/
|
||||
|
||||
#include "rosdraw.h"
|
||||
|
||||
|
||||
/************* IDirectDrawVideoPort *************/
|
||||
|
||||
HRESULT WINAPI
|
||||
Main_DirectDrawVideoPort_QueryInterface (LPDIRECTDRAWVIDEOPORT iface, REFIID riid, LPVOID* ppvObj)
|
||||
{
|
||||
DX_WINDBG_trace();
|
||||
|
||||
DX_STUB;
|
||||
}
|
||||
|
||||
ULONG WINAPI
|
||||
Main_DirectDrawVideoPort_AddRef (LPDIRECTDRAWVIDEOPORT iface)
|
||||
{
|
||||
DX_WINDBG_trace();
|
||||
|
||||
DX_STUB;
|
||||
}
|
||||
|
||||
ULONG WINAPI
|
||||
Main_DirectDrawVideoPort_Release (LPDIRECTDRAWVIDEOPORT iface)
|
||||
{
|
||||
DX_WINDBG_trace();
|
||||
|
||||
DX_STUB;
|
||||
}
|
||||
|
||||
HRESULT WINAPI
|
||||
Main_DirectDrawVideoPort_Flip (LPDIRECTDRAWVIDEOPORT iface, LPDIRECTDRAWSURFACE lpDDSurface, DWORD dwFlags)
|
||||
{
|
||||
DX_WINDBG_trace();
|
||||
|
||||
DX_STUB;
|
||||
}
|
||||
|
||||
HRESULT WINAPI
|
||||
Main_DirectDrawVideoPort_GetBandwidthInfo (LPDIRECTDRAWVIDEOPORT iface, LPDDPIXELFORMAT lpddpfFormat, DWORD dwWidth,
|
||||
DWORD dwHeight, DWORD dwFlags, LPDDVIDEOPORTBANDWIDTH lpBandwidth)
|
||||
{
|
||||
DX_WINDBG_trace();
|
||||
DX_STUB;
|
||||
}
|
||||
|
||||
HRESULT WINAPI
|
||||
Main_DirectDrawVideoPort_GetColorControls (LPDIRECTDRAWVIDEOPORT iface, LPDDCOLORCONTROL lpColorControl)
|
||||
{
|
||||
DX_WINDBG_trace();
|
||||
DX_STUB;
|
||||
}
|
||||
|
||||
HRESULT WINAPI Main_DirectDrawVideoPort_GetInputFormats (LPDIRECTDRAWVIDEOPORT iface, LPDWORD lpNumFormats,
|
||||
LPDDPIXELFORMAT lpFormats, DWORD dwFlags)
|
||||
{
|
||||
DX_WINDBG_trace();
|
||||
DX_STUB;
|
||||
}
|
||||
|
||||
HRESULT WINAPI Main_DirectDrawVideoPort_GetOutputFormats (LPDIRECTDRAWVIDEOPORT iface, LPDDPIXELFORMAT lpInputFormat,
|
||||
LPDWORD lpNumFormats, LPDDPIXELFORMAT lpFormats, DWORD dwFlags)
|
||||
{
|
||||
DX_WINDBG_trace();
|
||||
DX_STUB;
|
||||
}
|
||||
|
||||
HRESULT WINAPI Main_DirectDrawVideoPort_GetFieldPolarity (LPDIRECTDRAWVIDEOPORT iface, LPBOOL lpbFieldPolarity)
|
||||
{
|
||||
DX_WINDBG_trace();
|
||||
DX_STUB;
|
||||
}
|
||||
|
||||
HRESULT WINAPI Main_DirectDrawVideoPort_GetVideoLine (LPDIRECTDRAWVIDEOPORT This, LPDWORD lpdwLine)
|
||||
{
|
||||
DX_WINDBG_trace();
|
||||
DX_STUB;
|
||||
}
|
||||
|
||||
HRESULT WINAPI Main_DirectDrawVideoPort_GetVideoSignalStatus (LPDIRECTDRAWVIDEOPORT iface, LPDWORD lpdwStatus)
|
||||
{
|
||||
DX_WINDBG_trace();
|
||||
DX_STUB;
|
||||
}
|
||||
|
||||
HRESULT WINAPI Main_DirectDrawVideoPort_SetColorControls (LPDIRECTDRAWVIDEOPORT iface, LPDDCOLORCONTROL lpColorControl)
|
||||
{
|
||||
DX_WINDBG_trace();
|
||||
DX_STUB;
|
||||
}
|
||||
|
||||
HRESULT WINAPI Main_DirectDrawVideoPort_SetTargetSurface (LPDIRECTDRAWVIDEOPORT iface, LPDIRECTDRAWSURFACE lpDDSurface,
|
||||
DWORD dwFlags)
|
||||
{
|
||||
DX_WINDBG_trace();
|
||||
DX_STUB;
|
||||
}
|
||||
|
||||
HRESULT WINAPI Main_DirectDrawVideoPort_StartVideo (LPDIRECTDRAWVIDEOPORT iface, LPDDVIDEOPORTINFO dwFlags)
|
||||
{
|
||||
DX_WINDBG_trace();
|
||||
DX_STUB;
|
||||
}
|
||||
|
||||
HRESULT WINAPI Main_DirectDrawVideoPort_StopVideo (LPDIRECTDRAWVIDEOPORT iface)
|
||||
{
|
||||
DX_WINDBG_trace();
|
||||
DX_STUB;
|
||||
}
|
||||
|
||||
HRESULT WINAPI Main_DirectDrawVideoPort_UpdateVideo (LPDIRECTDRAWVIDEOPORT iface, LPDDVIDEOPORTINFO dwFlags)
|
||||
{
|
||||
DX_WINDBG_trace();
|
||||
DX_STUB;
|
||||
}
|
||||
|
||||
HRESULT WINAPI Main_DirectDrawVideoPort_WaitForSync (LPDIRECTDRAWVIDEOPORT iface, DWORD dwFlags, DWORD dwLine,
|
||||
DWORD dwTimeout)
|
||||
{
|
||||
DX_WINDBG_trace();
|
||||
DX_STUB;
|
||||
}
|
||||
|
||||
/************* IDDVideoPortContainer *************/
|
||||
|
||||
HRESULT WINAPI Main_DDVideoPortContainer_QueryInterface (LPDDVIDEOPORTCONTAINER iface, REFIID riid, LPVOID* ppvObj)
|
||||
{
|
||||
DX_WINDBG_trace();
|
||||
DX_STUB;
|
||||
}
|
||||
|
||||
ULONG WINAPI Main_DDVideoPortContainer_AddRef (LPDDVIDEOPORTCONTAINER iface)
|
||||
{
|
||||
DX_WINDBG_trace();
|
||||
DX_STUB;
|
||||
}
|
||||
|
||||
ULONG WINAPI Main_DDVideoPortContainer_Release (LPDDVIDEOPORTCONTAINER iface)
|
||||
{
|
||||
DX_WINDBG_trace();
|
||||
DX_STUB;
|
||||
}
|
||||
|
||||
HRESULT WINAPI Main_DDVideoPortContainer_CreateVideoPort (LPDDVIDEOPORTCONTAINER iface, DWORD dwFlags, LPDDVIDEOPORTDESC pPortDesc,
|
||||
LPDIRECTDRAWVIDEOPORT* DDVideoPort, IUnknown* pUnkOuter)
|
||||
{
|
||||
DX_WINDBG_trace();
|
||||
DX_STUB;
|
||||
}
|
||||
|
||||
HRESULT WINAPI
|
||||
Main_DDVideoPortContainer_EnumVideoPorts (LPDDVIDEOPORTCONTAINER iface,
|
||||
DWORD dwFlags,
|
||||
LPDDVIDEOPORTCAPS pCaps,
|
||||
LPVOID pContext,
|
||||
LPDDENUMVIDEOCALLBACK pEnumVideoCallback)
|
||||
{
|
||||
DX_WINDBG_trace();
|
||||
DX_STUB;
|
||||
}
|
||||
|
||||
HRESULT WINAPI
|
||||
Main_DDVideoPortContainer_GetVideoPortConnectInfo (LPDDVIDEOPORTCONTAINER iface,
|
||||
DWORD PortId, DWORD* pNumEntries,
|
||||
LPDDVIDEOPORTCONNECT pConnectInfo)
|
||||
{
|
||||
DX_WINDBG_trace();
|
||||
DX_STUB;
|
||||
}
|
||||
|
||||
HRESULT WINAPI
|
||||
Main_DDVideoPortContainer_QueryVideoPortStatus (LPDDVIDEOPORTCONTAINER iface,
|
||||
DWORD PortId,
|
||||
LPDDVIDEOPORTSTATUS pStatus)
|
||||
{
|
||||
DX_WINDBG_trace();
|
||||
DX_STUB;
|
||||
}
|
||||
|
||||
/************* IDirectDrawVideoPortNotify *************/
|
||||
|
||||
HRESULT WINAPI
|
||||
Main_DDVideoPortNotify_QueryInterface (LPDIRECTDRAWVIDEOPORTNOTIFY iface, REFIID
|
||||
riid, LPVOID* ppvObj)
|
||||
{
|
||||
DX_WINDBG_trace();
|
||||
DX_STUB;
|
||||
}
|
||||
|
||||
ULONG WINAPI
|
||||
Main_DDVideoPortNotify_AddRef (LPDIRECTDRAWVIDEOPORTNOTIFY iface)
|
||||
{
|
||||
DX_WINDBG_trace();
|
||||
DX_STUB;
|
||||
}
|
||||
|
||||
ULONG WINAPI
|
||||
Main_DDVideoPortNotify_Release (LPDIRECTDRAWVIDEOPORTNOTIFY iface)
|
||||
{
|
||||
DX_WINDBG_trace();
|
||||
DX_STUB;
|
||||
}
|
||||
|
||||
HRESULT WINAPI Main_DDVideoPortNotify_AcquireNotification (LPDIRECTDRAWVIDEOPORTNOTIFY iface, HANDLE* h, LPDDVIDEOPORTNOTIFY pVideoPortNotify)
|
||||
{
|
||||
DX_WINDBG_trace();
|
||||
DX_STUB;
|
||||
}
|
||||
|
||||
HRESULT WINAPI Main_DDVideoPortNotify_ReleaseNotification (LPDIRECTDRAWVIDEOPORTNOTIFY iface, HANDLE h)
|
||||
{
|
||||
DX_WINDBG_trace();
|
||||
DX_STUB;
|
||||
}
|
||||
|
||||
IDirectDrawVideoPortVtbl DirectDrawVideoPort_Vtable =
|
||||
{
|
||||
Main_DirectDrawVideoPort_QueryInterface,
|
||||
Main_DirectDrawVideoPort_AddRef,
|
||||
Main_DirectDrawVideoPort_Release,
|
||||
Main_DirectDrawVideoPort_Flip,
|
||||
Main_DirectDrawVideoPort_GetBandwidthInfo,
|
||||
Main_DirectDrawVideoPort_GetColorControls,
|
||||
Main_DirectDrawVideoPort_GetInputFormats,
|
||||
Main_DirectDrawVideoPort_GetOutputFormats,
|
||||
Main_DirectDrawVideoPort_GetFieldPolarity,
|
||||
Main_DirectDrawVideoPort_GetVideoLine,
|
||||
Main_DirectDrawVideoPort_GetVideoSignalStatus,
|
||||
Main_DirectDrawVideoPort_SetColorControls,
|
||||
Main_DirectDrawVideoPort_SetTargetSurface,
|
||||
Main_DirectDrawVideoPort_StartVideo,
|
||||
Main_DirectDrawVideoPort_StopVideo,
|
||||
Main_DirectDrawVideoPort_UpdateVideo,
|
||||
Main_DirectDrawVideoPort_WaitForSync
|
||||
};
|
||||
|
||||
IDDVideoPortContainerVtbl DDVideoPortContainer_Vtable =
|
||||
{
|
||||
Main_DDVideoPortContainer_QueryInterface,
|
||||
Main_DDVideoPortContainer_AddRef,
|
||||
Main_DDVideoPortContainer_Release,
|
||||
Main_DDVideoPortContainer_CreateVideoPort,
|
||||
Main_DDVideoPortContainer_EnumVideoPorts,
|
||||
Main_DDVideoPortContainer_GetVideoPortConnectInfo,
|
||||
Main_DDVideoPortContainer_QueryVideoPortStatus
|
||||
};
|
||||
|
||||
IDirectDrawVideoPortNotifyVtbl DDVideoPortNotify_Vtable =
|
||||
{
|
||||
Main_DDVideoPortNotify_QueryInterface,
|
||||
Main_DDVideoPortNotify_AddRef,
|
||||
Main_DDVideoPortNotify_Release,
|
||||
Main_DDVideoPortNotify_AcquireNotification,
|
||||
Main_DDVideoPortNotify_ReleaseNotification
|
||||
};
|
||||
|
||||
@@ -1,368 +1,368 @@
|
||||
/*
|
||||
* ReactOS Polish Keyboard layout
|
||||
* Copyright (C) 2007 ReactOS
|
||||
* License: LGPL, see: LGPL.txt
|
||||
* author: Sebastian Gasiorek
|
||||
*
|
||||
* Thanks to: http://www.barcodeman.com/altek/mule/scandoc.php
|
||||
* and http://win.tue.nl/~aeb/linux/kbd/scancodes-1.html
|
||||
*
|
||||
* missing ~ - Tylda deadkey -
|
||||
*/
|
||||
|
||||
#include <windows.h>
|
||||
#include <internal/kbd.h>
|
||||
|
||||
#ifdef _M_IA64
|
||||
#define ROSDATA static __declspec(allocate(".data"))
|
||||
#else
|
||||
#ifdef _MSC_VER
|
||||
#pragma data_seg(".data")
|
||||
#define ROSDATA static
|
||||
#else
|
||||
#define ROSDATA static __attribute__((section(".data")))
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#define VK_EMPTY 0xff /* The non-existent VK */
|
||||
#define KSHIFT 0x001 /* Shift modifier */
|
||||
#define KCTRL 0x002 /* Ctrl modifier */
|
||||
#define KALT 0x004 /* Alt modifier */
|
||||
#define KEXT 0x100 /* Extended key code */
|
||||
#define KMULTI 0x200 /* Multi-key */
|
||||
#define KSPEC 0x400 /* Special key */
|
||||
#define KNUMP 0x800 /* Number-pad */
|
||||
#define KNUMS 0xc00 /* Special + number pad */
|
||||
#define KMEXT 0x300 /* Multi + ext */
|
||||
|
||||
#define SHFT_INVALID 0x0F
|
||||
|
||||
ROSDATA USHORT scancode_to_vk[] = {
|
||||
/* Numbers Row */
|
||||
/* - 00 - */
|
||||
/* 1 ... 2 ... 3 ... 4 ... */
|
||||
VK_EMPTY, VK_ESCAPE, '1', '2',
|
||||
'3', '4', '5', '6',
|
||||
'7', '8', '9', '0',
|
||||
VK_OEM_MINUS, VK_OEM_PLUS, VK_BACK,
|
||||
/* - 0f - */
|
||||
/* First Letters Row */
|
||||
VK_TAB, 'Q', 'W', 'E',
|
||||
'R', 'T', 'Y', 'U',
|
||||
'I', 'O', 'P',
|
||||
VK_OEM_4, VK_OEM_6, VK_RETURN,
|
||||
/* - 1d - */
|
||||
/* Second Letters Row */
|
||||
VK_LCONTROL,
|
||||
'A', 'S', 'D', 'F',
|
||||
'G', 'H', 'J', 'K',
|
||||
'L', VK_OEM_1, VK_OEM_7, VK_OEM_3,
|
||||
VK_LSHIFT, VK_OEM_5,
|
||||
/* - 2c - */
|
||||
/* Third letters row */
|
||||
'Z', 'X', 'C', 'V',
|
||||
'B', 'N', 'M', VK_OEM_COMMA,
|
||||
VK_OEM_PERIOD,VK_OEM_2, VK_RSHIFT,
|
||||
/* - 37 - */
|
||||
/* Bottom Row */
|
||||
VK_MULTIPLY, VK_LMENU, VK_SPACE, VK_CAPITAL,
|
||||
|
||||
/* - 3b - */
|
||||
/* F-Keys */
|
||||
VK_F1, VK_F2, VK_F3, VK_F4, VK_F5, VK_F6,
|
||||
VK_F7, VK_F8, VK_F9, VK_F10,
|
||||
/* - 45 - */
|
||||
/* Locks */
|
||||
VK_NUMLOCK | KMEXT,
|
||||
VK_SCROLL | KMULTI,
|
||||
/* - 47 - */
|
||||
/* Number-Pad */
|
||||
VK_HOME | KNUMS, VK_UP | KNUMS, VK_PRIOR | KNUMS, VK_SUBTRACT,
|
||||
VK_LEFT | KNUMS, VK_CLEAR | KNUMS, VK_RIGHT | KNUMS, VK_ADD,
|
||||
VK_END | KNUMS, VK_DOWN | KNUMS, VK_NEXT | KNUMS,
|
||||
VK_INSERT | KNUMS, VK_DELETE | KNUMS,
|
||||
/* - 54 - */
|
||||
/* Presumably PrtSc */
|
||||
VK_SNAPSHOT,
|
||||
/* - 55 - */
|
||||
/* Oddities, and the remaining standard F-Keys */
|
||||
VK_EMPTY, VK_EMPTY, VK_F11, VK_F12,
|
||||
/* - 59 - */
|
||||
VK_CLEAR, VK_EMPTY, VK_EMPTY, VK_EMPTY, VK_EMPTY, /* EREOF */
|
||||
VK_EMPTY, VK_EMPTY, VK_EMPTY, VK_EMPTY, VK_EMPTY, /* ZOOM */
|
||||
VK_HELP,
|
||||
/* - 64 - */
|
||||
/* Even more F-Keys (for example, NCR keyboards from the early 90's) */
|
||||
VK_F13, VK_F14, VK_F15, VK_F16, VK_F17, VK_F18, VK_F19, VK_F20,
|
||||
VK_F21, VK_F22, VK_F23,
|
||||
/* - 6f - */
|
||||
/* Not sure who uses these codes */
|
||||
VK_EMPTY, VK_EMPTY, VK_EMPTY,
|
||||
/* - 72 - */
|
||||
VK_EMPTY, VK_EMPTY, VK_EMPTY, VK_EMPTY,
|
||||
/* - 76 - */
|
||||
/* One more f-key */
|
||||
VK_F24,
|
||||
/* - 77 - */
|
||||
VK_EMPTY, VK_EMPTY, VK_EMPTY, VK_EMPTY,
|
||||
VK_EMPTY, VK_EMPTY, VK_EMPTY, VK_EMPTY, /* PA1 */
|
||||
VK_EMPTY,
|
||||
/* - 80 - */
|
||||
0
|
||||
};
|
||||
|
||||
ROSDATA VSC_VK extcode0_to_vk[] = {
|
||||
{ 0, 0 },
|
||||
};
|
||||
|
||||
ROSDATA VSC_VK extcode1_to_vk[] = {
|
||||
{ 0, 0 },
|
||||
};
|
||||
|
||||
ROSDATA VK_TO_BIT modifier_keys[] = {
|
||||
{ VK_SHIFT, KSHIFT },
|
||||
{ VK_CONTROL, KCTRL },
|
||||
{ VK_MENU, KALT },
|
||||
{ 0, 0 }
|
||||
};
|
||||
|
||||
ROSDATA MODIFIERS modifier_bits = {
|
||||
modifier_keys,
|
||||
7,
|
||||
{ 0, 1, 3, SHFT_INVALID, SHFT_INVALID, SHFT_INVALID, 2, 4 }
|
||||
};
|
||||
|
||||
|
||||
#define NOCAPS 0
|
||||
#define CAPS KSHIFT /* Caps -> shift */
|
||||
|
||||
ROSDATA VK_TO_WCHARS2 key_to_chars_2mod[] = {
|
||||
/* Normal vs Shifted */
|
||||
/* The numbers */
|
||||
{ '1', NOCAPS, {'1', '!'} },
|
||||
/* Ctrl-2 generates NUL */
|
||||
{ '3', NOCAPS, {'3', '#'} },
|
||||
{ '4', NOCAPS, {'4', '$'} },
|
||||
{ '5', NOCAPS, {'5', '%'} },
|
||||
/* Ctrl-6 generates RS */
|
||||
{ '7', NOCAPS, {'7', '&'} },
|
||||
{ '8', NOCAPS, {'8', '*'} },
|
||||
{ '9', NOCAPS, {'9', '('} },
|
||||
{ '0', NOCAPS, {'0', ')'} },
|
||||
|
||||
/* Specials */
|
||||
/* Ctrl-_ generates US */
|
||||
{ VK_OEM_PLUS ,NOCAPS, {'=', '+'} },
|
||||
{ VK_OEM_1 ,NOCAPS, {';', ':'} },
|
||||
{ VK_OEM_7 ,NOCAPS, {'\'','\"'} },
|
||||
{ VK_OEM_3 ,NOCAPS, {'`', '~'} },
|
||||
{ VK_OEM_COMMA ,NOCAPS, {',', '<'} },
|
||||
{ VK_OEM_PERIOD ,NOCAPS, {'.', '>'} },
|
||||
{ VK_OEM_2 ,NOCAPS, {'/', '?'} },
|
||||
/* Keys that do not have shift states */
|
||||
{ VK_TAB ,NOCAPS, {'\t','\t'} },
|
||||
{ VK_ADD ,NOCAPS, {'+', '+'} },
|
||||
{ VK_SUBTRACT,NOCAPS, {'-', '-'} },
|
||||
{ VK_MULTIPLY,NOCAPS, {'*', '*'} },
|
||||
{ VK_DIVIDE ,NOCAPS, {'/', '/'} },
|
||||
{ VK_ESCAPE ,NOCAPS, {'\x1b','\x1b'} },
|
||||
{ VK_SPACE ,NOCAPS, {' ', ' '} },
|
||||
{ 0, 0 }
|
||||
};
|
||||
|
||||
ROSDATA VK_TO_WCHARS3 key_to_chars_3mod[] = {
|
||||
/* Normal, Shifted, Ctrl */
|
||||
/* Legacy (telnet-style) ascii escapes */
|
||||
{ VK_OEM_4, 0, {'[', '{', 0x1b /* ESC */} },
|
||||
{ VK_OEM_6, 0, {']', '}', 0x1d /* GS */} },
|
||||
{ VK_OEM_5, 0, {'\\','|', 0x1c /* FS */} },
|
||||
{ VK_RETURN,0, {'\r', '\r', '\n'} },
|
||||
{ 0,0 }
|
||||
};
|
||||
|
||||
ROSDATA VK_TO_WCHARS4 key_to_chars_4mod[] = {
|
||||
/* Normal, Shifted, Ctrl, C-S-x */
|
||||
|
||||
/* The alphabet */
|
||||
{ 'B', CAPS, {'b', 'B', 0x02, 0x02} },
|
||||
{ 'D', CAPS, {'d', 'D', 0x04, 0x04} },
|
||||
{ 'F', CAPS, {'f', 'F', 0x06, 0x06} },
|
||||
{ 'G', CAPS, {'g', 'G', 0x07, 0x07} },
|
||||
{ 'H', CAPS, {'h', 'H', 0x08, 0x08} },
|
||||
{ 'I', CAPS, {'i', 'I', 0x09, 0x09} },
|
||||
{ 'J', CAPS, {'j', 'J', 0x0a, 0x0a} },
|
||||
{ 'K', CAPS, {'k', 'K', 0x0b, 0x0b} },
|
||||
{ 'M', CAPS, {'m', 'M', 0x0d, 0x0d} },
|
||||
{ 'P', CAPS, {'p', 'P', 0x10, 0x10} },
|
||||
{ 'Q', CAPS, {'q', 'Q', 0x11, 0x11} },
|
||||
{ 'R', CAPS, {'r', 'R', 0x12, 0x12} },
|
||||
{ 'T', CAPS, {'t', 'T', 0x14, 0x14} },
|
||||
{ 'U', CAPS, {'u', 'U', 0x15, 0x15} },
|
||||
{ 'V', CAPS, {'v', 'V', 0x16, 0x16} },
|
||||
{ 'W', CAPS, {'w', 'W', 0x17, 0x17} },
|
||||
{ 'Y', CAPS, {'y', 'Y', 0x19, 0x19} },
|
||||
|
||||
|
||||
/* Legacy Ascii generators */
|
||||
{ '2', NOCAPS, {'2', '@', WCH_NONE, 0} },
|
||||
{ '6', NOCAPS, {'6', '^', WCH_NONE, 0x1e /* RS */} },
|
||||
{ VK_OEM_MINUS, NOCAPS, {'-', '_', WCH_NONE, 0x1f /* US */} },
|
||||
{ 0, 0 }
|
||||
};
|
||||
|
||||
ROSDATA VK_TO_WCHARS5 key_to_chars_5mod[] = {
|
||||
/* Normal, Shifted, Ctrl, C-S-x */
|
||||
{ 'A', CAPS, {'a', 'A', 0x0105, 0x01, 0x0104} },
|
||||
{ 'C', CAPS, {'c', 'C', 0x0107, 0x03, 0x0106} },
|
||||
{ 'E', CAPS, {'e', 'E', 0x0119, 0x05, 0x0118} },
|
||||
{ 'L', CAPS, {'l', 'L', 0x0142, 0x0C, 0x0141} },
|
||||
{ 'N', CAPS, {'n', 'N', 0x0144, 0x0E, 0x0143} },
|
||||
{ 'O', CAPS, {'o', 'O', 0xF3, 0x0F, 0xD3} },
|
||||
{ 'S', CAPS, {'s', 'S', 0x015B, 0x13, 0x015A} },
|
||||
{ 'X', CAPS, {'x', 'X', 0x017A, 0x18, 0x0179} },
|
||||
{ 'Z', CAPS, {'z', 'Z', 0x017C, 0x1A, 0x017B} },
|
||||
{ 0, 0 }
|
||||
};
|
||||
|
||||
ROSDATA VK_TO_WCHARS1 keypad_numbers[] = {
|
||||
{ VK_NUMPAD0, 0, {'0'} },
|
||||
{ VK_NUMPAD1, 0, {'1'} },
|
||||
{ VK_NUMPAD2, 0, {'2'} },
|
||||
{ VK_NUMPAD3, 0, {'3'} },
|
||||
{ VK_NUMPAD4, 0, {'4'} },
|
||||
{ VK_NUMPAD5, 0, {'5'} },
|
||||
{ VK_NUMPAD6, 0, {'6'} },
|
||||
{ VK_NUMPAD7, 0, {'7'} },
|
||||
{ VK_NUMPAD8, 0, {'8'} },
|
||||
{ VK_NUMPAD9, 0, {'9'} },
|
||||
{ VK_DECIMAL, 0, {'.'} },
|
||||
{ VK_BACK, 0, {'\010'} },
|
||||
{ 0,0 }
|
||||
};
|
||||
|
||||
#define vk_master(n,x) { (PVK_TO_WCHARS1)x, n, sizeof(x[0]) }
|
||||
|
||||
ROSDATA VK_TO_WCHAR_TABLE vk_to_wchar_master_table[] = {
|
||||
vk_master(1,keypad_numbers),
|
||||
vk_master(2,key_to_chars_2mod),
|
||||
vk_master(3,key_to_chars_3mod),
|
||||
vk_master(4,key_to_chars_4mod),
|
||||
vk_master(5,key_to_chars_5mod),
|
||||
{ 0,0,0 }
|
||||
};
|
||||
|
||||
ROSDATA VSC_LPWSTR key_names[] = {
|
||||
{ 0x00, L"" },
|
||||
{ 0x01, L"Esc" },
|
||||
{ 0x0e, L"Backspace" },
|
||||
{ 0x0f, L"Tab" },
|
||||
{ 0x1c, L"Enter" },
|
||||
{ 0x1d, L"Ctrl" },
|
||||
{ 0x2a, L"Shift" },
|
||||
{ 0x36, L"Right Shift" },
|
||||
{ 0x37, L"Num *" },
|
||||
{ 0x38, L"Alt" },
|
||||
{ 0x39, L"Space" },
|
||||
{ 0x3a, L"Caps Lock" },
|
||||
{ 0x3b, L"F1" },
|
||||
{ 0x3c, L"F2" },
|
||||
{ 0x3d, L"F3" },
|
||||
{ 0x3e, L"F4" },
|
||||
{ 0x3f, L"F5" },
|
||||
{ 0x40, L"F6" },
|
||||
{ 0x41, L"F7" },
|
||||
{ 0x42, L"F8" },
|
||||
{ 0x43, L"F9" },
|
||||
{ 0x44, L"F10" },
|
||||
{ 0x45, L"Pause" },
|
||||
{ 0x46, L"Scroll Lock" },
|
||||
{ 0x47, L"Num 7" },
|
||||
{ 0x48, L"Num 8" },
|
||||
{ 0x49, L"Num 9" },
|
||||
{ 0x4a, L"Num -" },
|
||||
{ 0x4b, L"Num 4" },
|
||||
{ 0x4c, L"Num 5" },
|
||||
{ 0x4d, L"Num 6" },
|
||||
{ 0x4e, L"Num +" },
|
||||
{ 0x4f, L"Num 1" },
|
||||
{ 0x50, L"Num 2" },
|
||||
{ 0x51, L"Num 3" },
|
||||
{ 0x52, L"Num 0" },
|
||||
{ 0x53, L"Num Del" },
|
||||
{ 0x54, L"Sys Req" },
|
||||
{ 0x57, L"F11" },
|
||||
{ 0x58, L"F12" },
|
||||
{ 0x7c, L"F13" },
|
||||
{ 0x7d, L"F14" },
|
||||
{ 0x7e, L"F15" },
|
||||
{ 0x7f, L"F16" },
|
||||
{ 0x80, L"F17" },
|
||||
{ 0x81, L"F18" },
|
||||
{ 0x82, L"F19" },
|
||||
{ 0x83, L"F20" },
|
||||
{ 0x84, L"F21" },
|
||||
{ 0x85, L"F22" },
|
||||
{ 0x86, L"F23" },
|
||||
{ 0x87, L"F24" },
|
||||
{ 0, NULL },
|
||||
};
|
||||
|
||||
ROSDATA VSC_LPWSTR extended_key_names[] = {
|
||||
{ 0x1c, L"Num Enter" },
|
||||
{ 0x1d, L"Right Ctrl" },
|
||||
{ 0x35, L"Num /" },
|
||||
{ 0x37, L"Prnt Scrn" },
|
||||
{ 0x38, L"Right Alt" },
|
||||
{ 0x45, L"Num Lock" },
|
||||
{ 0x46, L"Break" },
|
||||
{ 0x47, L"Home" },
|
||||
{ 0x48, L"Up" },
|
||||
{ 0x49, L"Page Up" },
|
||||
{ 0x4a, L"Left" },
|
||||
{ 0x4c, L"Center" },
|
||||
{ 0x4d, L"Right" },
|
||||
{ 0x4f, L"End" },
|
||||
{ 0x50, L"Down" },
|
||||
{ 0x51, L"Page Down" },
|
||||
{ 0x52, L"Insert" },
|
||||
{ 0x53, L"Delete" },
|
||||
{ 0x54, L"<ReactOS>" },
|
||||
{ 0x55, L"Help" },
|
||||
{ 0x56, L"Left Windows" },
|
||||
{ 0x5b, L"Right Windows" },
|
||||
{ 0, NULL },
|
||||
};
|
||||
|
||||
/* Finally, the master table */
|
||||
ROSDATA KBDTABLES keyboard_layout_table = {
|
||||
/* modifier assignments */
|
||||
&modifier_bits,
|
||||
|
||||
/* character from vk tables */
|
||||
vk_to_wchar_master_table,
|
||||
|
||||
/* diacritical marks -- currently implemented by wine code */
|
||||
NULL,
|
||||
|
||||
/* Key names */
|
||||
(VSC_LPWSTR *)key_names,
|
||||
(VSC_LPWSTR *)extended_key_names,
|
||||
NULL, /* Dead key names */
|
||||
|
||||
/* scan code to virtual key maps */
|
||||
scancode_to_vk,
|
||||
sizeof(scancode_to_vk) / sizeof(scancode_to_vk[0]),
|
||||
extcode0_to_vk,
|
||||
extcode1_to_vk,
|
||||
|
||||
MAKELONG(1,1), /* Version 1.0 */
|
||||
|
||||
0,
|
||||
0,
|
||||
NULL
|
||||
};
|
||||
|
||||
PKBDTABLES WINAPI KbdLayerDescriptor(VOID) {
|
||||
return &keyboard_layout_table;
|
||||
}
|
||||
|
||||
/*
|
||||
* ReactOS Polish Keyboard layout
|
||||
* Copyright (C) 2007 ReactOS
|
||||
* License: LGPL, see: LGPL.txt
|
||||
* author: Sebastian Gasiorek
|
||||
*
|
||||
* Thanks to: http://www.barcodeman.com/altek/mule/scandoc.php
|
||||
* and http://win.tue.nl/~aeb/linux/kbd/scancodes-1.html
|
||||
*
|
||||
* missing ~ - Tylda deadkey -
|
||||
*/
|
||||
|
||||
#include <windows.h>
|
||||
#include <internal/kbd.h>
|
||||
|
||||
#ifdef _M_IA64
|
||||
#define ROSDATA static __declspec(allocate(".data"))
|
||||
#else
|
||||
#ifdef _MSC_VER
|
||||
#pragma data_seg(".data")
|
||||
#define ROSDATA static
|
||||
#else
|
||||
#define ROSDATA static __attribute__((section(".data")))
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#define VK_EMPTY 0xff /* The non-existent VK */
|
||||
#define KSHIFT 0x001 /* Shift modifier */
|
||||
#define KCTRL 0x002 /* Ctrl modifier */
|
||||
#define KALT 0x004 /* Alt modifier */
|
||||
#define KEXT 0x100 /* Extended key code */
|
||||
#define KMULTI 0x200 /* Multi-key */
|
||||
#define KSPEC 0x400 /* Special key */
|
||||
#define KNUMP 0x800 /* Number-pad */
|
||||
#define KNUMS 0xc00 /* Special + number pad */
|
||||
#define KMEXT 0x300 /* Multi + ext */
|
||||
|
||||
#define SHFT_INVALID 0x0F
|
||||
|
||||
ROSDATA USHORT scancode_to_vk[] = {
|
||||
/* Numbers Row */
|
||||
/* - 00 - */
|
||||
/* 1 ... 2 ... 3 ... 4 ... */
|
||||
VK_EMPTY, VK_ESCAPE, '1', '2',
|
||||
'3', '4', '5', '6',
|
||||
'7', '8', '9', '0',
|
||||
VK_OEM_MINUS, VK_OEM_PLUS, VK_BACK,
|
||||
/* - 0f - */
|
||||
/* First Letters Row */
|
||||
VK_TAB, 'Q', 'W', 'E',
|
||||
'R', 'T', 'Y', 'U',
|
||||
'I', 'O', 'P',
|
||||
VK_OEM_4, VK_OEM_6, VK_RETURN,
|
||||
/* - 1d - */
|
||||
/* Second Letters Row */
|
||||
VK_LCONTROL,
|
||||
'A', 'S', 'D', 'F',
|
||||
'G', 'H', 'J', 'K',
|
||||
'L', VK_OEM_1, VK_OEM_7, VK_OEM_3,
|
||||
VK_LSHIFT, VK_OEM_5,
|
||||
/* - 2c - */
|
||||
/* Third letters row */
|
||||
'Z', 'X', 'C', 'V',
|
||||
'B', 'N', 'M', VK_OEM_COMMA,
|
||||
VK_OEM_PERIOD,VK_OEM_2, VK_RSHIFT,
|
||||
/* - 37 - */
|
||||
/* Bottom Row */
|
||||
VK_MULTIPLY, VK_LMENU, VK_SPACE, VK_CAPITAL,
|
||||
|
||||
/* - 3b - */
|
||||
/* F-Keys */
|
||||
VK_F1, VK_F2, VK_F3, VK_F4, VK_F5, VK_F6,
|
||||
VK_F7, VK_F8, VK_F9, VK_F10,
|
||||
/* - 45 - */
|
||||
/* Locks */
|
||||
VK_NUMLOCK | KMEXT,
|
||||
VK_SCROLL | KMULTI,
|
||||
/* - 47 - */
|
||||
/* Number-Pad */
|
||||
VK_HOME | KNUMS, VK_UP | KNUMS, VK_PRIOR | KNUMS, VK_SUBTRACT,
|
||||
VK_LEFT | KNUMS, VK_CLEAR | KNUMS, VK_RIGHT | KNUMS, VK_ADD,
|
||||
VK_END | KNUMS, VK_DOWN | KNUMS, VK_NEXT | KNUMS,
|
||||
VK_INSERT | KNUMS, VK_DELETE | KNUMS,
|
||||
/* - 54 - */
|
||||
/* Presumably PrtSc */
|
||||
VK_SNAPSHOT,
|
||||
/* - 55 - */
|
||||
/* Oddities, and the remaining standard F-Keys */
|
||||
VK_EMPTY, VK_EMPTY, VK_F11, VK_F12,
|
||||
/* - 59 - */
|
||||
VK_CLEAR, VK_EMPTY, VK_EMPTY, VK_EMPTY, VK_EMPTY, /* EREOF */
|
||||
VK_EMPTY, VK_EMPTY, VK_EMPTY, VK_EMPTY, VK_EMPTY, /* ZOOM */
|
||||
VK_HELP,
|
||||
/* - 64 - */
|
||||
/* Even more F-Keys (for example, NCR keyboards from the early 90's) */
|
||||
VK_F13, VK_F14, VK_F15, VK_F16, VK_F17, VK_F18, VK_F19, VK_F20,
|
||||
VK_F21, VK_F22, VK_F23,
|
||||
/* - 6f - */
|
||||
/* Not sure who uses these codes */
|
||||
VK_EMPTY, VK_EMPTY, VK_EMPTY,
|
||||
/* - 72 - */
|
||||
VK_EMPTY, VK_EMPTY, VK_EMPTY, VK_EMPTY,
|
||||
/* - 76 - */
|
||||
/* One more f-key */
|
||||
VK_F24,
|
||||
/* - 77 - */
|
||||
VK_EMPTY, VK_EMPTY, VK_EMPTY, VK_EMPTY,
|
||||
VK_EMPTY, VK_EMPTY, VK_EMPTY, VK_EMPTY, /* PA1 */
|
||||
VK_EMPTY,
|
||||
/* - 80 - */
|
||||
0
|
||||
};
|
||||
|
||||
ROSDATA VSC_VK extcode0_to_vk[] = {
|
||||
{ 0, 0 },
|
||||
};
|
||||
|
||||
ROSDATA VSC_VK extcode1_to_vk[] = {
|
||||
{ 0, 0 },
|
||||
};
|
||||
|
||||
ROSDATA VK_TO_BIT modifier_keys[] = {
|
||||
{ VK_SHIFT, KSHIFT },
|
||||
{ VK_CONTROL, KCTRL },
|
||||
{ VK_MENU, KALT },
|
||||
{ 0, 0 }
|
||||
};
|
||||
|
||||
ROSDATA MODIFIERS modifier_bits = {
|
||||
modifier_keys,
|
||||
7,
|
||||
{ 0, 1, 3, SHFT_INVALID, SHFT_INVALID, SHFT_INVALID, 2, 4 }
|
||||
};
|
||||
|
||||
|
||||
#define NOCAPS 0
|
||||
#define CAPS KSHIFT /* Caps -> shift */
|
||||
|
||||
ROSDATA VK_TO_WCHARS2 key_to_chars_2mod[] = {
|
||||
/* Normal vs Shifted */
|
||||
/* The numbers */
|
||||
{ '1', NOCAPS, {'1', '!'} },
|
||||
/* Ctrl-2 generates NUL */
|
||||
{ '3', NOCAPS, {'3', '#'} },
|
||||
{ '4', NOCAPS, {'4', '$'} },
|
||||
{ '5', NOCAPS, {'5', '%'} },
|
||||
/* Ctrl-6 generates RS */
|
||||
{ '7', NOCAPS, {'7', '&'} },
|
||||
{ '8', NOCAPS, {'8', '*'} },
|
||||
{ '9', NOCAPS, {'9', '('} },
|
||||
{ '0', NOCAPS, {'0', ')'} },
|
||||
|
||||
/* Specials */
|
||||
/* Ctrl-_ generates US */
|
||||
{ VK_OEM_PLUS ,NOCAPS, {'=', '+'} },
|
||||
{ VK_OEM_1 ,NOCAPS, {';', ':'} },
|
||||
{ VK_OEM_7 ,NOCAPS, {'\'','\"'} },
|
||||
{ VK_OEM_3 ,NOCAPS, {'`', '~'} },
|
||||
{ VK_OEM_COMMA ,NOCAPS, {',', '<'} },
|
||||
{ VK_OEM_PERIOD ,NOCAPS, {'.', '>'} },
|
||||
{ VK_OEM_2 ,NOCAPS, {'/', '?'} },
|
||||
/* Keys that do not have shift states */
|
||||
{ VK_TAB ,NOCAPS, {'\t','\t'} },
|
||||
{ VK_ADD ,NOCAPS, {'+', '+'} },
|
||||
{ VK_SUBTRACT,NOCAPS, {'-', '-'} },
|
||||
{ VK_MULTIPLY,NOCAPS, {'*', '*'} },
|
||||
{ VK_DIVIDE ,NOCAPS, {'/', '/'} },
|
||||
{ VK_ESCAPE ,NOCAPS, {'\x1b','\x1b'} },
|
||||
{ VK_SPACE ,NOCAPS, {' ', ' '} },
|
||||
{ 0, 0 }
|
||||
};
|
||||
|
||||
ROSDATA VK_TO_WCHARS3 key_to_chars_3mod[] = {
|
||||
/* Normal, Shifted, Ctrl */
|
||||
/* Legacy (telnet-style) ascii escapes */
|
||||
{ VK_OEM_4, 0, {'[', '{', 0x1b /* ESC */} },
|
||||
{ VK_OEM_6, 0, {']', '}', 0x1d /* GS */} },
|
||||
{ VK_OEM_5, 0, {'\\','|', 0x1c /* FS */} },
|
||||
{ VK_RETURN,0, {'\r', '\r', '\n'} },
|
||||
{ 0,0 }
|
||||
};
|
||||
|
||||
ROSDATA VK_TO_WCHARS4 key_to_chars_4mod[] = {
|
||||
/* Normal, Shifted, Ctrl, C-S-x */
|
||||
|
||||
/* The alphabet */
|
||||
{ 'B', CAPS, {'b', 'B', 0x02, 0x02} },
|
||||
{ 'D', CAPS, {'d', 'D', 0x04, 0x04} },
|
||||
{ 'F', CAPS, {'f', 'F', 0x06, 0x06} },
|
||||
{ 'G', CAPS, {'g', 'G', 0x07, 0x07} },
|
||||
{ 'H', CAPS, {'h', 'H', 0x08, 0x08} },
|
||||
{ 'I', CAPS, {'i', 'I', 0x09, 0x09} },
|
||||
{ 'J', CAPS, {'j', 'J', 0x0a, 0x0a} },
|
||||
{ 'K', CAPS, {'k', 'K', 0x0b, 0x0b} },
|
||||
{ 'M', CAPS, {'m', 'M', 0x0d, 0x0d} },
|
||||
{ 'P', CAPS, {'p', 'P', 0x10, 0x10} },
|
||||
{ 'Q', CAPS, {'q', 'Q', 0x11, 0x11} },
|
||||
{ 'R', CAPS, {'r', 'R', 0x12, 0x12} },
|
||||
{ 'T', CAPS, {'t', 'T', 0x14, 0x14} },
|
||||
{ 'U', CAPS, {'u', 'U', 0x15, 0x15} },
|
||||
{ 'V', CAPS, {'v', 'V', 0x16, 0x16} },
|
||||
{ 'W', CAPS, {'w', 'W', 0x17, 0x17} },
|
||||
{ 'Y', CAPS, {'y', 'Y', 0x19, 0x19} },
|
||||
|
||||
|
||||
/* Legacy Ascii generators */
|
||||
{ '2', NOCAPS, {'2', '@', WCH_NONE, 0} },
|
||||
{ '6', NOCAPS, {'6', '^', WCH_NONE, 0x1e /* RS */} },
|
||||
{ VK_OEM_MINUS, NOCAPS, {'-', '_', WCH_NONE, 0x1f /* US */} },
|
||||
{ 0, 0 }
|
||||
};
|
||||
|
||||
ROSDATA VK_TO_WCHARS5 key_to_chars_5mod[] = {
|
||||
/* Normal, Shifted, Ctrl, C-S-x */
|
||||
{ 'A', CAPS, {'a', 'A', 0x0105, 0x01, 0x0104} },
|
||||
{ 'C', CAPS, {'c', 'C', 0x0107, 0x03, 0x0106} },
|
||||
{ 'E', CAPS, {'e', 'E', 0x0119, 0x05, 0x0118} },
|
||||
{ 'L', CAPS, {'l', 'L', 0x0142, 0x0C, 0x0141} },
|
||||
{ 'N', CAPS, {'n', 'N', 0x0144, 0x0E, 0x0143} },
|
||||
{ 'O', CAPS, {'o', 'O', 0xF3, 0x0F, 0xD3} },
|
||||
{ 'S', CAPS, {'s', 'S', 0x015B, 0x13, 0x015A} },
|
||||
{ 'X', CAPS, {'x', 'X', 0x017A, 0x18, 0x0179} },
|
||||
{ 'Z', CAPS, {'z', 'Z', 0x017C, 0x1A, 0x017B} },
|
||||
{ 0, 0 }
|
||||
};
|
||||
|
||||
ROSDATA VK_TO_WCHARS1 keypad_numbers[] = {
|
||||
{ VK_NUMPAD0, 0, {'0'} },
|
||||
{ VK_NUMPAD1, 0, {'1'} },
|
||||
{ VK_NUMPAD2, 0, {'2'} },
|
||||
{ VK_NUMPAD3, 0, {'3'} },
|
||||
{ VK_NUMPAD4, 0, {'4'} },
|
||||
{ VK_NUMPAD5, 0, {'5'} },
|
||||
{ VK_NUMPAD6, 0, {'6'} },
|
||||
{ VK_NUMPAD7, 0, {'7'} },
|
||||
{ VK_NUMPAD8, 0, {'8'} },
|
||||
{ VK_NUMPAD9, 0, {'9'} },
|
||||
{ VK_DECIMAL, 0, {'.'} },
|
||||
{ VK_BACK, 0, {'\010'} },
|
||||
{ 0,0 }
|
||||
};
|
||||
|
||||
#define vk_master(n,x) { (PVK_TO_WCHARS1)x, n, sizeof(x[0]) }
|
||||
|
||||
ROSDATA VK_TO_WCHAR_TABLE vk_to_wchar_master_table[] = {
|
||||
vk_master(1,keypad_numbers),
|
||||
vk_master(2,key_to_chars_2mod),
|
||||
vk_master(3,key_to_chars_3mod),
|
||||
vk_master(4,key_to_chars_4mod),
|
||||
vk_master(5,key_to_chars_5mod),
|
||||
{ 0,0,0 }
|
||||
};
|
||||
|
||||
ROSDATA VSC_LPWSTR key_names[] = {
|
||||
{ 0x00, L"" },
|
||||
{ 0x01, L"Esc" },
|
||||
{ 0x0e, L"Backspace" },
|
||||
{ 0x0f, L"Tab" },
|
||||
{ 0x1c, L"Enter" },
|
||||
{ 0x1d, L"Ctrl" },
|
||||
{ 0x2a, L"Shift" },
|
||||
{ 0x36, L"Right Shift" },
|
||||
{ 0x37, L"Num *" },
|
||||
{ 0x38, L"Alt" },
|
||||
{ 0x39, L"Space" },
|
||||
{ 0x3a, L"Caps Lock" },
|
||||
{ 0x3b, L"F1" },
|
||||
{ 0x3c, L"F2" },
|
||||
{ 0x3d, L"F3" },
|
||||
{ 0x3e, L"F4" },
|
||||
{ 0x3f, L"F5" },
|
||||
{ 0x40, L"F6" },
|
||||
{ 0x41, L"F7" },
|
||||
{ 0x42, L"F8" },
|
||||
{ 0x43, L"F9" },
|
||||
{ 0x44, L"F10" },
|
||||
{ 0x45, L"Pause" },
|
||||
{ 0x46, L"Scroll Lock" },
|
||||
{ 0x47, L"Num 7" },
|
||||
{ 0x48, L"Num 8" },
|
||||
{ 0x49, L"Num 9" },
|
||||
{ 0x4a, L"Num -" },
|
||||
{ 0x4b, L"Num 4" },
|
||||
{ 0x4c, L"Num 5" },
|
||||
{ 0x4d, L"Num 6" },
|
||||
{ 0x4e, L"Num +" },
|
||||
{ 0x4f, L"Num 1" },
|
||||
{ 0x50, L"Num 2" },
|
||||
{ 0x51, L"Num 3" },
|
||||
{ 0x52, L"Num 0" },
|
||||
{ 0x53, L"Num Del" },
|
||||
{ 0x54, L"Sys Req" },
|
||||
{ 0x57, L"F11" },
|
||||
{ 0x58, L"F12" },
|
||||
{ 0x7c, L"F13" },
|
||||
{ 0x7d, L"F14" },
|
||||
{ 0x7e, L"F15" },
|
||||
{ 0x7f, L"F16" },
|
||||
{ 0x80, L"F17" },
|
||||
{ 0x81, L"F18" },
|
||||
{ 0x82, L"F19" },
|
||||
{ 0x83, L"F20" },
|
||||
{ 0x84, L"F21" },
|
||||
{ 0x85, L"F22" },
|
||||
{ 0x86, L"F23" },
|
||||
{ 0x87, L"F24" },
|
||||
{ 0, NULL },
|
||||
};
|
||||
|
||||
ROSDATA VSC_LPWSTR extended_key_names[] = {
|
||||
{ 0x1c, L"Num Enter" },
|
||||
{ 0x1d, L"Right Ctrl" },
|
||||
{ 0x35, L"Num /" },
|
||||
{ 0x37, L"Prnt Scrn" },
|
||||
{ 0x38, L"Right Alt" },
|
||||
{ 0x45, L"Num Lock" },
|
||||
{ 0x46, L"Break" },
|
||||
{ 0x47, L"Home" },
|
||||
{ 0x48, L"Up" },
|
||||
{ 0x49, L"Page Up" },
|
||||
{ 0x4a, L"Left" },
|
||||
{ 0x4c, L"Center" },
|
||||
{ 0x4d, L"Right" },
|
||||
{ 0x4f, L"End" },
|
||||
{ 0x50, L"Down" },
|
||||
{ 0x51, L"Page Down" },
|
||||
{ 0x52, L"Insert" },
|
||||
{ 0x53, L"Delete" },
|
||||
{ 0x54, L"<ReactOS>" },
|
||||
{ 0x55, L"Help" },
|
||||
{ 0x56, L"Left Windows" },
|
||||
{ 0x5b, L"Right Windows" },
|
||||
{ 0, NULL },
|
||||
};
|
||||
|
||||
/* Finally, the master table */
|
||||
ROSDATA KBDTABLES keyboard_layout_table = {
|
||||
/* modifier assignments */
|
||||
&modifier_bits,
|
||||
|
||||
/* character from vk tables */
|
||||
vk_to_wchar_master_table,
|
||||
|
||||
/* diacritical marks -- currently implemented by wine code */
|
||||
NULL,
|
||||
|
||||
/* Key names */
|
||||
(VSC_LPWSTR *)key_names,
|
||||
(VSC_LPWSTR *)extended_key_names,
|
||||
NULL, /* Dead key names */
|
||||
|
||||
/* scan code to virtual key maps */
|
||||
scancode_to_vk,
|
||||
sizeof(scancode_to_vk) / sizeof(scancode_to_vk[0]),
|
||||
extcode0_to_vk,
|
||||
extcode1_to_vk,
|
||||
|
||||
MAKELONG(1,1), /* Version 1.0 */
|
||||
|
||||
0,
|
||||
0,
|
||||
NULL
|
||||
};
|
||||
|
||||
PKBDTABLES WINAPI KbdLayerDescriptor(VOID) {
|
||||
return &keyboard_layout_table;
|
||||
}
|
||||
|
||||
|
||||
@@ -1,86 +1,86 @@
|
||||
/*
|
||||
* COPYRIGHT: See COPYING in the top level directory
|
||||
* PROJECT: ReactOS NT Library
|
||||
* FILE: dll/ntdll/dispatch/dispatch.c
|
||||
* PURPOSE: User-Mode NT Dispatchers
|
||||
* PROGRAMERS: Alex Ionescu ([email protected])
|
||||
* David Welch <[email protected]>
|
||||
*/
|
||||
|
||||
/* INCLUDES *****************************************************************/
|
||||
|
||||
#include <ntdll.h>
|
||||
#define NDEBUG
|
||||
#include <debug.h>
|
||||
|
||||
typedef NTSTATUS (NTAPI *USER_CALL)(PVOID Argument, ULONG ArgumentLength);
|
||||
|
||||
/* FUNCTIONS ****************************************************************/
|
||||
|
||||
/*
|
||||
* @implemented
|
||||
*/
|
||||
VOID
|
||||
NTAPI
|
||||
KiUserExceptionDispatcher(PEXCEPTION_RECORD ExceptionRecord,
|
||||
PCONTEXT Context)
|
||||
{
|
||||
EXCEPTION_RECORD NestedExceptionRecord;
|
||||
NTSTATUS Status;
|
||||
|
||||
/* Dispatch the exception and check the result */
|
||||
if (RtlDispatchException(ExceptionRecord, Context))
|
||||
{
|
||||
/* Continue executing */
|
||||
Status = NtContinue(Context, FALSE);
|
||||
}
|
||||
else
|
||||
{
|
||||
/* Raise an exception */
|
||||
Status = NtRaiseException(ExceptionRecord, Context, FALSE);
|
||||
}
|
||||
|
||||
/* Setup the Exception record */
|
||||
NestedExceptionRecord.ExceptionCode = Status;
|
||||
NestedExceptionRecord.ExceptionFlags = EXCEPTION_NONCONTINUABLE;
|
||||
NestedExceptionRecord.ExceptionRecord = ExceptionRecord;
|
||||
NestedExceptionRecord.NumberParameters = Status;
|
||||
|
||||
/* Raise the exception */
|
||||
RtlRaiseException(&NestedExceptionRecord);
|
||||
}
|
||||
|
||||
/*
|
||||
* @implemented
|
||||
*/
|
||||
VOID
|
||||
NTAPI
|
||||
KiRaiseUserExceptionDispatcher(VOID)
|
||||
{
|
||||
EXCEPTION_RECORD ExceptionRecord;
|
||||
|
||||
/* Setup the exception record */
|
||||
ExceptionRecord.ExceptionCode = ((PTEB)NtCurrentTeb())->ExceptionCode;
|
||||
ExceptionRecord.ExceptionFlags = 0;
|
||||
ExceptionRecord.ExceptionRecord = NULL;
|
||||
ExceptionRecord.NumberParameters = 0;
|
||||
|
||||
/* Raise the exception */
|
||||
RtlRaiseException(&ExceptionRecord);
|
||||
}
|
||||
|
||||
/*
|
||||
* @implemented
|
||||
*/
|
||||
VOID
|
||||
NTAPI
|
||||
KiUserCallbackDispatcher(ULONG Index,
|
||||
PVOID Argument,
|
||||
ULONG ArgumentLength)
|
||||
{
|
||||
/* Return with the result of the callback function */
|
||||
ZwCallbackReturn(NULL,
|
||||
0,
|
||||
((USER_CALL)(NtCurrentPeb()->KernelCallbackTable[Index]))
|
||||
(Argument, ArgumentLength));
|
||||
}
|
||||
/*
|
||||
* COPYRIGHT: See COPYING in the top level directory
|
||||
* PROJECT: ReactOS NT Library
|
||||
* FILE: dll/ntdll/dispatch/dispatch.c
|
||||
* PURPOSE: User-Mode NT Dispatchers
|
||||
* PROGRAMERS: Alex Ionescu ([email protected])
|
||||
* David Welch <[email protected]>
|
||||
*/
|
||||
|
||||
/* INCLUDES *****************************************************************/
|
||||
|
||||
#include <ntdll.h>
|
||||
#define NDEBUG
|
||||
#include <debug.h>
|
||||
|
||||
typedef NTSTATUS (NTAPI *USER_CALL)(PVOID Argument, ULONG ArgumentLength);
|
||||
|
||||
/* FUNCTIONS ****************************************************************/
|
||||
|
||||
/*
|
||||
* @implemented
|
||||
*/
|
||||
VOID
|
||||
NTAPI
|
||||
KiUserExceptionDispatcher(PEXCEPTION_RECORD ExceptionRecord,
|
||||
PCONTEXT Context)
|
||||
{
|
||||
EXCEPTION_RECORD NestedExceptionRecord;
|
||||
NTSTATUS Status;
|
||||
|
||||
/* Dispatch the exception and check the result */
|
||||
if (RtlDispatchException(ExceptionRecord, Context))
|
||||
{
|
||||
/* Continue executing */
|
||||
Status = NtContinue(Context, FALSE);
|
||||
}
|
||||
else
|
||||
{
|
||||
/* Raise an exception */
|
||||
Status = NtRaiseException(ExceptionRecord, Context, FALSE);
|
||||
}
|
||||
|
||||
/* Setup the Exception record */
|
||||
NestedExceptionRecord.ExceptionCode = Status;
|
||||
NestedExceptionRecord.ExceptionFlags = EXCEPTION_NONCONTINUABLE;
|
||||
NestedExceptionRecord.ExceptionRecord = ExceptionRecord;
|
||||
NestedExceptionRecord.NumberParameters = Status;
|
||||
|
||||
/* Raise the exception */
|
||||
RtlRaiseException(&NestedExceptionRecord);
|
||||
}
|
||||
|
||||
/*
|
||||
* @implemented
|
||||
*/
|
||||
VOID
|
||||
NTAPI
|
||||
KiRaiseUserExceptionDispatcher(VOID)
|
||||
{
|
||||
EXCEPTION_RECORD ExceptionRecord;
|
||||
|
||||
/* Setup the exception record */
|
||||
ExceptionRecord.ExceptionCode = ((PTEB)NtCurrentTeb())->ExceptionCode;
|
||||
ExceptionRecord.ExceptionFlags = 0;
|
||||
ExceptionRecord.ExceptionRecord = NULL;
|
||||
ExceptionRecord.NumberParameters = 0;
|
||||
|
||||
/* Raise the exception */
|
||||
RtlRaiseException(&ExceptionRecord);
|
||||
}
|
||||
|
||||
/*
|
||||
* @implemented
|
||||
*/
|
||||
VOID
|
||||
NTAPI
|
||||
KiUserCallbackDispatcher(ULONG Index,
|
||||
PVOID Argument,
|
||||
ULONG ArgumentLength)
|
||||
{
|
||||
/* Return with the result of the callback function */
|
||||
ZwCallbackReturn(NULL,
|
||||
0,
|
||||
((USER_CALL)(NtCurrentPeb()->KernelCallbackTable[Index]))
|
||||
(Argument, ArgumentLength));
|
||||
}
|
||||
|
||||
@@ -1,286 +1,286 @@
|
||||
/*
|
||||
* COPYRIGHT: See COPYING in the top level directory
|
||||
* PROJECT: ReactOS NT Library
|
||||
* FILE: dl/ntdll/dispatch/i386/dispatch.S
|
||||
* PURPOSE: User-Mode NT Dispatchers
|
||||
* PROGRAMMERS: Alex Ionescu (alex@relsoft.net)
|
||||
*/
|
||||
|
||||
/* INCLUDES ******************************************************************/
|
||||
|
||||
#include <ndk/asm.h>
|
||||
.intel_syntax noprefix
|
||||
|
||||
/* FUNCTIONS ****************************************************************/
|
||||
|
||||
.func LdrInitializeThunk@16
|
||||
.globl _LdrInitializeThunk@16
|
||||
_LdrInitializeThunk@16:
|
||||
|
||||
/* Get the APC Context */
|
||||
lea eax, [esp+16]
|
||||
|
||||
/* Send it as the first parameter */
|
||||
mov [esp+4], eax
|
||||
|
||||
/* Terminate the frame list */
|
||||
xor ebp, ebp
|
||||
|
||||
/* Jump into the C initialization routine */
|
||||
jmp _LdrpInit@12
|
||||
.endfunc
|
||||
|
||||
.func KiUserApcExceptionHandler
|
||||
_KiUserApcExceptionHandler:
|
||||
|
||||
/* Put the exception record in ECX and check the Flags */
|
||||
mov ecx, [esp+4]
|
||||
test dword ptr [ecx+EXCEPTION_RECORD_EXCEPTION_FLAGS], EXCEPTION_EXIT_UNWIND + EXCEPTION_UNWINDING
|
||||
jz .return
|
||||
|
||||
/* Test alert the thread */
|
||||
call _NtTestAlert@0
|
||||
|
||||
.return:
|
||||
/* We'll execute handler */
|
||||
mov eax, EXCEPTION_EXECUTE_HANDLER
|
||||
ret 16
|
||||
.endfunc
|
||||
|
||||
.func KiUserApcDispatcher@16
|
||||
.globl _KiUserApcDispatcher@16
|
||||
_KiUserApcDispatcher@16:
|
||||
|
||||
/* Setup SEH stack */
|
||||
lea eax, [esp+CONTEXT_ALIGNED_SIZE+16]
|
||||
mov ecx, fs:[TEB_EXCEPTION_LIST]
|
||||
mov edx, offset _KiUserApcExceptionHandler
|
||||
mov [eax], ecx
|
||||
mov [eax+4], edx
|
||||
|
||||
/* Enable SEH */
|
||||
mov fs:[TEB_EXCEPTION_LIST], eax
|
||||
|
||||
/* Put the Context in EDI */
|
||||
pop eax
|
||||
lea edi, [esp+12]
|
||||
|
||||
/* Call the APC Routine */
|
||||
call eax
|
||||
|
||||
/* Restore exception list */
|
||||
mov ecx, [edi+CONTEXT_ALIGNED_SIZE]
|
||||
mov fs:[TEB_EXCEPTION_LIST], ecx
|
||||
|
||||
/* Switch back to the context */
|
||||
push 1
|
||||
push edi
|
||||
call _ZwContinue@8
|
||||
|
||||
/* Save callback return value */
|
||||
mov esi, eax
|
||||
|
||||
/* Raise status */
|
||||
StatusRaiseApc:
|
||||
push esi
|
||||
call _RtlRaiseStatus@4
|
||||
jmp StatusRaiseApc
|
||||
ret 16
|
||||
.endfunc
|
||||
|
||||
.func KiUserCallbackExceptionHandler
|
||||
_KiUserCallbackExceptionHandler:
|
||||
|
||||
/* Put the exception record in ECX and check the Flags */
|
||||
mov ecx, [esp+4]
|
||||
test dword ptr [ecx+EXCEPTION_RECORD_EXCEPTION_FLAGS], EXCEPTION_EXIT_UNWIND + EXCEPTION_UNWINDING
|
||||
jz return
|
||||
|
||||
/* Tell the kernel to invalidate the stack */
|
||||
push STATUS_CALLBACK_POP_STACK
|
||||
push 0
|
||||
push 0
|
||||
call _ZwCallbackReturn@12
|
||||
|
||||
return:
|
||||
/* We'll execute the handler */
|
||||
mov eax, EXCEPTION_EXECUTE_HANDLER
|
||||
ret 16
|
||||
.endfunc
|
||||
|
||||
.func KiUserCallbackDispatcher@12
|
||||
.globl _KiUserCallbackDispatcher@12
|
||||
_KiUserCallbackDispatcher@12:
|
||||
|
||||
/* Setup SEH stack */
|
||||
mov ecx, fs:[TEB_EXCEPTION_LIST]
|
||||
mov edx, offset _KiUserCallbackExceptionHandler
|
||||
lea eax, [esp+16]
|
||||
mov [esp+16], ecx
|
||||
mov [esp+20], edx
|
||||
|
||||
/* Enable SEH */
|
||||
mov fs:[TEB_EXCEPTION_LIST], eax
|
||||
|
||||
/* Get the callback Index */
|
||||
add esp, 4
|
||||
pop edx
|
||||
|
||||
/* Get the callback table */
|
||||
mov eax, [fs:TEB_PEB]
|
||||
mov eax, [eax+PEB_KERNEL_CALLBACK_TABLE]
|
||||
|
||||
/* Call the routine */
|
||||
call [eax+edx*4]
|
||||
|
||||
/* Return from callback */
|
||||
push eax
|
||||
push 0
|
||||
push 0
|
||||
call _ZwCallbackReturn@12
|
||||
|
||||
/* Save callback return value */
|
||||
mov esi, eax
|
||||
|
||||
/* Raise status */
|
||||
StatusRaise:
|
||||
push esi
|
||||
call _RtlRaiseStatus@4
|
||||
jmp StatusRaise
|
||||
ret 12
|
||||
.endfunc
|
||||
|
||||
.func KiRaiseUserExceptionDispatcher@0
|
||||
.globl _KiRaiseUserExceptionDispatcher@0
|
||||
_KiRaiseUserExceptionDispatcher@0:
|
||||
|
||||
/* Setup stack for EXCEPTION_RECORD */
|
||||
push ebp
|
||||
mov ebp, esp
|
||||
sub esp, EXCEPTION_RECORD_LENGTH
|
||||
|
||||
/* Fill out the record */
|
||||
mov [esp+EXCEPTION_RECORD_EXCEPTION_ADDRESS], eax
|
||||
mov eax, [fs:KPCR_TEB]
|
||||
mov eax, [eax+TEB_EXCEPTION_CODE]
|
||||
mov [esp+EXCEPTION_RECORD_EXCEPTION_CODE], eax
|
||||
mov dword ptr [esp+EXCEPTION_RECORD_EXCEPTION_FLAGS], 0
|
||||
mov dword ptr [esp+EXCEPTION_RECORD_EXCEPTION_RECORD], 0
|
||||
mov dword ptr [esp+EXCEPTION_RECORD_NUMBER_PARAMETERS], 0
|
||||
|
||||
/* Raise the exception */
|
||||
push esp
|
||||
call _RtlRaiseException@4
|
||||
|
||||
/* Return exception code */
|
||||
mov eax, [esp+EXCEPTION_RECORD_EXCEPTION_CODE]
|
||||
mov esp, ebp
|
||||
pop ebp
|
||||
ret
|
||||
.endfunc
|
||||
|
||||
.func KiUserExceptionDispatcher@8
|
||||
.globl _KiUserExceptionDispatcher@8
|
||||
_KiUserExceptionDispatcher@8:
|
||||
|
||||
/* Clear direction flag */
|
||||
cld
|
||||
|
||||
/* Save the Context and Exception Records */
|
||||
mov ecx, [esp+4]
|
||||
mov ebx, [esp]
|
||||
|
||||
/* Dispatch the exception */
|
||||
push ecx
|
||||
push ebx
|
||||
call _RtlDispatchException@8
|
||||
|
||||
/* Check for success */
|
||||
or al, al
|
||||
jz RaiseException
|
||||
|
||||
/* Pop off the records */
|
||||
pop ebx
|
||||
pop ecx
|
||||
|
||||
/* We're fine, continue execution */
|
||||
push 0
|
||||
push ecx
|
||||
call _ZwContinue@8
|
||||
|
||||
/* Exit */
|
||||
jmp Exit
|
||||
|
||||
RaiseException:
|
||||
/* Pop off the records */
|
||||
pop ebx
|
||||
pop ecx
|
||||
|
||||
/* Raise the exception */
|
||||
push 0
|
||||
push ecx
|
||||
push ebx
|
||||
call _ZwRaiseException@12
|
||||
|
||||
Exit:
|
||||
/* Allocate space for the nested exception record */
|
||||
add esp, -SIZEOF_EXCEPTION_RECORD
|
||||
|
||||
/* Set it up */
|
||||
mov [esp+EXCEPTION_RECORD_EXCEPTION_CODE], eax
|
||||
mov dword ptr [esp+EXCEPTION_RECORD_EXCEPTION_FLAGS], EXCEPTION_NONCONTINUABLE
|
||||
mov [esp+EXCEPTION_RECORD_EXCEPTION_RECORD], ebx
|
||||
mov dword ptr [esp+EXCEPTION_RECORD_NUMBER_PARAMETERS], 0
|
||||
|
||||
/* Raise the exception */
|
||||
push esp
|
||||
call _RtlRaiseException@4
|
||||
ret 8
|
||||
.endfunc
|
||||
|
||||
.func KiIntSystemCall@0
|
||||
.globl _KiIntSystemCall@0
|
||||
_KiIntSystemCall@0:
|
||||
|
||||
/* Set stack in EDX and do the interrupt */
|
||||
lea edx, [esp+8]
|
||||
int 0x2E
|
||||
|
||||
/* Return to caller */
|
||||
ret
|
||||
.endfunc
|
||||
|
||||
.func KiFastSystemCall@0
|
||||
.globl _KiFastSystemCall@0
|
||||
_KiFastSystemCall@0:
|
||||
|
||||
/* Put ESP in EDX and do the SYSENTER */
|
||||
mov edx, esp
|
||||
sysenter
|
||||
.endfunc
|
||||
|
||||
.func KiFastSystemCallRet@0
|
||||
.globl _KiFastSystemCallRet@0
|
||||
_KiFastSystemCallRet@0:
|
||||
|
||||
/* Just return to caller */
|
||||
ret
|
||||
.endfunc
|
||||
|
||||
.func RtlpGetStackLimits@8
|
||||
.globl _RtlpGetStackLimits@8
|
||||
_RtlpGetStackLimits@8:
|
||||
|
||||
/* Get the stack limits */
|
||||
mov eax, [fs:TEB_STACK_LIMIT]
|
||||
mov ecx, [fs:TEB_STACK_BASE]
|
||||
|
||||
/* Return them */
|
||||
mov edx, [esp+4]
|
||||
mov [edx], eax
|
||||
mov edx, [esp+8]
|
||||
mov [edx], ecx
|
||||
|
||||
/* return */
|
||||
ret 8
|
||||
.endfunc
|
||||
/*
|
||||
* COPYRIGHT: See COPYING in the top level directory
|
||||
* PROJECT: ReactOS NT Library
|
||||
* FILE: dl/ntdll/dispatch/i386/dispatch.S
|
||||
* PURPOSE: User-Mode NT Dispatchers
|
||||
* PROGRAMMERS: Alex Ionescu (alex@relsoft.net)
|
||||
*/
|
||||
|
||||
/* INCLUDES ******************************************************************/
|
||||
|
||||
#include <ndk/asm.h>
|
||||
.intel_syntax noprefix
|
||||
|
||||
/* FUNCTIONS ****************************************************************/
|
||||
|
||||
.func LdrInitializeThunk@16
|
||||
.globl _LdrInitializeThunk@16
|
||||
_LdrInitializeThunk@16:
|
||||
|
||||
/* Get the APC Context */
|
||||
lea eax, [esp+16]
|
||||
|
||||
/* Send it as the first parameter */
|
||||
mov [esp+4], eax
|
||||
|
||||
/* Terminate the frame list */
|
||||
xor ebp, ebp
|
||||
|
||||
/* Jump into the C initialization routine */
|
||||
jmp _LdrpInit@12
|
||||
.endfunc
|
||||
|
||||
.func KiUserApcExceptionHandler
|
||||
_KiUserApcExceptionHandler:
|
||||
|
||||
/* Put the exception record in ECX and check the Flags */
|
||||
mov ecx, [esp+4]
|
||||
test dword ptr [ecx+EXCEPTION_RECORD_EXCEPTION_FLAGS], EXCEPTION_EXIT_UNWIND + EXCEPTION_UNWINDING
|
||||
jz .return
|
||||
|
||||
/* Test alert the thread */
|
||||
call _NtTestAlert@0
|
||||
|
||||
.return:
|
||||
/* We'll execute handler */
|
||||
mov eax, EXCEPTION_EXECUTE_HANDLER
|
||||
ret 16
|
||||
.endfunc
|
||||
|
||||
.func KiUserApcDispatcher@16
|
||||
.globl _KiUserApcDispatcher@16
|
||||
_KiUserApcDispatcher@16:
|
||||
|
||||
/* Setup SEH stack */
|
||||
lea eax, [esp+CONTEXT_ALIGNED_SIZE+16]
|
||||
mov ecx, fs:[TEB_EXCEPTION_LIST]
|
||||
mov edx, offset _KiUserApcExceptionHandler
|
||||
mov [eax], ecx
|
||||
mov [eax+4], edx
|
||||
|
||||
/* Enable SEH */
|
||||
mov fs:[TEB_EXCEPTION_LIST], eax
|
||||
|
||||
/* Put the Context in EDI */
|
||||
pop eax
|
||||
lea edi, [esp+12]
|
||||
|
||||
/* Call the APC Routine */
|
||||
call eax
|
||||
|
||||
/* Restore exception list */
|
||||
mov ecx, [edi+CONTEXT_ALIGNED_SIZE]
|
||||
mov fs:[TEB_EXCEPTION_LIST], ecx
|
||||
|
||||
/* Switch back to the context */
|
||||
push 1
|
||||
push edi
|
||||
call _ZwContinue@8
|
||||
|
||||
/* Save callback return value */
|
||||
mov esi, eax
|
||||
|
||||
/* Raise status */
|
||||
StatusRaiseApc:
|
||||
push esi
|
||||
call _RtlRaiseStatus@4
|
||||
jmp StatusRaiseApc
|
||||
ret 16
|
||||
.endfunc
|
||||
|
||||
.func KiUserCallbackExceptionHandler
|
||||
_KiUserCallbackExceptionHandler:
|
||||
|
||||
/* Put the exception record in ECX and check the Flags */
|
||||
mov ecx, [esp+4]
|
||||
test dword ptr [ecx+EXCEPTION_RECORD_EXCEPTION_FLAGS], EXCEPTION_EXIT_UNWIND + EXCEPTION_UNWINDING
|
||||
jz return
|
||||
|
||||
/* Tell the kernel to invalidate the stack */
|
||||
push STATUS_CALLBACK_POP_STACK
|
||||
push 0
|
||||
push 0
|
||||
call _ZwCallbackReturn@12
|
||||
|
||||
return:
|
||||
/* We'll execute the handler */
|
||||
mov eax, EXCEPTION_EXECUTE_HANDLER
|
||||
ret 16
|
||||
.endfunc
|
||||
|
||||
.func KiUserCallbackDispatcher@12
|
||||
.globl _KiUserCallbackDispatcher@12
|
||||
_KiUserCallbackDispatcher@12:
|
||||
|
||||
/* Setup SEH stack */
|
||||
mov ecx, fs:[TEB_EXCEPTION_LIST]
|
||||
mov edx, offset _KiUserCallbackExceptionHandler
|
||||
lea eax, [esp+16]
|
||||
mov [esp+16], ecx
|
||||
mov [esp+20], edx
|
||||
|
||||
/* Enable SEH */
|
||||
mov fs:[TEB_EXCEPTION_LIST], eax
|
||||
|
||||
/* Get the callback Index */
|
||||
add esp, 4
|
||||
pop edx
|
||||
|
||||
/* Get the callback table */
|
||||
mov eax, [fs:TEB_PEB]
|
||||
mov eax, [eax+PEB_KERNEL_CALLBACK_TABLE]
|
||||
|
||||
/* Call the routine */
|
||||
call [eax+edx*4]
|
||||
|
||||
/* Return from callback */
|
||||
push eax
|
||||
push 0
|
||||
push 0
|
||||
call _ZwCallbackReturn@12
|
||||
|
||||
/* Save callback return value */
|
||||
mov esi, eax
|
||||
|
||||
/* Raise status */
|
||||
StatusRaise:
|
||||
push esi
|
||||
call _RtlRaiseStatus@4
|
||||
jmp StatusRaise
|
||||
ret 12
|
||||
.endfunc
|
||||
|
||||
.func KiRaiseUserExceptionDispatcher@0
|
||||
.globl _KiRaiseUserExceptionDispatcher@0
|
||||
_KiRaiseUserExceptionDispatcher@0:
|
||||
|
||||
/* Setup stack for EXCEPTION_RECORD */
|
||||
push ebp
|
||||
mov ebp, esp
|
||||
sub esp, EXCEPTION_RECORD_LENGTH
|
||||
|
||||
/* Fill out the record */
|
||||
mov [esp+EXCEPTION_RECORD_EXCEPTION_ADDRESS], eax
|
||||
mov eax, [fs:KPCR_TEB]
|
||||
mov eax, [eax+TEB_EXCEPTION_CODE]
|
||||
mov [esp+EXCEPTION_RECORD_EXCEPTION_CODE], eax
|
||||
mov dword ptr [esp+EXCEPTION_RECORD_EXCEPTION_FLAGS], 0
|
||||
mov dword ptr [esp+EXCEPTION_RECORD_EXCEPTION_RECORD], 0
|
||||
mov dword ptr [esp+EXCEPTION_RECORD_NUMBER_PARAMETERS], 0
|
||||
|
||||
/* Raise the exception */
|
||||
push esp
|
||||
call _RtlRaiseException@4
|
||||
|
||||
/* Return exception code */
|
||||
mov eax, [esp+EXCEPTION_RECORD_EXCEPTION_CODE]
|
||||
mov esp, ebp
|
||||
pop ebp
|
||||
ret
|
||||
.endfunc
|
||||
|
||||
.func KiUserExceptionDispatcher@8
|
||||
.globl _KiUserExceptionDispatcher@8
|
||||
_KiUserExceptionDispatcher@8:
|
||||
|
||||
/* Clear direction flag */
|
||||
cld
|
||||
|
||||
/* Save the Context and Exception Records */
|
||||
mov ecx, [esp+4]
|
||||
mov ebx, [esp]
|
||||
|
||||
/* Dispatch the exception */
|
||||
push ecx
|
||||
push ebx
|
||||
call _RtlDispatchException@8
|
||||
|
||||
/* Check for success */
|
||||
or al, al
|
||||
jz RaiseException
|
||||
|
||||
/* Pop off the records */
|
||||
pop ebx
|
||||
pop ecx
|
||||
|
||||
/* We're fine, continue execution */
|
||||
push 0
|
||||
push ecx
|
||||
call _ZwContinue@8
|
||||
|
||||
/* Exit */
|
||||
jmp Exit
|
||||
|
||||
RaiseException:
|
||||
/* Pop off the records */
|
||||
pop ebx
|
||||
pop ecx
|
||||
|
||||
/* Raise the exception */
|
||||
push 0
|
||||
push ecx
|
||||
push ebx
|
||||
call _ZwRaiseException@12
|
||||
|
||||
Exit:
|
||||
/* Allocate space for the nested exception record */
|
||||
add esp, -SIZEOF_EXCEPTION_RECORD
|
||||
|
||||
/* Set it up */
|
||||
mov [esp+EXCEPTION_RECORD_EXCEPTION_CODE], eax
|
||||
mov dword ptr [esp+EXCEPTION_RECORD_EXCEPTION_FLAGS], EXCEPTION_NONCONTINUABLE
|
||||
mov [esp+EXCEPTION_RECORD_EXCEPTION_RECORD], ebx
|
||||
mov dword ptr [esp+EXCEPTION_RECORD_NUMBER_PARAMETERS], 0
|
||||
|
||||
/* Raise the exception */
|
||||
push esp
|
||||
call _RtlRaiseException@4
|
||||
ret 8
|
||||
.endfunc
|
||||
|
||||
.func KiIntSystemCall@0
|
||||
.globl _KiIntSystemCall@0
|
||||
_KiIntSystemCall@0:
|
||||
|
||||
/* Set stack in EDX and do the interrupt */
|
||||
lea edx, [esp+8]
|
||||
int 0x2E
|
||||
|
||||
/* Return to caller */
|
||||
ret
|
||||
.endfunc
|
||||
|
||||
.func KiFastSystemCall@0
|
||||
.globl _KiFastSystemCall@0
|
||||
_KiFastSystemCall@0:
|
||||
|
||||
/* Put ESP in EDX and do the SYSENTER */
|
||||
mov edx, esp
|
||||
sysenter
|
||||
.endfunc
|
||||
|
||||
.func KiFastSystemCallRet@0
|
||||
.globl _KiFastSystemCallRet@0
|
||||
_KiFastSystemCallRet@0:
|
||||
|
||||
/* Just return to caller */
|
||||
ret
|
||||
.endfunc
|
||||
|
||||
.func RtlpGetStackLimits@8
|
||||
.globl _RtlpGetStackLimits@8
|
||||
_RtlpGetStackLimits@8:
|
||||
|
||||
/* Get the stack limits */
|
||||
mov eax, [fs:TEB_STACK_LIMIT]
|
||||
mov ecx, [fs:TEB_STACK_BASE]
|
||||
|
||||
/* Return them */
|
||||
mov edx, [esp+4]
|
||||
mov [edx], eax
|
||||
mov edx, [esp+8]
|
||||
mov [edx], ecx
|
||||
|
||||
/* return */
|
||||
ret 8
|
||||
.endfunc
|
||||
|
||||
@@ -1,48 +1,48 @@
|
||||
LANGUAGE LANG_FRENCH, SUBLANG_NEUTRAL
|
||||
|
||||
IDD_DISPLAYADAPTER DIALOGEX 0, 0, 252, 226
|
||||
STYLE DS_SHELLFONT | WS_CHILD | WS_DISABLED | WS_CAPTION
|
||||
CAPTION "Adaptateur"
|
||||
FONT 8, "MS Shell Dlg", 0, 0, 0x0
|
||||
BEGIN
|
||||
GROUPBOX "Type d'adaptateur", -1, 7, 3, 237, 50
|
||||
LTEXT "", IDC_ADAPTERNAME, 40, 17, 190, 20, SS_NOPREFIX
|
||||
PUSHBUTTON "&Propriétés", IDC_ADAPTERPROPERTIES, 177, 33, 59, 14
|
||||
GROUPBOX "Informations sur l'adaptateur", -1, 7, 56, 237, 75
|
||||
LTEXT "Type de puce:", -1, 13, 68, 58, 8
|
||||
LTEXT "", IDC_CHIPTYPE, 71, 68, 160, 8, SS_NOPREFIX
|
||||
LTEXT "Type de CNA:", -1, 13, 80, 58, 8
|
||||
LTEXT "", IDC_DACTYPE, 71, 80, 160, 8, SS_NOPREFIX
|
||||
LTEXT "Taille de la mémoire:", -1, 13, 92, 58, 8
|
||||
LTEXT "", IDC_MEMORYSIZE, 71, 92, 160, 8, SS_NOPREFIX
|
||||
LTEXT "Texte de l'adaptateur:", -1, 13, 104, 58, 8
|
||||
LTEXT "", IDC_ADAPTERSTRING, 71, 104, 160, 8, SS_NOPREFIX
|
||||
LTEXT "Informations du BIOS:", -1, 13, 116, 58, 8
|
||||
LTEXT "", IDC_BIOSINFORMATION, 71, 116, 160, 8, SS_NOPREFIX
|
||||
PUSHBUTTON "&Lister tous les modes...", IDC_LISTALLMODES, 7, 139, 75, 14
|
||||
END
|
||||
|
||||
IDD_LISTALLMODES DIALOGEX 0, 0, 225, 135
|
||||
STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUPWINDOW | WS_VISIBLE | WS_DLGFRAME
|
||||
CAPTION "Liste de tous les modes"
|
||||
FONT 8, "MS Shell Dlg", 0, 0, 0x0
|
||||
BEGIN
|
||||
DEFPUSHBUTTON "OK", IDOK, 112, 115, 50, 15
|
||||
PUSHBUTTON "Annuler", IDCANCEL, 167, 115, 50, 15
|
||||
GROUPBOX "Liste des modes valides", -1, 6, 7, 212, 98
|
||||
LISTBOX IDC_ALLVALIDMODES, 10, 20, 204, 87, LBS_NOTIFY | WS_VSCROLL
|
||||
END
|
||||
|
||||
STRINGTABLE
|
||||
BEGIN
|
||||
IDS_MODEFMT "%d by %d, %s, %s"
|
||||
IDS_DEFREFRESHRATE "Rafraîchissement par défaut"
|
||||
IDES_REFRESHRATEFMT "%d Hertz"
|
||||
IDS_4BPP "16 couleurs"
|
||||
IDS_8BPP "256 couleurs"
|
||||
IDS_15BPP "Couleurs élevées (15 bit)"
|
||||
IDS_16BPP "Couleurs élevées (16 bit)"
|
||||
IDS_24BPP "Vraies couleurs (24 bit)"
|
||||
IDS_32BPP "Vraies couleurs (32 bit)"
|
||||
END
|
||||
|
||||
LANGUAGE LANG_FRENCH, SUBLANG_NEUTRAL
|
||||
|
||||
IDD_DISPLAYADAPTER DIALOGEX 0, 0, 252, 226
|
||||
STYLE DS_SHELLFONT | WS_CHILD | WS_DISABLED | WS_CAPTION
|
||||
CAPTION "Adaptateur"
|
||||
FONT 8, "MS Shell Dlg", 0, 0, 0x0
|
||||
BEGIN
|
||||
GROUPBOX "Type d'adaptateur", -1, 7, 3, 237, 50
|
||||
LTEXT "", IDC_ADAPTERNAME, 40, 17, 190, 20, SS_NOPREFIX
|
||||
PUSHBUTTON "&Propriétés", IDC_ADAPTERPROPERTIES, 177, 33, 59, 14
|
||||
GROUPBOX "Informations sur l'adaptateur", -1, 7, 56, 237, 75
|
||||
LTEXT "Type de puce:", -1, 13, 68, 58, 8
|
||||
LTEXT "", IDC_CHIPTYPE, 71, 68, 160, 8, SS_NOPREFIX
|
||||
LTEXT "Type de CNA:", -1, 13, 80, 58, 8
|
||||
LTEXT "", IDC_DACTYPE, 71, 80, 160, 8, SS_NOPREFIX
|
||||
LTEXT "Taille de la mémoire:", -1, 13, 92, 58, 8
|
||||
LTEXT "", IDC_MEMORYSIZE, 71, 92, 160, 8, SS_NOPREFIX
|
||||
LTEXT "Texte de l'adaptateur:", -1, 13, 104, 58, 8
|
||||
LTEXT "", IDC_ADAPTERSTRING, 71, 104, 160, 8, SS_NOPREFIX
|
||||
LTEXT "Informations du BIOS:", -1, 13, 116, 58, 8
|
||||
LTEXT "", IDC_BIOSINFORMATION, 71, 116, 160, 8, SS_NOPREFIX
|
||||
PUSHBUTTON "&Lister tous les modes...", IDC_LISTALLMODES, 7, 139, 75, 14
|
||||
END
|
||||
|
||||
IDD_LISTALLMODES DIALOGEX 0, 0, 225, 135
|
||||
STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUPWINDOW | WS_VISIBLE | WS_DLGFRAME
|
||||
CAPTION "Liste de tous les modes"
|
||||
FONT 8, "MS Shell Dlg", 0, 0, 0x0
|
||||
BEGIN
|
||||
DEFPUSHBUTTON "OK", IDOK, 112, 115, 50, 15
|
||||
PUSHBUTTON "Annuler", IDCANCEL, 167, 115, 50, 15
|
||||
GROUPBOX "Liste des modes valides", -1, 6, 7, 212, 98
|
||||
LISTBOX IDC_ALLVALIDMODES, 10, 20, 204, 87, LBS_NOTIFY | WS_VSCROLL
|
||||
END
|
||||
|
||||
STRINGTABLE
|
||||
BEGIN
|
||||
IDS_MODEFMT "%d by %d, %s, %s"
|
||||
IDS_DEFREFRESHRATE "Rafraîchissement par défaut"
|
||||
IDES_REFRESHRATEFMT "%d Hertz"
|
||||
IDS_4BPP "16 couleurs"
|
||||
IDS_8BPP "256 couleurs"
|
||||
IDS_15BPP "Couleurs élevées (15 bit)"
|
||||
IDS_16BPP "Couleurs élevées (16 bit)"
|
||||
IDS_24BPP "Vraies couleurs (24 bit)"
|
||||
IDS_32BPP "Vraies couleurs (32 bit)"
|
||||
END
|
||||
|
||||
|
||||
@@ -1,55 +1,55 @@
|
||||
/*
|
||||
* FILE: dll/win32/shellext/deskadp/lang/sk-SK.rc
|
||||
* PURPOSE: Slovak Language File for deskadp
|
||||
* TRANSLATOR: Kario <[email protected]>
|
||||
* DATE OF TR.: 30-09-2007
|
||||
*/
|
||||
|
||||
LANGUAGE LANG_SLOVAK, SUBLANG_DEFAULT
|
||||
|
||||
IDD_DISPLAYADAPTER DIALOGEX 0, 0, 252, 226
|
||||
STYLE DS_SHELLFONT | WS_CHILD | WS_DISABLED | WS_CAPTION
|
||||
CAPTION "Adaptér"
|
||||
FONT 8, "MS Shell Dlg", 0, 0, 0x0
|
||||
BEGIN
|
||||
GROUPBOX "Typ adaptér", -1, 7, 3, 237, 50
|
||||
LTEXT "", IDC_ADAPTERNAME, 40, 17, 190, 20, SS_NOPREFIX
|
||||
PUSHBUTTON "Vl&astnosti", IDC_ADAPTERPROPERTIES, 177, 33, 59, 14
|
||||
GROUPBOX "Informácie o adaptéri", -1, 7, 56, 237, 75
|
||||
LTEXT "Typ èipu:", -1, 13, 68, 58, 8
|
||||
LTEXT "", IDC_CHIPTYPE, 71, 68, 160, 8, SS_NOPREFIX
|
||||
LTEXT "Typ konvertora:", -1, 13, 80, 58, 8
|
||||
LTEXT "", IDC_DACTYPE, 71, 80, 160, 8, SS_NOPREFIX
|
||||
LTEXT "Ve¾kos� pamäte:", -1, 13, 92, 58, 8
|
||||
LTEXT "", IDC_MEMORYSIZE, 71, 92, 160, 8, SS_NOPREFIX
|
||||
LTEXT "Re�azec adaptéra:", -1, 13, 104, 58, 8
|
||||
LTEXT "", IDC_ADAPTERSTRING, 71, 104, 160, 8, SS_NOPREFIX
|
||||
LTEXT "BIOS – informácie:", -1, 13, 116, 58, 8
|
||||
LTEXT "", IDC_BIOSINFORMATION, 71, 116, 160, 8, SS_NOPREFIX
|
||||
PUSHBUTTON "&Zoznam všetkých režimov...", IDC_LISTALLMODES, 7, 139, 100, 14
|
||||
END
|
||||
|
||||
IDD_LISTALLMODES DIALOGEX 0, 0, 225, 135
|
||||
STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUPWINDOW | WS_VISIBLE | WS_DLGFRAME
|
||||
CAPTION "Zoznam všetkých režimov"
|
||||
FONT 8, "MS Shell Dlg", 0, 0, 0x0
|
||||
BEGIN
|
||||
DEFPUSHBUTTON "OK", IDOK, 112, 115, 50, 15
|
||||
PUSHBUTTON "Zruši�", IDCANCEL, 167, 115, 50, 15
|
||||
GROUPBOX "&Zoznam platných režimov", -1, 6, 7, 212, 98
|
||||
LISTBOX IDC_ALLVALIDMODES, 10, 20, 204, 87, LBS_NOTIFY | WS_VSCROLL
|
||||
END
|
||||
|
||||
STRINGTABLE
|
||||
BEGIN
|
||||
IDS_MODEFMT "%d by %d, %s, %s"
|
||||
IDS_DEFREFRESHRATE "Predvolene obnovi�"
|
||||
IDES_REFRESHRATEFMT "%d Hz"
|
||||
IDS_4BPP "16 farieb"
|
||||
IDS_8BPP "256 farieb"
|
||||
IDS_15BPP "Ve¾a farieb (15 bit)"
|
||||
IDS_16BPP "Ve¾a farieb (16 bit)"
|
||||
IDS_24BPP "Pravé farby (24 bit)"
|
||||
IDS_32BPP "Pravé farby (32 bit)"
|
||||
END
|
||||
|
||||
/*
|
||||
* FILE: dll/win32/shellext/deskadp/lang/sk-SK.rc
|
||||
* PURPOSE: Slovak Language File for deskadp
|
||||
* TRANSLATOR: Kario <[email protected]>
|
||||
* DATE OF TR.: 30-09-2007
|
||||
*/
|
||||
|
||||
LANGUAGE LANG_SLOVAK, SUBLANG_DEFAULT
|
||||
|
||||
IDD_DISPLAYADAPTER DIALOGEX 0, 0, 252, 226
|
||||
STYLE DS_SHELLFONT | WS_CHILD | WS_DISABLED | WS_CAPTION
|
||||
CAPTION "Adaptér"
|
||||
FONT 8, "MS Shell Dlg", 0, 0, 0x0
|
||||
BEGIN
|
||||
GROUPBOX "Typ adaptér", -1, 7, 3, 237, 50
|
||||
LTEXT "", IDC_ADAPTERNAME, 40, 17, 190, 20, SS_NOPREFIX
|
||||
PUSHBUTTON "Vl&astnosti", IDC_ADAPTERPROPERTIES, 177, 33, 59, 14
|
||||
GROUPBOX "Informácie o adaptéri", -1, 7, 56, 237, 75
|
||||
LTEXT "Typ èipu:", -1, 13, 68, 58, 8
|
||||
LTEXT "", IDC_CHIPTYPE, 71, 68, 160, 8, SS_NOPREFIX
|
||||
LTEXT "Typ konvertora:", -1, 13, 80, 58, 8
|
||||
LTEXT "", IDC_DACTYPE, 71, 80, 160, 8, SS_NOPREFIX
|
||||
LTEXT "Ve¾kos� pamäte:", -1, 13, 92, 58, 8
|
||||
LTEXT "", IDC_MEMORYSIZE, 71, 92, 160, 8, SS_NOPREFIX
|
||||
LTEXT "Re�azec adaptéra:", -1, 13, 104, 58, 8
|
||||
LTEXT "", IDC_ADAPTERSTRING, 71, 104, 160, 8, SS_NOPREFIX
|
||||
LTEXT "BIOS – informácie:", -1, 13, 116, 58, 8
|
||||
LTEXT "", IDC_BIOSINFORMATION, 71, 116, 160, 8, SS_NOPREFIX
|
||||
PUSHBUTTON "&Zoznam všetkých režimov...", IDC_LISTALLMODES, 7, 139, 100, 14
|
||||
END
|
||||
|
||||
IDD_LISTALLMODES DIALOGEX 0, 0, 225, 135
|
||||
STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUPWINDOW | WS_VISIBLE | WS_DLGFRAME
|
||||
CAPTION "Zoznam všetkých režimov"
|
||||
FONT 8, "MS Shell Dlg", 0, 0, 0x0
|
||||
BEGIN
|
||||
DEFPUSHBUTTON "OK", IDOK, 112, 115, 50, 15
|
||||
PUSHBUTTON "Zruši�", IDCANCEL, 167, 115, 50, 15
|
||||
GROUPBOX "&Zoznam platných režimov", -1, 6, 7, 212, 98
|
||||
LISTBOX IDC_ALLVALIDMODES, 10, 20, 204, 87, LBS_NOTIFY | WS_VSCROLL
|
||||
END
|
||||
|
||||
STRINGTABLE
|
||||
BEGIN
|
||||
IDS_MODEFMT "%d by %d, %s, %s"
|
||||
IDS_DEFREFRESHRATE "Predvolene obnovi�"
|
||||
IDES_REFRESHRATEFMT "%d Hz"
|
||||
IDS_4BPP "16 farieb"
|
||||
IDS_8BPP "256 farieb"
|
||||
IDS_15BPP "Ve¾a farieb (15 bit)"
|
||||
IDS_16BPP "Ve¾a farieb (16 bit)"
|
||||
IDS_24BPP "Pravé farby (24 bit)"
|
||||
IDS_32BPP "Pravé farby (32 bit)"
|
||||
END
|
||||
|
||||
|
||||
@@ -1,22 +1,22 @@
|
||||
LANGUAGE LANG_FRENCH, SUBLANG_NEUTRAL
|
||||
|
||||
IDD_MONITOR DIALOGEX 0, 0, 252, 226
|
||||
STYLE DS_SHELLFONT | WS_CHILD | WS_DISABLED | WS_CAPTION
|
||||
CAPTION "Moniteur"
|
||||
FONT 8, "MS Shell Dlg", 0, 0, 0x0
|
||||
BEGIN
|
||||
GROUPBOX "Type de moniteur", -1, 7, 3, 237, 52
|
||||
LTEXT "", IDC_MONITORNAME, 40, 17, 190, 20, SS_NOPREFIX
|
||||
LISTBOX IDC_MONITORLIST, 40, 13, 196, 30, WS_VSCROLL
|
||||
PUSHBUTTON "&Propriétés", IDC_MONITORPROPERTIES, 177, 35, 59, 14, WS_DISABLED
|
||||
GROUPBOX "Paramètres du moniteur", IDS_MONITORSETTINGSGROUP, 7, 58, 237, 63
|
||||
LTEXT "Taux de rafraîchi&ssement de l'écran:", IDS_REFRESHRATELABEL, 13, 73, 225, 8
|
||||
COMBOBOX IDC_REFRESHRATE, 13, 85, 225, 200, WS_VSCROLL | CBS_DROPDOWNLIST | CBS_SORT
|
||||
AUTOCHECKBOX "Cac&her les modes que ce moniteur ne peut pas afficher", IDC_PRUNINGCHECK, 13, 106, 225, 10
|
||||
END
|
||||
|
||||
STRINGTABLE
|
||||
BEGIN
|
||||
IDS_USEDEFFRQUENCY "Utiliser les paramètres matériel par défaut"
|
||||
IDS_FREQFMT "%u Hertz"
|
||||
END
|
||||
LANGUAGE LANG_FRENCH, SUBLANG_NEUTRAL
|
||||
|
||||
IDD_MONITOR DIALOGEX 0, 0, 252, 226
|
||||
STYLE DS_SHELLFONT | WS_CHILD | WS_DISABLED | WS_CAPTION
|
||||
CAPTION "Moniteur"
|
||||
FONT 8, "MS Shell Dlg", 0, 0, 0x0
|
||||
BEGIN
|
||||
GROUPBOX "Type de moniteur", -1, 7, 3, 237, 52
|
||||
LTEXT "", IDC_MONITORNAME, 40, 17, 190, 20, SS_NOPREFIX
|
||||
LISTBOX IDC_MONITORLIST, 40, 13, 196, 30, WS_VSCROLL
|
||||
PUSHBUTTON "&Propriétés", IDC_MONITORPROPERTIES, 177, 35, 59, 14, WS_DISABLED
|
||||
GROUPBOX "Paramètres du moniteur", IDS_MONITORSETTINGSGROUP, 7, 58, 237, 63
|
||||
LTEXT "Taux de rafraîchi&ssement de l'écran:", IDS_REFRESHRATELABEL, 13, 73, 225, 8
|
||||
COMBOBOX IDC_REFRESHRATE, 13, 85, 225, 200, WS_VSCROLL | CBS_DROPDOWNLIST | CBS_SORT
|
||||
AUTOCHECKBOX "Cac&her les modes que ce moniteur ne peut pas afficher", IDC_PRUNINGCHECK, 13, 106, 225, 10
|
||||
END
|
||||
|
||||
STRINGTABLE
|
||||
BEGIN
|
||||
IDS_USEDEFFRQUENCY "Utiliser les paramètres matériel par défaut"
|
||||
IDS_FREQFMT "%u Hertz"
|
||||
END
|
||||
|
||||
@@ -1,22 +1,22 @@
|
||||
LANGUAGE LANG_SLOVAK, SUBLANG_DEFAULT
|
||||
|
||||
IDD_MONITOR DIALOGEX 0, 0, 252, 226
|
||||
STYLE DS_SHELLFONT | WS_CHILD | WS_DISABLED | WS_CAPTION
|
||||
CAPTION "Monitor"
|
||||
FONT 8, "MS Shell Dlg", 0, 0, 0x0
|
||||
BEGIN
|
||||
GROUPBOX "Typ monitora", -1, 7, 3, 237, 52
|
||||
LTEXT "", IDC_MONITORNAME, 40, 17, 190, 20, SS_NOPREFIX
|
||||
LISTBOX IDC_MONITORLIST, 40, 13, 196, 30, WS_VSCROLL
|
||||
PUSHBUTTON "Vl&astnosti", IDC_MONITORPROPERTIES, 177, 35, 59, 14, WS_DISABLED
|
||||
GROUPBOX "Nastavenie monitora", IDS_MONITORSETTINGSGROUP, 7, 58, 237, 63
|
||||
LTEXT "&Frekvencia obnovovania obrazovky:", IDS_REFRESHRATELABEL, 13, 73, 225, 8
|
||||
COMBOBOX IDC_REFRESHRATE, 13, 85, 225, 200, WS_VSCROLL | CBS_DROPDOWNLIST | CBS_SORT
|
||||
AUTOCHECKBOX "&Skry� režimy, ktoré sa na tomto monitore nedajú použi�", IDC_PRUNINGCHECK, 13, 106, 225, 10
|
||||
END
|
||||
|
||||
STRINGTABLE
|
||||
BEGIN
|
||||
IDS_USEDEFFRQUENCY "Použi� predvolené hardvérové nastavenie"
|
||||
IDS_FREQFMT "%u Hz"
|
||||
END
|
||||
LANGUAGE LANG_SLOVAK, SUBLANG_DEFAULT
|
||||
|
||||
IDD_MONITOR DIALOGEX 0, 0, 252, 226
|
||||
STYLE DS_SHELLFONT | WS_CHILD | WS_DISABLED | WS_CAPTION
|
||||
CAPTION "Monitor"
|
||||
FONT 8, "MS Shell Dlg", 0, 0, 0x0
|
||||
BEGIN
|
||||
GROUPBOX "Typ monitora", -1, 7, 3, 237, 52
|
||||
LTEXT "", IDC_MONITORNAME, 40, 17, 190, 20, SS_NOPREFIX
|
||||
LISTBOX IDC_MONITORLIST, 40, 13, 196, 30, WS_VSCROLL
|
||||
PUSHBUTTON "Vl&astnosti", IDC_MONITORPROPERTIES, 177, 35, 59, 14, WS_DISABLED
|
||||
GROUPBOX "Nastavenie monitora", IDS_MONITORSETTINGSGROUP, 7, 58, 237, 63
|
||||
LTEXT "&Frekvencia obnovovania obrazovky:", IDS_REFRESHRATELABEL, 13, 73, 225, 8
|
||||
COMBOBOX IDC_REFRESHRATE, 13, 85, 225, 200, WS_VSCROLL | CBS_DROPDOWNLIST | CBS_SORT
|
||||
AUTOCHECKBOX "&Skry� režimy, ktoré sa na tomto monitore nedajú použi�", IDC_PRUNINGCHECK, 13, 106, 225, 10
|
||||
END
|
||||
|
||||
STRINGTABLE
|
||||
BEGIN
|
||||
IDS_USEDEFFRQUENCY "Použi� predvolené hardvérové nastavenie"
|
||||
IDS_FREQFMT "%u Hz"
|
||||
END
|
||||
|
||||
@@ -1,45 +1,45 @@
|
||||
/*
|
||||
* FILE: dll/win32/shellext/slayer/lang/sk-SK.rc
|
||||
* PURPOSE: Slovak Language File for slayer
|
||||
* TRANSLATOR: Kario <[email protected]>
|
||||
* DATE OF TR.: 30-09-2007
|
||||
*/
|
||||
|
||||
LANGUAGE LANG_SLOVAK, SUBLANG_DEFAULT
|
||||
|
||||
IDD_SLAYERSHEET DIALOGEX 0, 0, 224, 226
|
||||
STYLE DS_SHELLFONT | WS_CHILD | WS_DISABLED | WS_CAPTION
|
||||
CAPTION "Kompatibilita"
|
||||
FONT 8, "MS Shell Dlg", 0, 0, 0x0
|
||||
BEGIN
|
||||
LTEXT "Ak máte problémy so spustením tohto programu v systéme ReactOS, vyberte operaèný systém, pod názvom ktorého sa systém ReactOS ohlási programu.", -1, 7,7,210,31
|
||||
GROUPBOX "Kompatibilný režim", IDC_COMPATGROUP, 7,41,210,49
|
||||
CHECKBOX "Tento program spusti� v režime kompatibilnom so systémom:", IDC_CHKRUNCOMPATIBILITY, 18,57,188,10, BS_AUTOCHECKBOX | WS_TABSTOP
|
||||
COMBOBOX IDC_COMPATIBILITYMODE, 18,70,188,85, CBS_HASSTRINGS | CBS_DROPDOWNLIST | WS_TABSTOP | WS_DISABLED
|
||||
GROUPBOX "Nastavenia obrazovky", -1, 7,99,210,61, BS_GROUPBOX | WS_DISABLED
|
||||
CHECKBOX "Spusti� v režime 256 farieb", IDC_CHKRUNIN256COLORS, 18,114,188,10, BS_AUTOCHECKBOX | WS_TABSTOP | WS_DISABLED
|
||||
CHECKBOX "Spusti� s rozlíšením obrazovky 640x480", IDC_CHKRUNIN640480RES, 18,129,188,10, BS_AUTOCHECKBOX | WS_TABSTOP | WS_DISABLED
|
||||
CHECKBOX "Vypnú� vizuálne motívy", IDC_CHKDISABLEVISUALTHEMES, 18,144,188,10, BS_AUTOCHECKBOX | WS_TABSTOP | WS_DISABLED
|
||||
PUSHBUTTON "&Upravi� režimy kompatibility...", IDC_EDITCOMPATIBILITYMODES, 117,167,100,15
|
||||
/* CONTROL "Ïalšie informácie o <A>kompatibilite programov</A>.", IDC_INFOLINK, "SysLink", WS_CHILD | WS_TABSTOP | WS_VISIBLE, 7,207,210,10, WS_EX_NOPARENTNOTIFY */
|
||||
END
|
||||
|
||||
IDD_EDITCOMPATIBILITYMODES DIALOGEX 0, 0, 230, 139
|
||||
STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
|
||||
CAPTION "Úprava režimov kompatibility"
|
||||
FONT 8, "MS Shell Dlg", 0, 0, 0x0
|
||||
BEGIN
|
||||
LISTBOX IDC_COMPATIBILITYMODE, 9,6,148,108, LBS_NOTIFY | LBS_WANTKEYBOARDINPUT | WS_BORDER
|
||||
PUSHBUTTON "Prid&a�...", IDC_ADD, 162,6,60,14, WS_DISABLED
|
||||
PUSHBUTTON "&Upravi�...", IDC_EDIT, 162,24,60,14, WS_DISABLED
|
||||
PUSHBUTTON "O&dstráni�", IDC_DELETE, 162,42,60,14, WS_DISABLED
|
||||
PUSHBUTTON "&OK", IDOK, 95,116,60,14
|
||||
PUSHBUTTON "&Zruši�", IDCANCEL, 162,116,60,14
|
||||
END
|
||||
|
||||
STRINGTABLE
|
||||
BEGIN
|
||||
IDS_SLAYER "Slayer"
|
||||
IDS_DESCRIPTION "Application Compatibility Layer Shell Extension"
|
||||
END
|
||||
|
||||
/*
|
||||
* FILE: dll/win32/shellext/slayer/lang/sk-SK.rc
|
||||
* PURPOSE: Slovak Language File for slayer
|
||||
* TRANSLATOR: Kario <[email protected]>
|
||||
* DATE OF TR.: 30-09-2007
|
||||
*/
|
||||
|
||||
LANGUAGE LANG_SLOVAK, SUBLANG_DEFAULT
|
||||
|
||||
IDD_SLAYERSHEET DIALOGEX 0, 0, 224, 226
|
||||
STYLE DS_SHELLFONT | WS_CHILD | WS_DISABLED | WS_CAPTION
|
||||
CAPTION "Kompatibilita"
|
||||
FONT 8, "MS Shell Dlg", 0, 0, 0x0
|
||||
BEGIN
|
||||
LTEXT "Ak máte problémy so spustením tohto programu v systéme ReactOS, vyberte operaèný systém, pod názvom ktorého sa systém ReactOS ohlási programu.", -1, 7,7,210,31
|
||||
GROUPBOX "Kompatibilný režim", IDC_COMPATGROUP, 7,41,210,49
|
||||
CHECKBOX "Tento program spusti� v režime kompatibilnom so systémom:", IDC_CHKRUNCOMPATIBILITY, 18,57,188,10, BS_AUTOCHECKBOX | WS_TABSTOP
|
||||
COMBOBOX IDC_COMPATIBILITYMODE, 18,70,188,85, CBS_HASSTRINGS | CBS_DROPDOWNLIST | WS_TABSTOP | WS_DISABLED
|
||||
GROUPBOX "Nastavenia obrazovky", -1, 7,99,210,61, BS_GROUPBOX | WS_DISABLED
|
||||
CHECKBOX "Spusti� v režime 256 farieb", IDC_CHKRUNIN256COLORS, 18,114,188,10, BS_AUTOCHECKBOX | WS_TABSTOP | WS_DISABLED
|
||||
CHECKBOX "Spusti� s rozlíšením obrazovky 640x480", IDC_CHKRUNIN640480RES, 18,129,188,10, BS_AUTOCHECKBOX | WS_TABSTOP | WS_DISABLED
|
||||
CHECKBOX "Vypnú� vizuálne motívy", IDC_CHKDISABLEVISUALTHEMES, 18,144,188,10, BS_AUTOCHECKBOX | WS_TABSTOP | WS_DISABLED
|
||||
PUSHBUTTON "&Upravi� režimy kompatibility...", IDC_EDITCOMPATIBILITYMODES, 117,167,100,15
|
||||
/* CONTROL "Ïalšie informácie o <A>kompatibilite programov</A>.", IDC_INFOLINK, "SysLink", WS_CHILD | WS_TABSTOP | WS_VISIBLE, 7,207,210,10, WS_EX_NOPARENTNOTIFY */
|
||||
END
|
||||
|
||||
IDD_EDITCOMPATIBILITYMODES DIALOGEX 0, 0, 230, 139
|
||||
STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
|
||||
CAPTION "Úprava režimov kompatibility"
|
||||
FONT 8, "MS Shell Dlg", 0, 0, 0x0
|
||||
BEGIN
|
||||
LISTBOX IDC_COMPATIBILITYMODE, 9,6,148,108, LBS_NOTIFY | LBS_WANTKEYBOARDINPUT | WS_BORDER
|
||||
PUSHBUTTON "Prid&a�...", IDC_ADD, 162,6,60,14, WS_DISABLED
|
||||
PUSHBUTTON "&Upravi�...", IDC_EDIT, 162,24,60,14, WS_DISABLED
|
||||
PUSHBUTTON "O&dstráni�", IDC_DELETE, 162,42,60,14, WS_DISABLED
|
||||
PUSHBUTTON "&OK", IDOK, 95,116,60,14
|
||||
PUSHBUTTON "&Zruši�", IDCANCEL, 162,116,60,14
|
||||
END
|
||||
|
||||
STRINGTABLE
|
||||
BEGIN
|
||||
IDS_SLAYER "Slayer"
|
||||
IDS_DESCRIPTION "Application Compatibility Layer Shell Extension"
|
||||
END
|
||||
|
||||
|
||||
@@ -1,123 +1,123 @@
|
||||
/*
|
||||
* Advapi32.dll Event Tracing Functions
|
||||
*/
|
||||
|
||||
#include <advapi32.h>
|
||||
#include <debug.h>
|
||||
|
||||
/*
|
||||
* @unimplemented
|
||||
*/
|
||||
ULONG CDECL
|
||||
TraceMessage(
|
||||
HANDLE SessionHandle,
|
||||
ULONG MessageFlags,
|
||||
LPGUID MessageGuid,
|
||||
USHORT MessageNumber,
|
||||
...)
|
||||
{
|
||||
DPRINT1("TraceMessage()\n");
|
||||
return ERROR_SUCCESS;
|
||||
}
|
||||
|
||||
TRACEHANDLE
|
||||
WMIAPI
|
||||
GetTraceLoggerHandle(
|
||||
PVOID Buffer
|
||||
)
|
||||
{
|
||||
DPRINT1("GetTraceLoggerHandle stub()\n");
|
||||
return (TRACEHANDLE)-1;
|
||||
}
|
||||
|
||||
|
||||
ULONG
|
||||
WMIAPI
|
||||
TraceEvent(
|
||||
TRACEHANDLE SessionHandle,
|
||||
PEVENT_TRACE_HEADER EventTrace
|
||||
)
|
||||
{
|
||||
DPRINT1("TraceEvent stub()\n");
|
||||
|
||||
if (!SessionHandle || !EventTrace)
|
||||
{
|
||||
/* invalid parameters */
|
||||
return ERROR_INVALID_PARAMETER;
|
||||
}
|
||||
|
||||
if (EventTrace->Size != sizeof(EVENT_TRACE_HEADER))
|
||||
{
|
||||
/* invalid parameter */
|
||||
return ERROR_INVALID_PARAMETER;
|
||||
}
|
||||
|
||||
return ERROR_SUCCESS;
|
||||
}
|
||||
|
||||
ULONG
|
||||
WMIAPI
|
||||
GetTraceEnableFlags(
|
||||
TRACEHANDLE TraceHandle
|
||||
)
|
||||
{
|
||||
DPRINT1("GetTraceEnableFlags stub()\n");
|
||||
return 0xFF;
|
||||
}
|
||||
|
||||
UCHAR
|
||||
WMIAPI
|
||||
GetTraceEnableLevel(
|
||||
TRACEHANDLE TraceHandle
|
||||
)
|
||||
{
|
||||
DPRINT1("GetTraceEnableLevel stub()\n");
|
||||
return 0xFF;
|
||||
}
|
||||
|
||||
ULONG
|
||||
WMIAPI
|
||||
UnregisterTraceGuids(
|
||||
TRACEHANDLE RegistrationHandle
|
||||
)
|
||||
{
|
||||
DPRINT1("UnregisterTraceGuids stub()\n");
|
||||
return ERROR_SUCCESS;
|
||||
}
|
||||
|
||||
ULONG
|
||||
WMIAPI
|
||||
RegisterTraceGuidsA(
|
||||
WMIDPREQUEST RequestAddress,
|
||||
PVOID RequestContext,
|
||||
LPCGUID ControlGuid,
|
||||
ULONG GuidCount,
|
||||
PTRACE_GUID_REGISTRATION TraceGuidReg,
|
||||
LPCSTR MofImagePath,
|
||||
LPCSTR MofResourceName,
|
||||
PTRACEHANDLE RegistrationHandle
|
||||
)
|
||||
{
|
||||
DPRINT1("RegisterTraceGuidsA stub()\n");
|
||||
return ERROR_SUCCESS;
|
||||
}
|
||||
|
||||
ULONG
|
||||
WMIAPI
|
||||
RegisterTraceGuidsW(
|
||||
WMIDPREQUEST RequestAddress,
|
||||
PVOID RequestContext,
|
||||
LPCGUID ControlGuid,
|
||||
ULONG GuidCount,
|
||||
PTRACE_GUID_REGISTRATION TraceGuidReg,
|
||||
LPCWSTR MofImagePath,
|
||||
LPCWSTR MofResourceName,
|
||||
PTRACEHANDLE RegistrationHandle
|
||||
)
|
||||
{
|
||||
DPRINT1("RegisterTraceGuidsW stub()\n");
|
||||
return ERROR_SUCCESS;
|
||||
}
|
||||
|
||||
|
||||
/* EOF */
|
||||
/*
|
||||
* Advapi32.dll Event Tracing Functions
|
||||
*/
|
||||
|
||||
#include <advapi32.h>
|
||||
#include <debug.h>
|
||||
|
||||
/*
|
||||
* @unimplemented
|
||||
*/
|
||||
ULONG CDECL
|
||||
TraceMessage(
|
||||
HANDLE SessionHandle,
|
||||
ULONG MessageFlags,
|
||||
LPGUID MessageGuid,
|
||||
USHORT MessageNumber,
|
||||
...)
|
||||
{
|
||||
DPRINT1("TraceMessage()\n");
|
||||
return ERROR_SUCCESS;
|
||||
}
|
||||
|
||||
TRACEHANDLE
|
||||
WMIAPI
|
||||
GetTraceLoggerHandle(
|
||||
PVOID Buffer
|
||||
)
|
||||
{
|
||||
DPRINT1("GetTraceLoggerHandle stub()\n");
|
||||
return (TRACEHANDLE)-1;
|
||||
}
|
||||
|
||||
|
||||
ULONG
|
||||
WMIAPI
|
||||
TraceEvent(
|
||||
TRACEHANDLE SessionHandle,
|
||||
PEVENT_TRACE_HEADER EventTrace
|
||||
)
|
||||
{
|
||||
DPRINT1("TraceEvent stub()\n");
|
||||
|
||||
if (!SessionHandle || !EventTrace)
|
||||
{
|
||||
/* invalid parameters */
|
||||
return ERROR_INVALID_PARAMETER;
|
||||
}
|
||||
|
||||
if (EventTrace->Size != sizeof(EVENT_TRACE_HEADER))
|
||||
{
|
||||
/* invalid parameter */
|
||||
return ERROR_INVALID_PARAMETER;
|
||||
}
|
||||
|
||||
return ERROR_SUCCESS;
|
||||
}
|
||||
|
||||
ULONG
|
||||
WMIAPI
|
||||
GetTraceEnableFlags(
|
||||
TRACEHANDLE TraceHandle
|
||||
)
|
||||
{
|
||||
DPRINT1("GetTraceEnableFlags stub()\n");
|
||||
return 0xFF;
|
||||
}
|
||||
|
||||
UCHAR
|
||||
WMIAPI
|
||||
GetTraceEnableLevel(
|
||||
TRACEHANDLE TraceHandle
|
||||
)
|
||||
{
|
||||
DPRINT1("GetTraceEnableLevel stub()\n");
|
||||
return 0xFF;
|
||||
}
|
||||
|
||||
ULONG
|
||||
WMIAPI
|
||||
UnregisterTraceGuids(
|
||||
TRACEHANDLE RegistrationHandle
|
||||
)
|
||||
{
|
||||
DPRINT1("UnregisterTraceGuids stub()\n");
|
||||
return ERROR_SUCCESS;
|
||||
}
|
||||
|
||||
ULONG
|
||||
WMIAPI
|
||||
RegisterTraceGuidsA(
|
||||
WMIDPREQUEST RequestAddress,
|
||||
PVOID RequestContext,
|
||||
LPCGUID ControlGuid,
|
||||
ULONG GuidCount,
|
||||
PTRACE_GUID_REGISTRATION TraceGuidReg,
|
||||
LPCSTR MofImagePath,
|
||||
LPCSTR MofResourceName,
|
||||
PTRACEHANDLE RegistrationHandle
|
||||
)
|
||||
{
|
||||
DPRINT1("RegisterTraceGuidsA stub()\n");
|
||||
return ERROR_SUCCESS;
|
||||
}
|
||||
|
||||
ULONG
|
||||
WMIAPI
|
||||
RegisterTraceGuidsW(
|
||||
WMIDPREQUEST RequestAddress,
|
||||
PVOID RequestContext,
|
||||
LPCGUID ControlGuid,
|
||||
ULONG GuidCount,
|
||||
PTRACE_GUID_REGISTRATION TraceGuidReg,
|
||||
LPCWSTR MofImagePath,
|
||||
LPCWSTR MofResourceName,
|
||||
PTRACEHANDLE RegistrationHandle
|
||||
)
|
||||
{
|
||||
DPRINT1("RegisterTraceGuidsW stub()\n");
|
||||
return ERROR_SUCCESS;
|
||||
}
|
||||
|
||||
|
||||
/* EOF */
|
||||
|
||||
@@ -1,34 +1,34 @@
|
||||
#include "precomp.h"
|
||||
|
||||
#define NDEBUG
|
||||
#include <debug.h>
|
||||
|
||||
/*
|
||||
* @implemented
|
||||
*/
|
||||
HPEN WINAPI
|
||||
CreatePenIndirect(
|
||||
const LOGPEN *lplgpn)
|
||||
{
|
||||
/* Note same behoir as Windows 2000/XP/VISTA, they do not care if plgpn is NULL´, it will crash */
|
||||
return CreatePen(lplgpn->lopnStyle, lplgpn->lopnWidth.x, lplgpn->lopnColor);
|
||||
}
|
||||
|
||||
/*
|
||||
* @implemented
|
||||
*/
|
||||
HPEN WINAPI
|
||||
CreatePen(
|
||||
int nPenStyle,
|
||||
int nWidth,
|
||||
COLORREF crColor)
|
||||
{
|
||||
/* FIXME Some part need be done in user mode */
|
||||
if (nPenStyle > PS_DASHDOTDOT)
|
||||
{
|
||||
if (nPenStyle == PS_NULL) return GetStockObject(NULL_PEN);
|
||||
if (nPenStyle != PS_INSIDEFRAME) nPenStyle = PS_SOLID;
|
||||
}
|
||||
return NtGdiCreatePen(nPenStyle, nWidth, crColor, NULL);
|
||||
}
|
||||
|
||||
#include "precomp.h"
|
||||
|
||||
#define NDEBUG
|
||||
#include <debug.h>
|
||||
|
||||
/*
|
||||
* @implemented
|
||||
*/
|
||||
HPEN WINAPI
|
||||
CreatePenIndirect(
|
||||
const LOGPEN *lplgpn)
|
||||
{
|
||||
/* Note same behoir as Windows 2000/XP/VISTA, they do not care if plgpn is NULL´, it will crash */
|
||||
return CreatePen(lplgpn->lopnStyle, lplgpn->lopnWidth.x, lplgpn->lopnColor);
|
||||
}
|
||||
|
||||
/*
|
||||
* @implemented
|
||||
*/
|
||||
HPEN WINAPI
|
||||
CreatePen(
|
||||
int nPenStyle,
|
||||
int nWidth,
|
||||
COLORREF crColor)
|
||||
{
|
||||
/* FIXME Some part need be done in user mode */
|
||||
if (nPenStyle > PS_DASHDOTDOT)
|
||||
{
|
||||
if (nPenStyle == PS_NULL) return GetStockObject(NULL_PEN);
|
||||
if (nPenStyle != PS_INSIDEFRAME) nPenStyle = PS_SOLID;
|
||||
}
|
||||
return NtGdiCreatePen(nPenStyle, nWidth, crColor, NULL);
|
||||
}
|
||||
|
||||
|
||||
@@ -1,156 +1,156 @@
|
||||
/*
|
||||
* Locale definitions for Armenian
|
||||
*
|
||||
* Copyright 2002 Alexandre Julliard for CodeWeavers
|
||||
*
|
||||
* This library is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU Lesser General Public
|
||||
* License as published by the Free Software Foundation; either
|
||||
* version 2.1 of the License, or (at your option) any later version.
|
||||
*
|
||||
* This library 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
|
||||
* Lesser General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Lesser General Public
|
||||
* License along with this library; if not, write to the Free Software
|
||||
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
|
||||
*/
|
||||
|
||||
#pragma code_page(65001) /* UTF-8 */
|
||||
|
||||
STRINGTABLE LANGUAGE LANG_ARMENIAN, SUBLANG_DEFAULT
|
||||
{
|
||||
LOCALE_FONTSIGNATURE L"\x042f\x8000\x3808\x0000\x0000\x0000\x0000\x0000\x0001\x0000\x0000\x4000\x0013\x0000\x0000\xc5d4"
|
||||
LOCALE_ICALENDARTYPE "1"
|
||||
LOCALE_ICENTURY "1"
|
||||
LOCALE_ICOUNTRY "374"
|
||||
LOCALE_ICURRDIGITS "2"
|
||||
LOCALE_ICURRENCY "3"
|
||||
LOCALE_IDATE "1"
|
||||
LOCALE_IDAYLZERO "1"
|
||||
LOCALE_IDEFAULTANSICODEPAGE "0"
|
||||
LOCALE_IDEFAULTCODEPAGE "1"
|
||||
LOCALE_IDEFAULTCOUNTRY "374"
|
||||
LOCALE_IDEFAULTEBCDICCODEPAGE "500"
|
||||
LOCALE_IDEFAULTLANGUAGE "042b"
|
||||
LOCALE_IDEFAULTMACCODEPAGE "2"
|
||||
LOCALE_IDEFAULTUNIXCODEPAGE "65001"
|
||||
LOCALE_IDIGITS "2"
|
||||
LOCALE_IDIGITSUBSTITUTION "1"
|
||||
LOCALE_IFIRSTDAYOFWEEK "0"
|
||||
LOCALE_IFIRSTWEEKOFYEAR "0"
|
||||
LOCALE_IINTLCURRDIGITS "2"
|
||||
LOCALE_ILANGUAGE "042b"
|
||||
LOCALE_ILDATE "1"
|
||||
LOCALE_ILZERO "1"
|
||||
LOCALE_IMEASURE "0"
|
||||
LOCALE_IMONLZERO "1"
|
||||
LOCALE_INEGCURR "8"
|
||||
LOCALE_INEGNUMBER "1"
|
||||
LOCALE_INEGSEPBYSPACE "1"
|
||||
LOCALE_INEGSIGNPOSN "1"
|
||||
LOCALE_INEGSYMPRECEDES "0"
|
||||
LOCALE_IOPTIONALCALENDAR "0"
|
||||
LOCALE_IPAPERSIZE "9"
|
||||
LOCALE_IPOSSEPBYSPACE "1"
|
||||
LOCALE_IPOSSIGNPOSN "1"
|
||||
LOCALE_IPOSSYMPRECEDES "0"
|
||||
LOCALE_ITIME "1"
|
||||
LOCALE_ITIMEMARKPOSN "0"
|
||||
LOCALE_ITLZERO "0"
|
||||
LOCALE_S1159 ""
|
||||
LOCALE_S2359 ""
|
||||
LOCALE_SABBREVCTRYNAME "ARM"
|
||||
LOCALE_SABBREVDAYNAME1 "Երկ"
|
||||
LOCALE_SABBREVDAYNAME2 "Երք"
|
||||
LOCALE_SABBREVDAYNAME3 "Չրք"
|
||||
LOCALE_SABBREVDAYNAME4 "Հնգ"
|
||||
LOCALE_SABBREVDAYNAME5 "ՈՒր"
|
||||
LOCALE_SABBREVDAYNAME6 "Շբթ"
|
||||
LOCALE_SABBREVDAYNAME7 "Կիր"
|
||||
LOCALE_SABBREVLANGNAME "HYE"
|
||||
LOCALE_SABBREVMONTHNAME1 "ՀՆՎ"
|
||||
LOCALE_SABBREVMONTHNAME2 "ՓՏՎ"
|
||||
LOCALE_SABBREVMONTHNAME3 "ՄՐՏ"
|
||||
LOCALE_SABBREVMONTHNAME4 "ԱՊՐ"
|
||||
LOCALE_SABBREVMONTHNAME5 "ՄՅՍ"
|
||||
LOCALE_SABBREVMONTHNAME6 "ՀՆՍ"
|
||||
LOCALE_SABBREVMONTHNAME7 "ՀԼՍ"
|
||||
LOCALE_SABBREVMONTHNAME8 "ՕԳՍ"
|
||||
LOCALE_SABBREVMONTHNAME9 "ՍԵՊ"
|
||||
LOCALE_SABBREVMONTHNAME10 "ՀՈԿ"
|
||||
LOCALE_SABBREVMONTHNAME11 "ՆՈՅ"
|
||||
LOCALE_SABBREVMONTHNAME12 "ԴԵԿ"
|
||||
LOCALE_SABBREVMONTHNAME13 ""
|
||||
LOCALE_SCOUNTRY "Armenia"
|
||||
LOCALE_SCURRENCY "դր."
|
||||
LOCALE_SDATE "."
|
||||
LOCALE_SDAYNAME1 "Երկուշաբթի"
|
||||
LOCALE_SDAYNAME2 "Երեքշաբթի"
|
||||
LOCALE_SDAYNAME3 "Չորեքշաբթի"
|
||||
LOCALE_SDAYNAME4 "Հինգշաբթի"
|
||||
LOCALE_SDAYNAME5 "ՈՒրբաթ"
|
||||
LOCALE_SDAYNAME6 "Շաբաթ"
|
||||
LOCALE_SDAYNAME7 "Կիրակի"
|
||||
LOCALE_SDECIMAL "."
|
||||
LOCALE_SENGCOUNTRY "Armenia"
|
||||
LOCALE_SENGCURRNAME "Armenian Dram"
|
||||
LOCALE_SENGLANGUAGE "Armenian"
|
||||
LOCALE_SGROUPING "3;0"
|
||||
LOCALE_SINTLSYMBOL "AMD"
|
||||
LOCALE_SISO3166CTRYNAME "AM"
|
||||
LOCALE_SISO639LANGNAME "hy"
|
||||
LOCALE_SLANGUAGE "Armenian"
|
||||
LOCALE_SLIST ","
|
||||
LOCALE_SLONGDATE "d MMMM, yyyy"
|
||||
LOCALE_SMONDECIMALSEP "."
|
||||
LOCALE_SMONGROUPING "3;0"
|
||||
LOCALE_SMONTHNAME1 "Հունվար"
|
||||
LOCALE_SMONTHNAME2 "Փետրվար"
|
||||
LOCALE_SMONTHNAME3 "Մարտ"
|
||||
LOCALE_SMONTHNAME4 "Ապրիլ"
|
||||
LOCALE_SMONTHNAME5 "Մայիս"
|
||||
LOCALE_SMONTHNAME6 "Հունիս"
|
||||
LOCALE_SMONTHNAME7 "Հուլիս"
|
||||
LOCALE_SMONTHNAME8 "Օգոստոս"
|
||||
LOCALE_SMONTHNAME9 "Սեպտեմբեր"
|
||||
LOCALE_SMONTHNAME10 "Հոկտեմբեր"
|
||||
LOCALE_SMONTHNAME11 "Նոյեմբեր"
|
||||
LOCALE_SMONTHNAME12 "Դեկտեմբեր"
|
||||
LOCALE_SMONTHNAME13 ""
|
||||
LOCALE_SMONTHOUSANDSEP ","
|
||||
LOCALE_SNAME "hy-AM"
|
||||
LOCALE_SNATIVECTRYNAME "Հայաստան"
|
||||
LOCALE_SNATIVECURRNAME "դրամ"
|
||||
LOCALE_SNATIVEDIGITS "0123456789"
|
||||
LOCALE_SNATIVELANGNAME "Հայերեն"
|
||||
LOCALE_SNEGATIVESIGN "-"
|
||||
LOCALE_SPOSITIVESIGN ""
|
||||
LOCALE_SSCRIPTS "Armn;"
|
||||
LOCALE_SSHORTDATE "dd.MM.yyyy"
|
||||
LOCALE_SSORTNAME "Default"
|
||||
LOCALE_STHOUSAND ","
|
||||
LOCALE_STIME ":"
|
||||
LOCALE_STIMEFORMAT "H:mm:ss"
|
||||
LOCALE_SYEARMONTH "MMMM, yyyy"
|
||||
|
||||
LGRPID_WESTERN_EUROPE+LGRPID_RES_BASE "Western Europe and United States"
|
||||
LGRPID_CENTRAL_EUROPE+LGRPID_RES_BASE "Central Europe"
|
||||
LGRPID_BALTIC+LGRPID_RES_BASE "Baltic"
|
||||
LGRPID_GREEK+LGRPID_RES_BASE "Greek"
|
||||
LGRPID_CYRILLIC+LGRPID_RES_BASE "Cyrillic"
|
||||
LGRPID_TURKISH+LGRPID_RES_BASE "Turkic"
|
||||
LGRPID_JAPANESE+LGRPID_RES_BASE "Japanese"
|
||||
LGRPID_KOREAN+LGRPID_RES_BASE "Korean"
|
||||
LGRPID_TRADITIONAL_CHINESE+LGRPID_RES_BASE "Traditional Chinese"
|
||||
LGRPID_SIMPLIFIED_CHINESE+LGRPID_RES_BASE "Simplified Chinese"
|
||||
LGRPID_THAI+LGRPID_RES_BASE "Thai"
|
||||
LGRPID_HEBREW+LGRPID_RES_BASE "Hebrew"
|
||||
LGRPID_ARABIC+LGRPID_RES_BASE "Arabic"
|
||||
LGRPID_VIETNAMESE+LGRPID_RES_BASE "Vietnamese"
|
||||
LGRPID_INDIC+LGRPID_RES_BASE "Indic"
|
||||
LGRPID_GEORGIAN+LGRPID_RES_BASE "Georgian"
|
||||
LGRPID_ARMENIAN+LGRPID_RES_BASE "Armenian"
|
||||
}
|
||||
/*
|
||||
* Locale definitions for Armenian
|
||||
*
|
||||
* Copyright 2002 Alexandre Julliard for CodeWeavers
|
||||
*
|
||||
* This library is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU Lesser General Public
|
||||
* License as published by the Free Software Foundation; either
|
||||
* version 2.1 of the License, or (at your option) any later version.
|
||||
*
|
||||
* This library 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
|
||||
* Lesser General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Lesser General Public
|
||||
* License along with this library; if not, write to the Free Software
|
||||
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
|
||||
*/
|
||||
|
||||
#pragma code_page(65001) /* UTF-8 */
|
||||
|
||||
STRINGTABLE LANGUAGE LANG_ARMENIAN, SUBLANG_DEFAULT
|
||||
{
|
||||
LOCALE_FONTSIGNATURE L"\x042f\x8000\x3808\x0000\x0000\x0000\x0000\x0000\x0001\x0000\x0000\x4000\x0013\x0000\x0000\xc5d4"
|
||||
LOCALE_ICALENDARTYPE "1"
|
||||
LOCALE_ICENTURY "1"
|
||||
LOCALE_ICOUNTRY "374"
|
||||
LOCALE_ICURRDIGITS "2"
|
||||
LOCALE_ICURRENCY "3"
|
||||
LOCALE_IDATE "1"
|
||||
LOCALE_IDAYLZERO "1"
|
||||
LOCALE_IDEFAULTANSICODEPAGE "0"
|
||||
LOCALE_IDEFAULTCODEPAGE "1"
|
||||
LOCALE_IDEFAULTCOUNTRY "374"
|
||||
LOCALE_IDEFAULTEBCDICCODEPAGE "500"
|
||||
LOCALE_IDEFAULTLANGUAGE "042b"
|
||||
LOCALE_IDEFAULTMACCODEPAGE "2"
|
||||
LOCALE_IDEFAULTUNIXCODEPAGE "65001"
|
||||
LOCALE_IDIGITS "2"
|
||||
LOCALE_IDIGITSUBSTITUTION "1"
|
||||
LOCALE_IFIRSTDAYOFWEEK "0"
|
||||
LOCALE_IFIRSTWEEKOFYEAR "0"
|
||||
LOCALE_IINTLCURRDIGITS "2"
|
||||
LOCALE_ILANGUAGE "042b"
|
||||
LOCALE_ILDATE "1"
|
||||
LOCALE_ILZERO "1"
|
||||
LOCALE_IMEASURE "0"
|
||||
LOCALE_IMONLZERO "1"
|
||||
LOCALE_INEGCURR "8"
|
||||
LOCALE_INEGNUMBER "1"
|
||||
LOCALE_INEGSEPBYSPACE "1"
|
||||
LOCALE_INEGSIGNPOSN "1"
|
||||
LOCALE_INEGSYMPRECEDES "0"
|
||||
LOCALE_IOPTIONALCALENDAR "0"
|
||||
LOCALE_IPAPERSIZE "9"
|
||||
LOCALE_IPOSSEPBYSPACE "1"
|
||||
LOCALE_IPOSSIGNPOSN "1"
|
||||
LOCALE_IPOSSYMPRECEDES "0"
|
||||
LOCALE_ITIME "1"
|
||||
LOCALE_ITIMEMARKPOSN "0"
|
||||
LOCALE_ITLZERO "0"
|
||||
LOCALE_S1159 ""
|
||||
LOCALE_S2359 ""
|
||||
LOCALE_SABBREVCTRYNAME "ARM"
|
||||
LOCALE_SABBREVDAYNAME1 "Երկ"
|
||||
LOCALE_SABBREVDAYNAME2 "Երք"
|
||||
LOCALE_SABBREVDAYNAME3 "Չրք"
|
||||
LOCALE_SABBREVDAYNAME4 "Հնգ"
|
||||
LOCALE_SABBREVDAYNAME5 "ՈՒր"
|
||||
LOCALE_SABBREVDAYNAME6 "Շբթ"
|
||||
LOCALE_SABBREVDAYNAME7 "Կիր"
|
||||
LOCALE_SABBREVLANGNAME "HYE"
|
||||
LOCALE_SABBREVMONTHNAME1 "ՀՆՎ"
|
||||
LOCALE_SABBREVMONTHNAME2 "ՓՏՎ"
|
||||
LOCALE_SABBREVMONTHNAME3 "ՄՐՏ"
|
||||
LOCALE_SABBREVMONTHNAME4 "ԱՊՐ"
|
||||
LOCALE_SABBREVMONTHNAME5 "ՄՅՍ"
|
||||
LOCALE_SABBREVMONTHNAME6 "ՀՆՍ"
|
||||
LOCALE_SABBREVMONTHNAME7 "ՀԼՍ"
|
||||
LOCALE_SABBREVMONTHNAME8 "ՕԳՍ"
|
||||
LOCALE_SABBREVMONTHNAME9 "ՍԵՊ"
|
||||
LOCALE_SABBREVMONTHNAME10 "ՀՈԿ"
|
||||
LOCALE_SABBREVMONTHNAME11 "ՆՈՅ"
|
||||
LOCALE_SABBREVMONTHNAME12 "ԴԵԿ"
|
||||
LOCALE_SABBREVMONTHNAME13 ""
|
||||
LOCALE_SCOUNTRY "Armenia"
|
||||
LOCALE_SCURRENCY "դր."
|
||||
LOCALE_SDATE "."
|
||||
LOCALE_SDAYNAME1 "Երկուշաբթի"
|
||||
LOCALE_SDAYNAME2 "Երեքշաբթի"
|
||||
LOCALE_SDAYNAME3 "Չորեքշաբթի"
|
||||
LOCALE_SDAYNAME4 "Հինգշաբթի"
|
||||
LOCALE_SDAYNAME5 "ՈՒրբաթ"
|
||||
LOCALE_SDAYNAME6 "Շաբաթ"
|
||||
LOCALE_SDAYNAME7 "Կիրակի"
|
||||
LOCALE_SDECIMAL "."
|
||||
LOCALE_SENGCOUNTRY "Armenia"
|
||||
LOCALE_SENGCURRNAME "Armenian Dram"
|
||||
LOCALE_SENGLANGUAGE "Armenian"
|
||||
LOCALE_SGROUPING "3;0"
|
||||
LOCALE_SINTLSYMBOL "AMD"
|
||||
LOCALE_SISO3166CTRYNAME "AM"
|
||||
LOCALE_SISO639LANGNAME "hy"
|
||||
LOCALE_SLANGUAGE "Armenian"
|
||||
LOCALE_SLIST ","
|
||||
LOCALE_SLONGDATE "d MMMM, yyyy"
|
||||
LOCALE_SMONDECIMALSEP "."
|
||||
LOCALE_SMONGROUPING "3;0"
|
||||
LOCALE_SMONTHNAME1 "Հունվար"
|
||||
LOCALE_SMONTHNAME2 "Փետրվար"
|
||||
LOCALE_SMONTHNAME3 "Մարտ"
|
||||
LOCALE_SMONTHNAME4 "Ապրիլ"
|
||||
LOCALE_SMONTHNAME5 "Մայիս"
|
||||
LOCALE_SMONTHNAME6 "Հունիս"
|
||||
LOCALE_SMONTHNAME7 "Հուլիս"
|
||||
LOCALE_SMONTHNAME8 "Օգոստոս"
|
||||
LOCALE_SMONTHNAME9 "Սեպտեմբեր"
|
||||
LOCALE_SMONTHNAME10 "Հոկտեմբեր"
|
||||
LOCALE_SMONTHNAME11 "Նոյեմբեր"
|
||||
LOCALE_SMONTHNAME12 "Դեկտեմբեր"
|
||||
LOCALE_SMONTHNAME13 ""
|
||||
LOCALE_SMONTHOUSANDSEP ","
|
||||
LOCALE_SNAME "hy-AM"
|
||||
LOCALE_SNATIVECTRYNAME "Հայաստան"
|
||||
LOCALE_SNATIVECURRNAME "դրամ"
|
||||
LOCALE_SNATIVEDIGITS "0123456789"
|
||||
LOCALE_SNATIVELANGNAME "Հայերեն"
|
||||
LOCALE_SNEGATIVESIGN "-"
|
||||
LOCALE_SPOSITIVESIGN ""
|
||||
LOCALE_SSCRIPTS "Armn;"
|
||||
LOCALE_SSHORTDATE "dd.MM.yyyy"
|
||||
LOCALE_SSORTNAME "Default"
|
||||
LOCALE_STHOUSAND ","
|
||||
LOCALE_STIME ":"
|
||||
LOCALE_STIMEFORMAT "H:mm:ss"
|
||||
LOCALE_SYEARMONTH "MMMM, yyyy"
|
||||
|
||||
LGRPID_WESTERN_EUROPE+LGRPID_RES_BASE "Western Europe and United States"
|
||||
LGRPID_CENTRAL_EUROPE+LGRPID_RES_BASE "Central Europe"
|
||||
LGRPID_BALTIC+LGRPID_RES_BASE "Baltic"
|
||||
LGRPID_GREEK+LGRPID_RES_BASE "Greek"
|
||||
LGRPID_CYRILLIC+LGRPID_RES_BASE "Cyrillic"
|
||||
LGRPID_TURKISH+LGRPID_RES_BASE "Turkic"
|
||||
LGRPID_JAPANESE+LGRPID_RES_BASE "Japanese"
|
||||
LGRPID_KOREAN+LGRPID_RES_BASE "Korean"
|
||||
LGRPID_TRADITIONAL_CHINESE+LGRPID_RES_BASE "Traditional Chinese"
|
||||
LGRPID_SIMPLIFIED_CHINESE+LGRPID_RES_BASE "Simplified Chinese"
|
||||
LGRPID_THAI+LGRPID_RES_BASE "Thai"
|
||||
LGRPID_HEBREW+LGRPID_RES_BASE "Hebrew"
|
||||
LGRPID_ARABIC+LGRPID_RES_BASE "Arabic"
|
||||
LGRPID_VIETNAMESE+LGRPID_RES_BASE "Vietnamese"
|
||||
LGRPID_INDIC+LGRPID_RES_BASE "Indic"
|
||||
LGRPID_GEORGIAN+LGRPID_RES_BASE "Georgian"
|
||||
LGRPID_ARMENIAN+LGRPID_RES_BASE "Armenian"
|
||||
}
|
||||
|
||||
@@ -1,156 +1,156 @@
|
||||
/*
|
||||
* Locale definitions for Japanese
|
||||
*
|
||||
* Copyright 2002 Alexandre Julliard for CodeWeavers
|
||||
*
|
||||
* This library is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU Lesser General Public
|
||||
* License as published by the Free Software Foundation; either
|
||||
* version 2.1 of the License, or (at your option) any later version.
|
||||
*
|
||||
* This library 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
|
||||
* Lesser General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Lesser General Public
|
||||
* License along with this library; if not, write to the Free Software
|
||||
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
|
||||
*/
|
||||
|
||||
#pragma code_page(932)
|
||||
|
||||
STRINGTABLE LANGUAGE LANG_JAPANESE, SUBLANG_DEFAULT
|
||||
{
|
||||
LOCALE_FONTSIGNATURE L"\x0283\x8000\x6cf8\x38c7\x0010\x0000\x0000\x0000\x0000\x0002\x0000\x0000\x0000\x0002\x0000\x0000"
|
||||
LOCALE_ICALENDARTYPE "1"
|
||||
LOCALE_ICENTURY "1"
|
||||
LOCALE_ICOUNTRY "81"
|
||||
LOCALE_ICURRDIGITS "0"
|
||||
LOCALE_ICURRENCY "0"
|
||||
LOCALE_IDATE "2"
|
||||
LOCALE_IDAYLZERO "1"
|
||||
LOCALE_IDEFAULTANSICODEPAGE "932"
|
||||
LOCALE_IDEFAULTCODEPAGE "932"
|
||||
LOCALE_IDEFAULTCOUNTRY "81"
|
||||
LOCALE_IDEFAULTEBCDICCODEPAGE "20290"
|
||||
LOCALE_IDEFAULTLANGUAGE "0411"
|
||||
LOCALE_IDEFAULTMACCODEPAGE "10001"
|
||||
LOCALE_IDEFAULTUNIXCODEPAGE "20932"
|
||||
LOCALE_IDIGITS "2"
|
||||
LOCALE_IDIGITSUBSTITUTION "1"
|
||||
LOCALE_IFIRSTDAYOFWEEK "6"
|
||||
LOCALE_IFIRSTWEEKOFYEAR "0"
|
||||
LOCALE_IINTLCURRDIGITS "2"
|
||||
LOCALE_ILANGUAGE "0411"
|
||||
LOCALE_ILDATE "2"
|
||||
LOCALE_ILZERO "1"
|
||||
LOCALE_IMEASURE "0"
|
||||
LOCALE_IMONLZERO "1"
|
||||
LOCALE_INEGCURR "1"
|
||||
LOCALE_INEGNUMBER "1"
|
||||
LOCALE_INEGSEPBYSPACE "0"
|
||||
LOCALE_INEGSIGNPOSN "3"
|
||||
LOCALE_INEGSYMPRECEDES "1"
|
||||
LOCALE_IOPTIONALCALENDAR "3"
|
||||
LOCALE_IPAPERSIZE "9"
|
||||
LOCALE_IPOSSEPBYSPACE "0"
|
||||
LOCALE_IPOSSIGNPOSN "3"
|
||||
LOCALE_IPOSSYMPRECEDES "1"
|
||||
LOCALE_ITIME "1"
|
||||
LOCALE_ITIMEMARKPOSN "0"
|
||||
LOCALE_ITLZERO "0"
|
||||
LOCALE_S1159 "午前"
|
||||
LOCALE_S2359 "午後"
|
||||
LOCALE_SABBREVCTRYNAME "JPN"
|
||||
LOCALE_SABBREVDAYNAME1 "月"
|
||||
LOCALE_SABBREVDAYNAME2 "火"
|
||||
LOCALE_SABBREVDAYNAME3 "水"
|
||||
LOCALE_SABBREVDAYNAME4 "木"
|
||||
LOCALE_SABBREVDAYNAME5 "金"
|
||||
LOCALE_SABBREVDAYNAME6 "土"
|
||||
LOCALE_SABBREVDAYNAME7 "日"
|
||||
LOCALE_SABBREVLANGNAME "JPN"
|
||||
LOCALE_SABBREVMONTHNAME1 "1"
|
||||
LOCALE_SABBREVMONTHNAME2 "2"
|
||||
LOCALE_SABBREVMONTHNAME3 "3"
|
||||
LOCALE_SABBREVMONTHNAME4 "4"
|
||||
LOCALE_SABBREVMONTHNAME5 "5"
|
||||
LOCALE_SABBREVMONTHNAME6 "6"
|
||||
LOCALE_SABBREVMONTHNAME7 "7"
|
||||
LOCALE_SABBREVMONTHNAME8 "8"
|
||||
LOCALE_SABBREVMONTHNAME9 "9"
|
||||
LOCALE_SABBREVMONTHNAME10 "10"
|
||||
LOCALE_SABBREVMONTHNAME11 "11"
|
||||
LOCALE_SABBREVMONTHNAME12 "12"
|
||||
LOCALE_SABBREVMONTHNAME13 ""
|
||||
LOCALE_SCOUNTRY "Japan"
|
||||
LOCALE_SCURRENCY L"\x00a5"
|
||||
LOCALE_SDATE "/"
|
||||
LOCALE_SDAYNAME1 "月曜日"
|
||||
LOCALE_SDAYNAME2 "火曜日"
|
||||
LOCALE_SDAYNAME3 "水曜日"
|
||||
LOCALE_SDAYNAME4 "木曜日"
|
||||
LOCALE_SDAYNAME5 "金曜日"
|
||||
LOCALE_SDAYNAME6 "土曜日"
|
||||
LOCALE_SDAYNAME7 "日曜日"
|
||||
LOCALE_SDECIMAL "."
|
||||
LOCALE_SENGCOUNTRY "Japan"
|
||||
LOCALE_SENGCURRNAME "Japanese Yen"
|
||||
LOCALE_SENGLANGUAGE "Japanese"
|
||||
LOCALE_SGROUPING "3;0"
|
||||
LOCALE_SINTLSYMBOL "JPY"
|
||||
LOCALE_SISO3166CTRYNAME "JP"
|
||||
LOCALE_SISO639LANGNAME "ja"
|
||||
LOCALE_SLANGUAGE "Japanese"
|
||||
LOCALE_SLIST ","
|
||||
LOCALE_SLONGDATE "yyyy'年'M'月'd'日'"
|
||||
LOCALE_SMONDECIMALSEP "."
|
||||
LOCALE_SMONGROUPING "3;0"
|
||||
LOCALE_SMONTHNAME1 "1月"
|
||||
LOCALE_SMONTHNAME2 "2月"
|
||||
LOCALE_SMONTHNAME3 "3月"
|
||||
LOCALE_SMONTHNAME4 "4月"
|
||||
LOCALE_SMONTHNAME5 "5月"
|
||||
LOCALE_SMONTHNAME6 "6月"
|
||||
LOCALE_SMONTHNAME7 "7月"
|
||||
LOCALE_SMONTHNAME8 "8月"
|
||||
LOCALE_SMONTHNAME9 "9月"
|
||||
LOCALE_SMONTHNAME10 "10月"
|
||||
LOCALE_SMONTHNAME11 "11月"
|
||||
LOCALE_SMONTHNAME12 "12月"
|
||||
LOCALE_SMONTHNAME13 ""
|
||||
LOCALE_SMONTHOUSANDSEP ","
|
||||
LOCALE_SNAME "ja-JP"
|
||||
LOCALE_SNATIVECTRYNAME "日本"
|
||||
LOCALE_SNATIVECURRNAME "円"
|
||||
LOCALE_SNATIVEDIGITS "0123456789"
|
||||
LOCALE_SNATIVELANGNAME "日本語"
|
||||
LOCALE_SNEGATIVESIGN "-"
|
||||
LOCALE_SPOSITIVESIGN ""
|
||||
LOCALE_SSCRIPTS "Hani;Hira;Kana;"
|
||||
LOCALE_SSHORTDATE "yyyy/MM/dd"
|
||||
LOCALE_SSORTNAME "XJIS"
|
||||
LOCALE_STHOUSAND ","
|
||||
LOCALE_STIME ":"
|
||||
LOCALE_STIMEFORMAT "H:mm:ss"
|
||||
LOCALE_SYEARMONTH "yyyy'年'M'月'"
|
||||
|
||||
LGRPID_WESTERN_EUROPE+LGRPID_RES_BASE "Western Europe and United States"
|
||||
LGRPID_CENTRAL_EUROPE+LGRPID_RES_BASE "Central Europe"
|
||||
LGRPID_BALTIC+LGRPID_RES_BASE "Baltic"
|
||||
LGRPID_GREEK+LGRPID_RES_BASE "Greek"
|
||||
LGRPID_CYRILLIC+LGRPID_RES_BASE "Cyrillic"
|
||||
LGRPID_TURKISH+LGRPID_RES_BASE "Turkic"
|
||||
LGRPID_JAPANESE+LGRPID_RES_BASE "Japanese"
|
||||
LGRPID_KOREAN+LGRPID_RES_BASE "Korean"
|
||||
LGRPID_TRADITIONAL_CHINESE+LGRPID_RES_BASE "Traditional Chinese"
|
||||
LGRPID_SIMPLIFIED_CHINESE+LGRPID_RES_BASE "Simplified Chinese"
|
||||
LGRPID_THAI+LGRPID_RES_BASE "Thai"
|
||||
LGRPID_HEBREW+LGRPID_RES_BASE "Hebrew"
|
||||
LGRPID_ARABIC+LGRPID_RES_BASE "Arabic"
|
||||
LGRPID_VIETNAMESE+LGRPID_RES_BASE "Vietnamese"
|
||||
LGRPID_INDIC+LGRPID_RES_BASE "Indic"
|
||||
LGRPID_GEORGIAN+LGRPID_RES_BASE "Georgian"
|
||||
LGRPID_ARMENIAN+LGRPID_RES_BASE "Armenian"
|
||||
}
|
||||
/*
|
||||
* Locale definitions for Japanese
|
||||
*
|
||||
* Copyright 2002 Alexandre Julliard for CodeWeavers
|
||||
*
|
||||
* This library is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU Lesser General Public
|
||||
* License as published by the Free Software Foundation; either
|
||||
* version 2.1 of the License, or (at your option) any later version.
|
||||
*
|
||||
* This library 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
|
||||
* Lesser General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Lesser General Public
|
||||
* License along with this library; if not, write to the Free Software
|
||||
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
|
||||
*/
|
||||
|
||||
#pragma code_page(932)
|
||||
|
||||
STRINGTABLE LANGUAGE LANG_JAPANESE, SUBLANG_DEFAULT
|
||||
{
|
||||
LOCALE_FONTSIGNATURE L"\x0283\x8000\x6cf8\x38c7\x0010\x0000\x0000\x0000\x0000\x0002\x0000\x0000\x0000\x0002\x0000\x0000"
|
||||
LOCALE_ICALENDARTYPE "1"
|
||||
LOCALE_ICENTURY "1"
|
||||
LOCALE_ICOUNTRY "81"
|
||||
LOCALE_ICURRDIGITS "0"
|
||||
LOCALE_ICURRENCY "0"
|
||||
LOCALE_IDATE "2"
|
||||
LOCALE_IDAYLZERO "1"
|
||||
LOCALE_IDEFAULTANSICODEPAGE "932"
|
||||
LOCALE_IDEFAULTCODEPAGE "932"
|
||||
LOCALE_IDEFAULTCOUNTRY "81"
|
||||
LOCALE_IDEFAULTEBCDICCODEPAGE "20290"
|
||||
LOCALE_IDEFAULTLANGUAGE "0411"
|
||||
LOCALE_IDEFAULTMACCODEPAGE "10001"
|
||||
LOCALE_IDEFAULTUNIXCODEPAGE "20932"
|
||||
LOCALE_IDIGITS "2"
|
||||
LOCALE_IDIGITSUBSTITUTION "1"
|
||||
LOCALE_IFIRSTDAYOFWEEK "6"
|
||||
LOCALE_IFIRSTWEEKOFYEAR "0"
|
||||
LOCALE_IINTLCURRDIGITS "2"
|
||||
LOCALE_ILANGUAGE "0411"
|
||||
LOCALE_ILDATE "2"
|
||||
LOCALE_ILZERO "1"
|
||||
LOCALE_IMEASURE "0"
|
||||
LOCALE_IMONLZERO "1"
|
||||
LOCALE_INEGCURR "1"
|
||||
LOCALE_INEGNUMBER "1"
|
||||
LOCALE_INEGSEPBYSPACE "0"
|
||||
LOCALE_INEGSIGNPOSN "3"
|
||||
LOCALE_INEGSYMPRECEDES "1"
|
||||
LOCALE_IOPTIONALCALENDAR "3"
|
||||
LOCALE_IPAPERSIZE "9"
|
||||
LOCALE_IPOSSEPBYSPACE "0"
|
||||
LOCALE_IPOSSIGNPOSN "3"
|
||||
LOCALE_IPOSSYMPRECEDES "1"
|
||||
LOCALE_ITIME "1"
|
||||
LOCALE_ITIMEMARKPOSN "0"
|
||||
LOCALE_ITLZERO "0"
|
||||
LOCALE_S1159 "午前"
|
||||
LOCALE_S2359 "午後"
|
||||
LOCALE_SABBREVCTRYNAME "JPN"
|
||||
LOCALE_SABBREVDAYNAME1 "月"
|
||||
LOCALE_SABBREVDAYNAME2 "火"
|
||||
LOCALE_SABBREVDAYNAME3 "水"
|
||||
LOCALE_SABBREVDAYNAME4 "木"
|
||||
LOCALE_SABBREVDAYNAME5 "金"
|
||||
LOCALE_SABBREVDAYNAME6 "土"
|
||||
LOCALE_SABBREVDAYNAME7 "日"
|
||||
LOCALE_SABBREVLANGNAME "JPN"
|
||||
LOCALE_SABBREVMONTHNAME1 "1"
|
||||
LOCALE_SABBREVMONTHNAME2 "2"
|
||||
LOCALE_SABBREVMONTHNAME3 "3"
|
||||
LOCALE_SABBREVMONTHNAME4 "4"
|
||||
LOCALE_SABBREVMONTHNAME5 "5"
|
||||
LOCALE_SABBREVMONTHNAME6 "6"
|
||||
LOCALE_SABBREVMONTHNAME7 "7"
|
||||
LOCALE_SABBREVMONTHNAME8 "8"
|
||||
LOCALE_SABBREVMONTHNAME9 "9"
|
||||
LOCALE_SABBREVMONTHNAME10 "10"
|
||||
LOCALE_SABBREVMONTHNAME11 "11"
|
||||
LOCALE_SABBREVMONTHNAME12 "12"
|
||||
LOCALE_SABBREVMONTHNAME13 ""
|
||||
LOCALE_SCOUNTRY "Japan"
|
||||
LOCALE_SCURRENCY L"\x00a5"
|
||||
LOCALE_SDATE "/"
|
||||
LOCALE_SDAYNAME1 "月曜日"
|
||||
LOCALE_SDAYNAME2 "火曜日"
|
||||
LOCALE_SDAYNAME3 "水曜日"
|
||||
LOCALE_SDAYNAME4 "木曜日"
|
||||
LOCALE_SDAYNAME5 "金曜日"
|
||||
LOCALE_SDAYNAME6 "土曜日"
|
||||
LOCALE_SDAYNAME7 "日曜日"
|
||||
LOCALE_SDECIMAL "."
|
||||
LOCALE_SENGCOUNTRY "Japan"
|
||||
LOCALE_SENGCURRNAME "Japanese Yen"
|
||||
LOCALE_SENGLANGUAGE "Japanese"
|
||||
LOCALE_SGROUPING "3;0"
|
||||
LOCALE_SINTLSYMBOL "JPY"
|
||||
LOCALE_SISO3166CTRYNAME "JP"
|
||||
LOCALE_SISO639LANGNAME "ja"
|
||||
LOCALE_SLANGUAGE "Japanese"
|
||||
LOCALE_SLIST ","
|
||||
LOCALE_SLONGDATE "yyyy'年'M'月'd'日'"
|
||||
LOCALE_SMONDECIMALSEP "."
|
||||
LOCALE_SMONGROUPING "3;0"
|
||||
LOCALE_SMONTHNAME1 "1月"
|
||||
LOCALE_SMONTHNAME2 "2月"
|
||||
LOCALE_SMONTHNAME3 "3月"
|
||||
LOCALE_SMONTHNAME4 "4月"
|
||||
LOCALE_SMONTHNAME5 "5月"
|
||||
LOCALE_SMONTHNAME6 "6月"
|
||||
LOCALE_SMONTHNAME7 "7月"
|
||||
LOCALE_SMONTHNAME8 "8月"
|
||||
LOCALE_SMONTHNAME9 "9月"
|
||||
LOCALE_SMONTHNAME10 "10月"
|
||||
LOCALE_SMONTHNAME11 "11月"
|
||||
LOCALE_SMONTHNAME12 "12月"
|
||||
LOCALE_SMONTHNAME13 ""
|
||||
LOCALE_SMONTHOUSANDSEP ","
|
||||
LOCALE_SNAME "ja-JP"
|
||||
LOCALE_SNATIVECTRYNAME "日本"
|
||||
LOCALE_SNATIVECURRNAME "円"
|
||||
LOCALE_SNATIVEDIGITS "0123456789"
|
||||
LOCALE_SNATIVELANGNAME "日本語"
|
||||
LOCALE_SNEGATIVESIGN "-"
|
||||
LOCALE_SPOSITIVESIGN ""
|
||||
LOCALE_SSCRIPTS "Hani;Hira;Kana;"
|
||||
LOCALE_SSHORTDATE "yyyy/MM/dd"
|
||||
LOCALE_SSORTNAME "XJIS"
|
||||
LOCALE_STHOUSAND ","
|
||||
LOCALE_STIME ":"
|
||||
LOCALE_STIMEFORMAT "H:mm:ss"
|
||||
LOCALE_SYEARMONTH "yyyy'年'M'月'"
|
||||
|
||||
LGRPID_WESTERN_EUROPE+LGRPID_RES_BASE "Western Europe and United States"
|
||||
LGRPID_CENTRAL_EUROPE+LGRPID_RES_BASE "Central Europe"
|
||||
LGRPID_BALTIC+LGRPID_RES_BASE "Baltic"
|
||||
LGRPID_GREEK+LGRPID_RES_BASE "Greek"
|
||||
LGRPID_CYRILLIC+LGRPID_RES_BASE "Cyrillic"
|
||||
LGRPID_TURKISH+LGRPID_RES_BASE "Turkic"
|
||||
LGRPID_JAPANESE+LGRPID_RES_BASE "Japanese"
|
||||
LGRPID_KOREAN+LGRPID_RES_BASE "Korean"
|
||||
LGRPID_TRADITIONAL_CHINESE+LGRPID_RES_BASE "Traditional Chinese"
|
||||
LGRPID_SIMPLIFIED_CHINESE+LGRPID_RES_BASE "Simplified Chinese"
|
||||
LGRPID_THAI+LGRPID_RES_BASE "Thai"
|
||||
LGRPID_HEBREW+LGRPID_RES_BASE "Hebrew"
|
||||
LGRPID_ARABIC+LGRPID_RES_BASE "Arabic"
|
||||
LGRPID_VIETNAMESE+LGRPID_RES_BASE "Vietnamese"
|
||||
LGRPID_INDIC+LGRPID_RES_BASE "Indic"
|
||||
LGRPID_GEORGIAN+LGRPID_RES_BASE "Georgian"
|
||||
LGRPID_ARMENIAN+LGRPID_RES_BASE "Armenian"
|
||||
}
|
||||
|
||||
@@ -1,156 +1,156 @@
|
||||
/*
|
||||
* Locale definitions for Korean
|
||||
*
|
||||
* Copyright 2002 Alexandre Julliard for CodeWeavers
|
||||
*
|
||||
* This library is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU Lesser General Public
|
||||
* License as published by the Free Software Foundation; either
|
||||
* version 2.1 of the License, or (at your option) any later version.
|
||||
*
|
||||
* This library 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
|
||||
* Lesser General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Lesser General Public
|
||||
* License along with this library; if not, write to the Free Software
|
||||
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
|
||||
*/
|
||||
|
||||
#pragma code_page(949)
|
||||
|
||||
STRINGTABLE LANGUAGE LANG_KOREAN, SUBLANG_KOREAN
|
||||
{
|
||||
LOCALE_FONTSIGNATURE L"\x02a7\x8000\x7cf9\x39d7\x0010\x0000\x0000\x0000\x0000\x0008\x0000\x0000\x0000\x0008\x0000\x0000"
|
||||
LOCALE_ICALENDARTYPE "1"
|
||||
LOCALE_ICENTURY "1"
|
||||
LOCALE_ICOUNTRY "82"
|
||||
LOCALE_ICURRDIGITS "0"
|
||||
LOCALE_ICURRENCY "0"
|
||||
LOCALE_IDATE "2"
|
||||
LOCALE_IDAYLZERO "1"
|
||||
LOCALE_IDEFAULTANSICODEPAGE "949"
|
||||
LOCALE_IDEFAULTCODEPAGE "949"
|
||||
LOCALE_IDEFAULTCOUNTRY "82"
|
||||
LOCALE_IDEFAULTEBCDICCODEPAGE "20833"
|
||||
LOCALE_IDEFAULTLANGUAGE "0412"
|
||||
LOCALE_IDEFAULTMACCODEPAGE "10003"
|
||||
LOCALE_IDEFAULTUNIXCODEPAGE "949"
|
||||
LOCALE_IDIGITS "2"
|
||||
LOCALE_IDIGITSUBSTITUTION "1"
|
||||
LOCALE_IFIRSTDAYOFWEEK "6"
|
||||
LOCALE_IFIRSTWEEKOFYEAR "0"
|
||||
LOCALE_IINTLCURRDIGITS "2"
|
||||
LOCALE_ILANGUAGE "0412"
|
||||
LOCALE_ILDATE "2"
|
||||
LOCALE_ILZERO "1"
|
||||
LOCALE_IMEASURE "0"
|
||||
LOCALE_IMONLZERO "1"
|
||||
LOCALE_INEGCURR "1"
|
||||
LOCALE_INEGNUMBER "1"
|
||||
LOCALE_INEGSEPBYSPACE "0"
|
||||
LOCALE_INEGSIGNPOSN "3"
|
||||
LOCALE_INEGSYMPRECEDES "1"
|
||||
LOCALE_IOPTIONALCALENDAR "5"
|
||||
LOCALE_IPAPERSIZE "9"
|
||||
LOCALE_IPOSSEPBYSPACE "0"
|
||||
LOCALE_IPOSSIGNPOSN "3"
|
||||
LOCALE_IPOSSYMPRECEDES "1"
|
||||
LOCALE_ITIME "0"
|
||||
LOCALE_ITIMEMARKPOSN "1"
|
||||
LOCALE_ITLZERO "0"
|
||||
LOCALE_S1159 "오전"
|
||||
LOCALE_S2359 "오후"
|
||||
LOCALE_SABBREVCTRYNAME "KOR"
|
||||
LOCALE_SABBREVDAYNAME1 "월"
|
||||
LOCALE_SABBREVDAYNAME2 "화"
|
||||
LOCALE_SABBREVDAYNAME3 "수"
|
||||
LOCALE_SABBREVDAYNAME4 "목"
|
||||
LOCALE_SABBREVDAYNAME5 "금"
|
||||
LOCALE_SABBREVDAYNAME6 "토"
|
||||
LOCALE_SABBREVDAYNAME7 "일"
|
||||
LOCALE_SABBREVLANGNAME "KOR"
|
||||
LOCALE_SABBREVMONTHNAME1 "1"
|
||||
LOCALE_SABBREVMONTHNAME2 "2"
|
||||
LOCALE_SABBREVMONTHNAME3 "3"
|
||||
LOCALE_SABBREVMONTHNAME4 "4"
|
||||
LOCALE_SABBREVMONTHNAME5 "5"
|
||||
LOCALE_SABBREVMONTHNAME6 "6"
|
||||
LOCALE_SABBREVMONTHNAME7 "7"
|
||||
LOCALE_SABBREVMONTHNAME8 "8"
|
||||
LOCALE_SABBREVMONTHNAME9 "9"
|
||||
LOCALE_SABBREVMONTHNAME10 "10"
|
||||
LOCALE_SABBREVMONTHNAME11 "11"
|
||||
LOCALE_SABBREVMONTHNAME12 "12"
|
||||
LOCALE_SABBREVMONTHNAME13 ""
|
||||
LOCALE_SCOUNTRY "Korea"
|
||||
LOCALE_SCURRENCY L"\x20a9"
|
||||
LOCALE_SDATE "-"
|
||||
LOCALE_SDAYNAME1 "월요일"
|
||||
LOCALE_SDAYNAME2 "화요일"
|
||||
LOCALE_SDAYNAME3 "수요일"
|
||||
LOCALE_SDAYNAME4 "목요일"
|
||||
LOCALE_SDAYNAME5 "금요일"
|
||||
LOCALE_SDAYNAME6 "토요일"
|
||||
LOCALE_SDAYNAME7 "일요일"
|
||||
LOCALE_SDECIMAL "."
|
||||
LOCALE_SENGCOUNTRY "Korea"
|
||||
LOCALE_SENGCURRNAME "Korean Won"
|
||||
LOCALE_SENGLANGUAGE "Korean"
|
||||
LOCALE_SGROUPING "3;0"
|
||||
LOCALE_SINTLSYMBOL "KRW"
|
||||
LOCALE_SISO3166CTRYNAME "KR"
|
||||
LOCALE_SISO639LANGNAME "ko"
|
||||
LOCALE_SLANGUAGE "Korean"
|
||||
LOCALE_SLIST ","
|
||||
LOCALE_SLONGDATE "yyyy'년' M'월' d'일' dddd"
|
||||
LOCALE_SMONDECIMALSEP "."
|
||||
LOCALE_SMONGROUPING "3;0"
|
||||
LOCALE_SMONTHNAME1 "1월"
|
||||
LOCALE_SMONTHNAME2 "2월"
|
||||
LOCALE_SMONTHNAME3 "3월"
|
||||
LOCALE_SMONTHNAME4 "4월"
|
||||
LOCALE_SMONTHNAME5 "5월"
|
||||
LOCALE_SMONTHNAME6 "6월"
|
||||
LOCALE_SMONTHNAME7 "7월"
|
||||
LOCALE_SMONTHNAME8 "8월"
|
||||
LOCALE_SMONTHNAME9 "9월"
|
||||
LOCALE_SMONTHNAME10 "10월"
|
||||
LOCALE_SMONTHNAME11 "11월"
|
||||
LOCALE_SMONTHNAME12 "12월"
|
||||
LOCALE_SMONTHNAME13 ""
|
||||
LOCALE_SMONTHOUSANDSEP ","
|
||||
LOCALE_SNAME "ko-KR"
|
||||
LOCALE_SNATIVECTRYNAME "대한민국"
|
||||
LOCALE_SNATIVECURRNAME "원"
|
||||
LOCALE_SNATIVEDIGITS "0123456789"
|
||||
LOCALE_SNATIVELANGNAME "한국어"
|
||||
LOCALE_SNEGATIVESIGN "-"
|
||||
LOCALE_SPOSITIVESIGN ""
|
||||
LOCALE_SSCRIPTS "Hang;Hani;"
|
||||
LOCALE_SSHORTDATE "yyyy-MM-dd"
|
||||
LOCALE_SSORTNAME "Dictionary"
|
||||
LOCALE_STHOUSAND ","
|
||||
LOCALE_STIME ":"
|
||||
LOCALE_STIMEFORMAT "tt h:mm:ss"
|
||||
LOCALE_SYEARMONTH "yyyy'년' M'월'"
|
||||
|
||||
LGRPID_WESTERN_EUROPE+LGRPID_RES_BASE "Western Europe and United States"
|
||||
LGRPID_CENTRAL_EUROPE+LGRPID_RES_BASE "Central Europe"
|
||||
LGRPID_BALTIC+LGRPID_RES_BASE "Baltic"
|
||||
LGRPID_GREEK+LGRPID_RES_BASE "Greek"
|
||||
LGRPID_CYRILLIC+LGRPID_RES_BASE "Cyrillic"
|
||||
LGRPID_TURKISH+LGRPID_RES_BASE "Turkic"
|
||||
LGRPID_JAPANESE+LGRPID_RES_BASE "Japanese"
|
||||
LGRPID_KOREAN+LGRPID_RES_BASE "Korean"
|
||||
LGRPID_TRADITIONAL_CHINESE+LGRPID_RES_BASE "Traditional Chinese"
|
||||
LGRPID_SIMPLIFIED_CHINESE+LGRPID_RES_BASE "Simplified Chinese"
|
||||
LGRPID_THAI+LGRPID_RES_BASE "Thai"
|
||||
LGRPID_HEBREW+LGRPID_RES_BASE "Hebrew"
|
||||
LGRPID_ARABIC+LGRPID_RES_BASE "Arabic"
|
||||
LGRPID_VIETNAMESE+LGRPID_RES_BASE "Vietnamese"
|
||||
LGRPID_INDIC+LGRPID_RES_BASE "Indic"
|
||||
LGRPID_GEORGIAN+LGRPID_RES_BASE "Georgian"
|
||||
LGRPID_ARMENIAN+LGRPID_RES_BASE "Armenian"
|
||||
}
|
||||
/*
|
||||
* Locale definitions for Korean
|
||||
*
|
||||
* Copyright 2002 Alexandre Julliard for CodeWeavers
|
||||
*
|
||||
* This library is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU Lesser General Public
|
||||
* License as published by the Free Software Foundation; either
|
||||
* version 2.1 of the License, or (at your option) any later version.
|
||||
*
|
||||
* This library 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
|
||||
* Lesser General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Lesser General Public
|
||||
* License along with this library; if not, write to the Free Software
|
||||
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
|
||||
*/
|
||||
|
||||
#pragma code_page(949)
|
||||
|
||||
STRINGTABLE LANGUAGE LANG_KOREAN, SUBLANG_KOREAN
|
||||
{
|
||||
LOCALE_FONTSIGNATURE L"\x02a7\x8000\x7cf9\x39d7\x0010\x0000\x0000\x0000\x0000\x0008\x0000\x0000\x0000\x0008\x0000\x0000"
|
||||
LOCALE_ICALENDARTYPE "1"
|
||||
LOCALE_ICENTURY "1"
|
||||
LOCALE_ICOUNTRY "82"
|
||||
LOCALE_ICURRDIGITS "0"
|
||||
LOCALE_ICURRENCY "0"
|
||||
LOCALE_IDATE "2"
|
||||
LOCALE_IDAYLZERO "1"
|
||||
LOCALE_IDEFAULTANSICODEPAGE "949"
|
||||
LOCALE_IDEFAULTCODEPAGE "949"
|
||||
LOCALE_IDEFAULTCOUNTRY "82"
|
||||
LOCALE_IDEFAULTEBCDICCODEPAGE "20833"
|
||||
LOCALE_IDEFAULTLANGUAGE "0412"
|
||||
LOCALE_IDEFAULTMACCODEPAGE "10003"
|
||||
LOCALE_IDEFAULTUNIXCODEPAGE "949"
|
||||
LOCALE_IDIGITS "2"
|
||||
LOCALE_IDIGITSUBSTITUTION "1"
|
||||
LOCALE_IFIRSTDAYOFWEEK "6"
|
||||
LOCALE_IFIRSTWEEKOFYEAR "0"
|
||||
LOCALE_IINTLCURRDIGITS "2"
|
||||
LOCALE_ILANGUAGE "0412"
|
||||
LOCALE_ILDATE "2"
|
||||
LOCALE_ILZERO "1"
|
||||
LOCALE_IMEASURE "0"
|
||||
LOCALE_IMONLZERO "1"
|
||||
LOCALE_INEGCURR "1"
|
||||
LOCALE_INEGNUMBER "1"
|
||||
LOCALE_INEGSEPBYSPACE "0"
|
||||
LOCALE_INEGSIGNPOSN "3"
|
||||
LOCALE_INEGSYMPRECEDES "1"
|
||||
LOCALE_IOPTIONALCALENDAR "5"
|
||||
LOCALE_IPAPERSIZE "9"
|
||||
LOCALE_IPOSSEPBYSPACE "0"
|
||||
LOCALE_IPOSSIGNPOSN "3"
|
||||
LOCALE_IPOSSYMPRECEDES "1"
|
||||
LOCALE_ITIME "0"
|
||||
LOCALE_ITIMEMARKPOSN "1"
|
||||
LOCALE_ITLZERO "0"
|
||||
LOCALE_S1159 "오전"
|
||||
LOCALE_S2359 "오후"
|
||||
LOCALE_SABBREVCTRYNAME "KOR"
|
||||
LOCALE_SABBREVDAYNAME1 "월"
|
||||
LOCALE_SABBREVDAYNAME2 "화"
|
||||
LOCALE_SABBREVDAYNAME3 "수"
|
||||
LOCALE_SABBREVDAYNAME4 "목"
|
||||
LOCALE_SABBREVDAYNAME5 "금"
|
||||
LOCALE_SABBREVDAYNAME6 "토"
|
||||
LOCALE_SABBREVDAYNAME7 "일"
|
||||
LOCALE_SABBREVLANGNAME "KOR"
|
||||
LOCALE_SABBREVMONTHNAME1 "1"
|
||||
LOCALE_SABBREVMONTHNAME2 "2"
|
||||
LOCALE_SABBREVMONTHNAME3 "3"
|
||||
LOCALE_SABBREVMONTHNAME4 "4"
|
||||
LOCALE_SABBREVMONTHNAME5 "5"
|
||||
LOCALE_SABBREVMONTHNAME6 "6"
|
||||
LOCALE_SABBREVMONTHNAME7 "7"
|
||||
LOCALE_SABBREVMONTHNAME8 "8"
|
||||
LOCALE_SABBREVMONTHNAME9 "9"
|
||||
LOCALE_SABBREVMONTHNAME10 "10"
|
||||
LOCALE_SABBREVMONTHNAME11 "11"
|
||||
LOCALE_SABBREVMONTHNAME12 "12"
|
||||
LOCALE_SABBREVMONTHNAME13 ""
|
||||
LOCALE_SCOUNTRY "Korea"
|
||||
LOCALE_SCURRENCY L"\x20a9"
|
||||
LOCALE_SDATE "-"
|
||||
LOCALE_SDAYNAME1 "월요일"
|
||||
LOCALE_SDAYNAME2 "화요일"
|
||||
LOCALE_SDAYNAME3 "수요일"
|
||||
LOCALE_SDAYNAME4 "목요일"
|
||||
LOCALE_SDAYNAME5 "금요일"
|
||||
LOCALE_SDAYNAME6 "토요일"
|
||||
LOCALE_SDAYNAME7 "일요일"
|
||||
LOCALE_SDECIMAL "."
|
||||
LOCALE_SENGCOUNTRY "Korea"
|
||||
LOCALE_SENGCURRNAME "Korean Won"
|
||||
LOCALE_SENGLANGUAGE "Korean"
|
||||
LOCALE_SGROUPING "3;0"
|
||||
LOCALE_SINTLSYMBOL "KRW"
|
||||
LOCALE_SISO3166CTRYNAME "KR"
|
||||
LOCALE_SISO639LANGNAME "ko"
|
||||
LOCALE_SLANGUAGE "Korean"
|
||||
LOCALE_SLIST ","
|
||||
LOCALE_SLONGDATE "yyyy'년' M'월' d'일' dddd"
|
||||
LOCALE_SMONDECIMALSEP "."
|
||||
LOCALE_SMONGROUPING "3;0"
|
||||
LOCALE_SMONTHNAME1 "1월"
|
||||
LOCALE_SMONTHNAME2 "2월"
|
||||
LOCALE_SMONTHNAME3 "3월"
|
||||
LOCALE_SMONTHNAME4 "4월"
|
||||
LOCALE_SMONTHNAME5 "5월"
|
||||
LOCALE_SMONTHNAME6 "6월"
|
||||
LOCALE_SMONTHNAME7 "7월"
|
||||
LOCALE_SMONTHNAME8 "8월"
|
||||
LOCALE_SMONTHNAME9 "9월"
|
||||
LOCALE_SMONTHNAME10 "10월"
|
||||
LOCALE_SMONTHNAME11 "11월"
|
||||
LOCALE_SMONTHNAME12 "12월"
|
||||
LOCALE_SMONTHNAME13 ""
|
||||
LOCALE_SMONTHOUSANDSEP ","
|
||||
LOCALE_SNAME "ko-KR"
|
||||
LOCALE_SNATIVECTRYNAME "대한민국"
|
||||
LOCALE_SNATIVECURRNAME "원"
|
||||
LOCALE_SNATIVEDIGITS "0123456789"
|
||||
LOCALE_SNATIVELANGNAME "한국어"
|
||||
LOCALE_SNEGATIVESIGN "-"
|
||||
LOCALE_SPOSITIVESIGN ""
|
||||
LOCALE_SSCRIPTS "Hang;Hani;"
|
||||
LOCALE_SSHORTDATE "yyyy-MM-dd"
|
||||
LOCALE_SSORTNAME "Dictionary"
|
||||
LOCALE_STHOUSAND ","
|
||||
LOCALE_STIME ":"
|
||||
LOCALE_STIMEFORMAT "tt h:mm:ss"
|
||||
LOCALE_SYEARMONTH "yyyy'년' M'월'"
|
||||
|
||||
LGRPID_WESTERN_EUROPE+LGRPID_RES_BASE "Western Europe and United States"
|
||||
LGRPID_CENTRAL_EUROPE+LGRPID_RES_BASE "Central Europe"
|
||||
LGRPID_BALTIC+LGRPID_RES_BASE "Baltic"
|
||||
LGRPID_GREEK+LGRPID_RES_BASE "Greek"
|
||||
LGRPID_CYRILLIC+LGRPID_RES_BASE "Cyrillic"
|
||||
LGRPID_TURKISH+LGRPID_RES_BASE "Turkic"
|
||||
LGRPID_JAPANESE+LGRPID_RES_BASE "Japanese"
|
||||
LGRPID_KOREAN+LGRPID_RES_BASE "Korean"
|
||||
LGRPID_TRADITIONAL_CHINESE+LGRPID_RES_BASE "Traditional Chinese"
|
||||
LGRPID_SIMPLIFIED_CHINESE+LGRPID_RES_BASE "Simplified Chinese"
|
||||
LGRPID_THAI+LGRPID_RES_BASE "Thai"
|
||||
LGRPID_HEBREW+LGRPID_RES_BASE "Hebrew"
|
||||
LGRPID_ARABIC+LGRPID_RES_BASE "Arabic"
|
||||
LGRPID_VIETNAMESE+LGRPID_RES_BASE "Vietnamese"
|
||||
LGRPID_INDIC+LGRPID_RES_BASE "Indic"
|
||||
LGRPID_GEORGIAN+LGRPID_RES_BASE "Georgian"
|
||||
LGRPID_ARMENIAN+LGRPID_RES_BASE "Armenian"
|
||||
}
|
||||
|
||||
@@ -1,64 +1,64 @@
|
||||
Index: msacm_Uk.rc
|
||||
===================================================================
|
||||
--- msacm_Uk.rc (revision 25687)
|
||||
+++ msacm_Uk.rc (working copy)
|
||||
@@ -0,0 +1,44 @@
|
||||
+/*
|
||||
+ * PROJECT: OLE User Interface Support
|
||||
+ * LICENSE: GPL - See COPYING in the top level directory
|
||||
+ * FILE: dll/win32/msacm/msacm_Uk.rc
|
||||
+ * PURPOSE: Ukraianian resource file for MS ACM
|
||||
+ * TRANSLATOR: Artem Reznikov
|
||||
+ */
|
||||
+
|
||||
+LANGUAGE LANG_UKRAINIAN, SUBLANG_DEFAULT
|
||||
+
|
||||
+DLG_ACMFORMATCHOOSE_ID DIALOG DISCARDABLE 10, 20, 225, 100
|
||||
+STYLE DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
|
||||
+CAPTION "Sound Selection"
|
||||
+FONT 8, "MS Shell Dlg"
|
||||
+BEGIN
|
||||
+
|
||||
+ LTEXT "&²ì'ÿ:", -1, 5, 5, 115, 8, NOT WS_GROUP
|
||||
+
|
||||
+ COMBOBOX IDD_ACMFORMATCHOOSE_CMB_CUSTOM, 5, 15, 115, 60,
|
||||
+ CBS_DROPDOWNLIST | CBS_SORT | WS_VSCROLL | WS_TABSTOP
|
||||
+
|
||||
+ PUSHBUTTON "Çáåðåãòè &ÿê...", IDD_ACMFORMATCHOOSE_BTN_SETNAME, 125, 14, 45, 14
|
||||
+ PUSHBUTTON "&Âèäàëèòè", IDD_ACMFORMATCHOOSE_BTN_DELNAME, 175, 14, 45, 14
|
||||
+
|
||||
+ LTEXT "&Ôîðìàò:", -1, 5, 41, 44, 8, NOT WS_GROUP
|
||||
+
|
||||
+ COMBOBOX IDD_ACMFORMATCHOOSE_CMB_FORMATTAG, 50, 39, 170, 60,
|
||||
+ CBS_DROPDOWNLIST | CBS_SORT | WS_VSCROLL | WS_TABSTOP
|
||||
+
|
||||
+ LTEXT "&Âëàñòèâîñò³:", -1, 5, 59, 44, 8, NOT WS_GROUP
|
||||
+
|
||||
+#if 0
|
||||
+ COMBOBOX IDD_ACMFORMATCHOOSE_CMB_FORMAT, 50, 57, 170, 60,
|
||||
+ CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP |
|
||||
+ CBS_OWNERDRAWFIXED | CBS_HASSTRINGS
|
||||
+#else
|
||||
+ COMBOBOX IDD_ACMFORMATCHOOSE_CMB_FORMAT, 50, 57, 170, 60,
|
||||
+ CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP
|
||||
+#endif
|
||||
+ DEFPUSHBUTTON "OK", IDOK, 48, 80, 40, 14
|
||||
+ PUSHBUTTON "Ñêàñóâàòè", IDCANCEL, 92, 80, 40, 14
|
||||
+ PUSHBUTTON "&Äîâ³äêà", IDD_ACMFORMATCHOOSE_BTN_HELP, 136, 80, 40, 14
|
||||
+
|
||||
+END
|
||||
|
||||
Property changes on: msacm_Uk.rc
|
||||
___________________________________________________________________
|
||||
Name: svn:eol-style
|
||||
+ native
|
||||
|
||||
Index: msacm.rc
|
||||
===================================================================
|
||||
--- msacm.rc (revision 25687)
|
||||
+++ msacm.rc (working copy)
|
||||
@@ -34,3 +34,4 @@
|
||||
#include "msacm_Ru.rc"
|
||||
#include "msacm_Sv.rc"
|
||||
#include "msacm_Hu.rc"
|
||||
+#include "msacm_Uk.rc"
|
||||
Index: msacm_Uk.rc
|
||||
===================================================================
|
||||
--- msacm_Uk.rc (revision 25687)
|
||||
+++ msacm_Uk.rc (working copy)
|
||||
@@ -0,0 +1,44 @@
|
||||
+/*
|
||||
+ * PROJECT: OLE User Interface Support
|
||||
+ * LICENSE: GPL - See COPYING in the top level directory
|
||||
+ * FILE: dll/win32/msacm/msacm_Uk.rc
|
||||
+ * PURPOSE: Ukraianian resource file for MS ACM
|
||||
+ * TRANSLATOR: Artem Reznikov
|
||||
+ */
|
||||
+
|
||||
+LANGUAGE LANG_UKRAINIAN, SUBLANG_DEFAULT
|
||||
+
|
||||
+DLG_ACMFORMATCHOOSE_ID DIALOG DISCARDABLE 10, 20, 225, 100
|
||||
+STYLE DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
|
||||
+CAPTION "Sound Selection"
|
||||
+FONT 8, "MS Shell Dlg"
|
||||
+BEGIN
|
||||
+
|
||||
+ LTEXT "&²ì'ÿ:", -1, 5, 5, 115, 8, NOT WS_GROUP
|
||||
+
|
||||
+ COMBOBOX IDD_ACMFORMATCHOOSE_CMB_CUSTOM, 5, 15, 115, 60,
|
||||
+ CBS_DROPDOWNLIST | CBS_SORT | WS_VSCROLL | WS_TABSTOP
|
||||
+
|
||||
+ PUSHBUTTON "Çáåðåãòè &ÿê...", IDD_ACMFORMATCHOOSE_BTN_SETNAME, 125, 14, 45, 14
|
||||
+ PUSHBUTTON "&Âèäàëèòè", IDD_ACMFORMATCHOOSE_BTN_DELNAME, 175, 14, 45, 14
|
||||
+
|
||||
+ LTEXT "&Ôîðìàò:", -1, 5, 41, 44, 8, NOT WS_GROUP
|
||||
+
|
||||
+ COMBOBOX IDD_ACMFORMATCHOOSE_CMB_FORMATTAG, 50, 39, 170, 60,
|
||||
+ CBS_DROPDOWNLIST | CBS_SORT | WS_VSCROLL | WS_TABSTOP
|
||||
+
|
||||
+ LTEXT "&Âëàñòèâîñò³:", -1, 5, 59, 44, 8, NOT WS_GROUP
|
||||
+
|
||||
+#if 0
|
||||
+ COMBOBOX IDD_ACMFORMATCHOOSE_CMB_FORMAT, 50, 57, 170, 60,
|
||||
+ CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP |
|
||||
+ CBS_OWNERDRAWFIXED | CBS_HASSTRINGS
|
||||
+#else
|
||||
+ COMBOBOX IDD_ACMFORMATCHOOSE_CMB_FORMAT, 50, 57, 170, 60,
|
||||
+ CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP
|
||||
+#endif
|
||||
+ DEFPUSHBUTTON "OK", IDOK, 48, 80, 40, 14
|
||||
+ PUSHBUTTON "Ñêàñóâàòè", IDCANCEL, 92, 80, 40, 14
|
||||
+ PUSHBUTTON "&Äîâ³äêà", IDD_ACMFORMATCHOOSE_BTN_HELP, 136, 80, 40, 14
|
||||
+
|
||||
+END
|
||||
|
||||
Property changes on: msacm_Uk.rc
|
||||
___________________________________________________________________
|
||||
Name: svn:eol-style
|
||||
+ native
|
||||
|
||||
Index: msacm.rc
|
||||
===================================================================
|
||||
--- msacm.rc (revision 25687)
|
||||
+++ msacm.rc (working copy)
|
||||
@@ -34,3 +34,4 @@
|
||||
#include "msacm_Ru.rc"
|
||||
#include "msacm_Sv.rc"
|
||||
#include "msacm_Hu.rc"
|
||||
+#include "msacm_Uk.rc"
|
||||
|
||||
@@ -1,19 +1,19 @@
|
||||
/*
|
||||
* Copyright 2008 Robert Shearman
|
||||
*
|
||||
* This library is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU Lesser General Public
|
||||
* License as published by the Free Software Foundation; either
|
||||
* version 2.1 of the License, or (at your option) any later version.
|
||||
*
|
||||
* This library 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
|
||||
* Lesser General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Lesser General Public
|
||||
* License along with this library; if not, write to the Free Software
|
||||
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
|
||||
*/
|
||||
|
||||
#include "wine/epm.idl"
|
||||
/*
|
||||
* Copyright 2008 Robert Shearman
|
||||
*
|
||||
* This library is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU Lesser General Public
|
||||
* License as published by the Free Software Foundation; either
|
||||
* version 2.1 of the License, or (at your option) any later version.
|
||||
*
|
||||
* This library 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
|
||||
* Lesser General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Lesser General Public
|
||||
* License along with this library; if not, write to the Free Software
|
||||
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
|
||||
*/
|
||||
|
||||
#include "wine/epm.idl"
|
||||
|
||||
+1310
-1310
File diff suppressed because it is too large
Load Diff
@@ -1,25 +1,25 @@
|
||||
Index: usp10.c
|
||||
===================================================================
|
||||
--- usp10.c (revision 34385)
|
||||
+++ usp10.c (working copy)
|
||||
@@ -1726,3 +1726,10 @@
|
||||
for (i = 0; i < nbchars; i++) widths[i] = glyph_width[i];
|
||||
return S_OK;
|
||||
}
|
||||
+
|
||||
+
|
||||
+VOID WINAPI LpkPresent()
|
||||
+{
|
||||
+ /* FIXME */
|
||||
+ ERR("LPK: %s is unimplemented, please try again later.\n", __FUNCTION__);
|
||||
+}
|
||||
Index: usp10.spec
|
||||
===================================================================
|
||||
--- usp10.spec (revision 34385)
|
||||
+++ usp10.spec (working copy)
|
||||
@@ -1,4 +1,4 @@
|
||||
-@ stub LpkPresent
|
||||
+@ stdcall LpkPresent()
|
||||
@ stdcall ScriptApplyDigitSubstitution(ptr ptr ptr)
|
||||
@ stub ScriptApplyLogicalWidth
|
||||
@ stdcall ScriptBreak(ptr long ptr ptr)
|
||||
Index: usp10.c
|
||||
===================================================================
|
||||
--- usp10.c (revision 34385)
|
||||
+++ usp10.c (working copy)
|
||||
@@ -1726,3 +1726,10 @@
|
||||
for (i = 0; i < nbchars; i++) widths[i] = glyph_width[i];
|
||||
return S_OK;
|
||||
}
|
||||
+
|
||||
+
|
||||
+VOID WINAPI LpkPresent()
|
||||
+{
|
||||
+ /* FIXME */
|
||||
+ ERR("LPK: %s is unimplemented, please try again later.\n", __FUNCTION__);
|
||||
+}
|
||||
Index: usp10.spec
|
||||
===================================================================
|
||||
--- usp10.spec (revision 34385)
|
||||
+++ usp10.spec (working copy)
|
||||
@@ -1,4 +1,4 @@
|
||||
-@ stub LpkPresent
|
||||
+@ stdcall LpkPresent()
|
||||
@ stdcall ScriptApplyDigitSubstitution(ptr ptr ptr)
|
||||
@ stub ScriptApplyLogicalWidth
|
||||
@ stdcall ScriptBreak(ptr long ptr ptr)
|
||||
|
||||
+133
-133
@@ -1,133 +1,133 @@
|
||||
/*
|
||||
MME User-Mode Driver Support
|
||||
(c) Andrew Greenwood, 2007.
|
||||
|
||||
This is intended for use with WINE's winmm.dll to allow it to find
|
||||
and load appropriate drivers from the correct (Windows) registry keys.
|
||||
|
||||
By default, WINE's winmm.dll will look in:
|
||||
HKEY_CURRENT_USER\Software\Wine\Drivers
|
||||
|
||||
Here it determines the driver to load based on a value called "Audio".
|
||||
|
||||
Windows NT stores a list of drivers in:
|
||||
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Drivers32
|
||||
|
||||
TODO: Handle system.ini
|
||||
*/
|
||||
|
||||
#include <windows.h>
|
||||
#include "winemm.h"
|
||||
#include "wine/debug.h"
|
||||
|
||||
WINE_DEFAULT_DEBUG_CHANNEL(winmm);
|
||||
|
||||
BOOL LoadRegistryMMEDrivers(char* key)
|
||||
{
|
||||
INT driver_count = 0;
|
||||
INT driver_index = 0;
|
||||
HKEY drivers_key;
|
||||
|
||||
DWORD value_name_length = 256;
|
||||
char value_name[value_name_length];
|
||||
|
||||
DWORD value_data_length = 256;
|
||||
char value_data[value_data_length];
|
||||
|
||||
DWORD value_type;
|
||||
|
||||
if ( RegOpenKeyA(HKEY_LOCAL_MACHINE, key, &drivers_key) != ERROR_SUCCESS )
|
||||
{
|
||||
TRACE("ERROR: Could not open: HKEY_LOCAL_MACHINE\\%s\n", key);
|
||||
return 0;
|
||||
}
|
||||
|
||||
while ( RegEnumValue(drivers_key,
|
||||
driver_index,
|
||||
value_name,
|
||||
&value_name_length,
|
||||
NULL,
|
||||
&value_type,
|
||||
(LPBYTE)value_data,
|
||||
&value_data_length) == ERROR_SUCCESS )
|
||||
{
|
||||
BOOL valid_driver = FALSE;
|
||||
BOOL is_mapper = FALSE;
|
||||
|
||||
if ( value_type == REG_SZ )
|
||||
{
|
||||
/* We look for mappers first so they don't match
|
||||
something else later on! */
|
||||
|
||||
if ( ! stricmp("wavemapper", value_name) )
|
||||
{
|
||||
TRACE("Found a Wave-mapper: %s\n", value_data);
|
||||
valid_driver = TRUE;
|
||||
is_mapper = TRUE;
|
||||
driver_count ++;
|
||||
}
|
||||
else if ( ! stricmp("midimapper", value_name) )
|
||||
{
|
||||
TRACE("Found a MIDI-mapper: %s\n", value_data);
|
||||
valid_driver = TRUE;
|
||||
is_mapper = TRUE;
|
||||
driver_count ++;
|
||||
}
|
||||
else if ( ! _strnicmp("wave", value_name, 4) )
|
||||
{
|
||||
TRACE("Found a Wave driver: %s\n", value_data);
|
||||
valid_driver = TRUE;
|
||||
driver_count ++;
|
||||
}
|
||||
else if ( ! _strnicmp("midi", value_name, 4) )
|
||||
{
|
||||
TRACE("Found a MIDI driver: %s\n", value_data);
|
||||
valid_driver = TRUE;
|
||||
driver_count ++;
|
||||
}
|
||||
else if ( ! _strnicmp("mixer", value_name, 5) )
|
||||
{
|
||||
TRACE("Found a mixer driver: %s\n", value_data);
|
||||
valid_driver = TRUE;
|
||||
driver_count ++;
|
||||
}
|
||||
else if ( ! _strnicmp("aux", value_name, 4) )
|
||||
{
|
||||
TRACE("Found an aux driver: %s\n", value_data);
|
||||
valid_driver = TRUE;
|
||||
driver_count ++;
|
||||
}
|
||||
else
|
||||
{
|
||||
TRACE("Not supported: %s\n", value_data);
|
||||
}
|
||||
|
||||
/* If we have a valid driver now, we get it "installed" in
|
||||
winmm itself so it can be used */
|
||||
|
||||
if ( valid_driver )
|
||||
{
|
||||
if ( ! MMDRV_Install(value_name, value_data, is_mapper) )
|
||||
{
|
||||
TRACE("FAILED when initializing %s\n", value_data);
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
TRACE("Invalid data format\n");
|
||||
}
|
||||
|
||||
/* Reinitialize */
|
||||
value_name_length = 256;
|
||||
value_data_length = 256;
|
||||
memset(value_name, 0, value_name_length);
|
||||
memset(value_data, 0, value_data_length);
|
||||
|
||||
driver_index ++;
|
||||
}
|
||||
|
||||
TRACE("Found a total of %d drivers\n", driver_count);
|
||||
|
||||
return driver_count;
|
||||
}
|
||||
/*
|
||||
MME User-Mode Driver Support
|
||||
(c) Andrew Greenwood, 2007.
|
||||
|
||||
This is intended for use with WINE's winmm.dll to allow it to find
|
||||
and load appropriate drivers from the correct (Windows) registry keys.
|
||||
|
||||
By default, WINE's winmm.dll will look in:
|
||||
HKEY_CURRENT_USER\Software\Wine\Drivers
|
||||
|
||||
Here it determines the driver to load based on a value called "Audio".
|
||||
|
||||
Windows NT stores a list of drivers in:
|
||||
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Drivers32
|
||||
|
||||
TODO: Handle system.ini
|
||||
*/
|
||||
|
||||
#include <windows.h>
|
||||
#include "winemm.h"
|
||||
#include "wine/debug.h"
|
||||
|
||||
WINE_DEFAULT_DEBUG_CHANNEL(winmm);
|
||||
|
||||
BOOL LoadRegistryMMEDrivers(char* key)
|
||||
{
|
||||
INT driver_count = 0;
|
||||
INT driver_index = 0;
|
||||
HKEY drivers_key;
|
||||
|
||||
DWORD value_name_length = 256;
|
||||
char value_name[value_name_length];
|
||||
|
||||
DWORD value_data_length = 256;
|
||||
char value_data[value_data_length];
|
||||
|
||||
DWORD value_type;
|
||||
|
||||
if ( RegOpenKeyA(HKEY_LOCAL_MACHINE, key, &drivers_key) != ERROR_SUCCESS )
|
||||
{
|
||||
TRACE("ERROR: Could not open: HKEY_LOCAL_MACHINE\\%s\n", key);
|
||||
return 0;
|
||||
}
|
||||
|
||||
while ( RegEnumValue(drivers_key,
|
||||
driver_index,
|
||||
value_name,
|
||||
&value_name_length,
|
||||
NULL,
|
||||
&value_type,
|
||||
(LPBYTE)value_data,
|
||||
&value_data_length) == ERROR_SUCCESS )
|
||||
{
|
||||
BOOL valid_driver = FALSE;
|
||||
BOOL is_mapper = FALSE;
|
||||
|
||||
if ( value_type == REG_SZ )
|
||||
{
|
||||
/* We look for mappers first so they don't match
|
||||
something else later on! */
|
||||
|
||||
if ( ! stricmp("wavemapper", value_name) )
|
||||
{
|
||||
TRACE("Found a Wave-mapper: %s\n", value_data);
|
||||
valid_driver = TRUE;
|
||||
is_mapper = TRUE;
|
||||
driver_count ++;
|
||||
}
|
||||
else if ( ! stricmp("midimapper", value_name) )
|
||||
{
|
||||
TRACE("Found a MIDI-mapper: %s\n", value_data);
|
||||
valid_driver = TRUE;
|
||||
is_mapper = TRUE;
|
||||
driver_count ++;
|
||||
}
|
||||
else if ( ! _strnicmp("wave", value_name, 4) )
|
||||
{
|
||||
TRACE("Found a Wave driver: %s\n", value_data);
|
||||
valid_driver = TRUE;
|
||||
driver_count ++;
|
||||
}
|
||||
else if ( ! _strnicmp("midi", value_name, 4) )
|
||||
{
|
||||
TRACE("Found a MIDI driver: %s\n", value_data);
|
||||
valid_driver = TRUE;
|
||||
driver_count ++;
|
||||
}
|
||||
else if ( ! _strnicmp("mixer", value_name, 5) )
|
||||
{
|
||||
TRACE("Found a mixer driver: %s\n", value_data);
|
||||
valid_driver = TRUE;
|
||||
driver_count ++;
|
||||
}
|
||||
else if ( ! _strnicmp("aux", value_name, 4) )
|
||||
{
|
||||
TRACE("Found an aux driver: %s\n", value_data);
|
||||
valid_driver = TRUE;
|
||||
driver_count ++;
|
||||
}
|
||||
else
|
||||
{
|
||||
TRACE("Not supported: %s\n", value_data);
|
||||
}
|
||||
|
||||
/* If we have a valid driver now, we get it "installed" in
|
||||
winmm itself so it can be used */
|
||||
|
||||
if ( valid_driver )
|
||||
{
|
||||
if ( ! MMDRV_Install(value_name, value_data, is_mapper) )
|
||||
{
|
||||
TRACE("FAILED when initializing %s\n", value_data);
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
TRACE("Invalid data format\n");
|
||||
}
|
||||
|
||||
/* Reinitialize */
|
||||
value_name_length = 256;
|
||||
value_data_length = 256;
|
||||
memset(value_name, 0, value_name_length);
|
||||
memset(value_data, 0, value_data_length);
|
||||
|
||||
driver_index ++;
|
||||
}
|
||||
|
||||
TRACE("Found a total of %d drivers\n", driver_count);
|
||||
|
||||
return driver_count;
|
||||
}
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -1,51 +1,51 @@
|
||||
#include "ntddk.h"
|
||||
#include "arc/arc.h"
|
||||
#include "halfuncs.h"
|
||||
#include "drivers/bootvid/bootvid.h"
|
||||
|
||||
/* Define if FontData has upside down characters */
|
||||
#undef CHAR_GEN_UPSIDE_DOWN
|
||||
|
||||
#define BOOTCHAR_HEIGHT 13
|
||||
|
||||
//
|
||||
// Command Stream Definitions
|
||||
//
|
||||
#define CMD_STREAM_WRITE 0x0
|
||||
#define CMD_STREAM_WRITE_ARRAY 0x2
|
||||
#define CMD_STREAM_USHORT 0x4
|
||||
#define CMD_STREAM_READ 0x8
|
||||
|
||||
//
|
||||
// Bitmap Header
|
||||
//
|
||||
typedef struct tagBITMAPINFOHEADER
|
||||
{
|
||||
ULONG biSize;
|
||||
LONG biWidth;
|
||||
LONG biHeight;
|
||||
USHORT biPlanes;
|
||||
USHORT biBitCount;
|
||||
ULONG biCompression;
|
||||
ULONG biSizeImage;
|
||||
LONG biXPelsPerMeter;
|
||||
LONG biYPelsPerMeter;
|
||||
ULONG biClrUsed;
|
||||
ULONG biClrImportant;
|
||||
} BITMAPINFOHEADER, *PBITMAPINFOHEADER;
|
||||
|
||||
VOID
|
||||
NTAPI
|
||||
InitializePalette(
|
||||
VOID
|
||||
);
|
||||
|
||||
//
|
||||
// Globals
|
||||
//
|
||||
extern USHORT AT_Initialization[];
|
||||
extern ULONG curr_x;
|
||||
extern ULONG curr_y;
|
||||
extern ULONG_PTR VgaRegisterBase;
|
||||
extern ULONG_PTR VgaBase;
|
||||
extern UCHAR FontData[256 * BOOTCHAR_HEIGHT];
|
||||
#include "ntddk.h"
|
||||
#include "arc/arc.h"
|
||||
#include "halfuncs.h"
|
||||
#include "drivers/bootvid/bootvid.h"
|
||||
|
||||
/* Define if FontData has upside down characters */
|
||||
#undef CHAR_GEN_UPSIDE_DOWN
|
||||
|
||||
#define BOOTCHAR_HEIGHT 13
|
||||
|
||||
//
|
||||
// Command Stream Definitions
|
||||
//
|
||||
#define CMD_STREAM_WRITE 0x0
|
||||
#define CMD_STREAM_WRITE_ARRAY 0x2
|
||||
#define CMD_STREAM_USHORT 0x4
|
||||
#define CMD_STREAM_READ 0x8
|
||||
|
||||
//
|
||||
// Bitmap Header
|
||||
//
|
||||
typedef struct tagBITMAPINFOHEADER
|
||||
{
|
||||
ULONG biSize;
|
||||
LONG biWidth;
|
||||
LONG biHeight;
|
||||
USHORT biPlanes;
|
||||
USHORT biBitCount;
|
||||
ULONG biCompression;
|
||||
ULONG biSizeImage;
|
||||
LONG biXPelsPerMeter;
|
||||
LONG biYPelsPerMeter;
|
||||
ULONG biClrUsed;
|
||||
ULONG biClrImportant;
|
||||
} BITMAPINFOHEADER, *PBITMAPINFOHEADER;
|
||||
|
||||
VOID
|
||||
NTAPI
|
||||
InitializePalette(
|
||||
VOID
|
||||
);
|
||||
|
||||
//
|
||||
// Globals
|
||||
//
|
||||
extern USHORT AT_Initialization[];
|
||||
extern ULONG curr_x;
|
||||
extern ULONG curr_y;
|
||||
extern ULONG_PTR VgaRegisterBase;
|
||||
extern ULONG_PTR VgaBase;
|
||||
extern UCHAR FontData[256 * BOOTCHAR_HEIGHT];
|
||||
|
||||
@@ -1,11 +1,11 @@
|
||||
<?xml version="1.0"?>
|
||||
<!DOCTYPE group SYSTEM "../../tools/rbuild/project.dtd">
|
||||
<group xmlns:xi="http://www.w3.org/2001/XInclude">
|
||||
<directory name="ks">
|
||||
<xi:include href="ks/ks.rbuild" />
|
||||
</directory>
|
||||
<directory name="swenum">
|
||||
<xi:include href="swenum/swenum.rbuild" />
|
||||
</directory>
|
||||
</group>
|
||||
|
||||
<?xml version="1.0"?>
|
||||
<!DOCTYPE group SYSTEM "../../tools/rbuild/project.dtd">
|
||||
<group xmlns:xi="http://www.w3.org/2001/XInclude">
|
||||
<directory name="ks">
|
||||
<xi:include href="ks/ks.rbuild" />
|
||||
</directory>
|
||||
<directory name="swenum">
|
||||
<xi:include href="swenum/swenum.rbuild" />
|
||||
</directory>
|
||||
</group>
|
||||
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
<?xml version="1.0"?>
|
||||
<!DOCTYPE group SYSTEM "../../tools/rbuild/project.dtd">
|
||||
<group xmlns:xi="http://www.w3.org/2001/XInclude">
|
||||
<directory name="parallel">
|
||||
<xi:include href="parallel/parallel.rbuild" />
|
||||
</directory>
|
||||
</group>
|
||||
<?xml version="1.0"?>
|
||||
<!DOCTYPE group SYSTEM "../../tools/rbuild/project.dtd">
|
||||
<group xmlns:xi="http://www.w3.org/2001/XInclude">
|
||||
<directory name="parallel">
|
||||
<xi:include href="parallel/parallel.rbuild" />
|
||||
</directory>
|
||||
</group>
|
||||
|
||||
@@ -1,10 +1,10 @@
|
||||
<?xml version="1.0"?>
|
||||
<!DOCTYPE group SYSTEM "../../tools/rbuild/project.dtd">
|
||||
<group xmlns:xi="http://www.w3.org/2001/XInclude">
|
||||
<directory name="serial">
|
||||
<xi:include href="serial/serial.rbuild" />
|
||||
</directory>
|
||||
<directory name="serenum">
|
||||
<xi:include href="serenum/serenum.rbuild" />
|
||||
</directory>
|
||||
</group>
|
||||
<?xml version="1.0"?>
|
||||
<!DOCTYPE group SYSTEM "../../tools/rbuild/project.dtd">
|
||||
<group xmlns:xi="http://www.w3.org/2001/XInclude">
|
||||
<directory name="serial">
|
||||
<xi:include href="serial/serial.rbuild" />
|
||||
</directory>
|
||||
<directory name="serenum">
|
||||
<xi:include href="serenum/serenum.rbuild" />
|
||||
</directory>
|
||||
</group>
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
<?xml version="1.0"?>
|
||||
<!DOCTYPE group SYSTEM "../../tools/rbuild/project.dtd">
|
||||
<group xmlns:xi="http://www.w3.org/2001/XInclude">
|
||||
<directory name="blue">
|
||||
<xi:include href="blue/blue.rbuild" />
|
||||
</directory>
|
||||
</group>
|
||||
<?xml version="1.0"?>
|
||||
<!DOCTYPE group SYSTEM "../../tools/rbuild/project.dtd">
|
||||
<group xmlns:xi="http://www.w3.org/2001/XInclude">
|
||||
<directory name="blue">
|
||||
<xi:include href="blue/blue.rbuild" />
|
||||
</directory>
|
||||
</group>
|
||||
|
||||
@@ -1,315 +1,315 @@
|
||||
/*
|
||||
* PROJECT: ReactOS Storage Stack
|
||||
* LICENSE: DDK - see license.txt in the root dir
|
||||
* FILE: drivers/storage/cdrom/cdrom.c
|
||||
* PURPOSE: CDROM driver
|
||||
* PROGRAMMERS: Based on a source code sample from Microsoft NT4 DDK
|
||||
*/
|
||||
|
||||
#include <ntddk.h>
|
||||
#include <scsi.h>
|
||||
#include <ntddscsi.h>
|
||||
#include <ntdddisk.h>
|
||||
#include <ntddcdrm.h>
|
||||
#include <include/class2.h>
|
||||
#include <stdio.h>
|
||||
|
||||
//#define NDEBUG
|
||||
#include <debug.h>
|
||||
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
FindScsiAdapter (
|
||||
IN HANDLE KeyHandle,
|
||||
IN UNICODE_STRING ScsiUnicodeString[],
|
||||
OUT PUCHAR IntermediateController
|
||||
);
|
||||
|
||||
#define INIT_OPEN_KEY(name, rootHandle, pNewHandle) \
|
||||
InitializeObjectAttributes( \
|
||||
&objectAttributes, \
|
||||
(name), \
|
||||
OBJ_CASE_INSENSITIVE, \
|
||||
(rootHandle), \
|
||||
NULL \
|
||||
); \
|
||||
\
|
||||
status = ZwOpenKey( \
|
||||
(pNewHandle), \
|
||||
KEY_READ | KEY_ENUMERATE_SUB_KEYS, \
|
||||
&objectAttributes \
|
||||
);
|
||||
|
||||
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
FindScsiAdapter (
|
||||
IN HANDLE KeyHandle,
|
||||
IN UNICODE_STRING ScsiUnicodeString[],
|
||||
OUT UCHAR *IntermediateController
|
||||
)
|
||||
|
||||
/*++
|
||||
|
||||
Routine Description:
|
||||
|
||||
Recursive routine to walk registry tree under KeyHandle looking for
|
||||
location of ScsiAdapter and other valid controllers that the ScsiAdapter
|
||||
might hang off of. When ScsiAdapter is found, FindScsiAdapter
|
||||
returns an ARC name for the intervening controller(s) between the
|
||||
original key and ScsiAdapter.
|
||||
|
||||
Arguments:
|
||||
|
||||
KeyHandle -- Handle of open registry key (somewhere under
|
||||
\Registry\Machine\Hardware\Description\System)
|
||||
|
||||
ScsiUnicodeString -- NT name of SCSI device being sought in the registry
|
||||
|
||||
IntermediateController -- Null terminated buffer which this routine fills with
|
||||
ARC name for intervening controller(s). Null is returned
|
||||
if ScsiAdapter sits at the root or if it is not found.
|
||||
|
||||
Return Value:
|
||||
|
||||
STATUS_SUCCESS -- IntermediateController set to something like multi(1)
|
||||
|
||||
STATUS_OBJECT_PATH_NOT_FOUND -- all ok, but no ScsiAdapter
|
||||
(with correct scsi id & lun info) found; In this case
|
||||
IntermediateController is explicitly set to null.
|
||||
|
||||
Other status codes as returned by open\enumerate registry routines
|
||||
may also be returned.
|
||||
|
||||
--*/
|
||||
|
||||
{
|
||||
#if 0
|
||||
NTSTATUS status;
|
||||
ULONG index;
|
||||
ULONG resultLength;
|
||||
UCHAR lowerController[64];
|
||||
BOOLEAN validControllerNumber;
|
||||
UNICODE_STRING unicodeString[64];
|
||||
OBJECT_ATTRIBUTES objectAttributes;
|
||||
|
||||
HANDLE controllerHandle;
|
||||
HANDLE controllerNumberHandle;
|
||||
ULONG controllerIndex;
|
||||
ULONG controllerNumberIndex;
|
||||
UCHAR keyBuffer[256]; // Allow for variable length name at end
|
||||
UCHAR numberKeyBuffer[64];
|
||||
PKEY_BASIC_INFORMATION pControllerKeyInformation;
|
||||
PKEY_BASIC_INFORMATION pControllerNumberKeyInformation;
|
||||
|
||||
// TODO: Any PAGED_CODE stuff...
|
||||
|
||||
//
|
||||
// Walk enumerated subkeys, looking for valid controllers
|
||||
//
|
||||
|
||||
for (controllerIndex = 0; TRUE; controllerIndex++) {
|
||||
|
||||
//
|
||||
// Ensure pControllerKeyInformation->Name is null terminated
|
||||
//
|
||||
|
||||
RtlZeroMemory(keyBuffer, sizeof(keyBuffer));
|
||||
|
||||
pControllerKeyInformation = (PKEY_BASIC_INFORMATION) keyBuffer;
|
||||
|
||||
status = ZwEnumerateKey(
|
||||
KeyHandle,
|
||||
controllerIndex,
|
||||
KeyBasicInformation,
|
||||
pControllerKeyInformation,
|
||||
sizeof(keyBuffer),
|
||||
&resultLength
|
||||
);
|
||||
|
||||
if (!NT_SUCCESS(status)) {
|
||||
|
||||
if (status != STATUS_NO_MORE_ENTRIES) {
|
||||
DebugPrint ((2, "FindScsiAdapter: Error 0x%x enumerating key\n", status));
|
||||
return(status);
|
||||
}
|
||||
|
||||
break; // return NOT_FOUND
|
||||
}
|
||||
|
||||
DebugPrint ((3, "FindScsiAdapter: Found Adapter=%S\n", pControllerKeyInformation->Name));
|
||||
|
||||
if (!_wcsicmp(pControllerKeyInformation->Name, L"ScsiAdapter")) {
|
||||
|
||||
//
|
||||
// Found scsi, now verify that it's the same one we're trying to initialize.
|
||||
//
|
||||
|
||||
INIT_OPEN_KEY (ScsiUnicodeString, KeyHandle, &controllerHandle);
|
||||
|
||||
ZwClose(controllerHandle);
|
||||
|
||||
if (NT_SUCCESS(status)) {
|
||||
|
||||
//
|
||||
// Found correct scsi, now build ARC name of IntermediateController
|
||||
// (i.e. the intervening controllers, or everything above ScsiAdapter)
|
||||
// start with null, and build string one controller at a time as we
|
||||
// return up the recursively called routine.
|
||||
//
|
||||
|
||||
IntermediateController = "\0";
|
||||
|
||||
return (STATUS_SUCCESS);
|
||||
}
|
||||
|
||||
//
|
||||
// Found ScsiAdapter, but wrong scsi id or Lun info doesn't match,
|
||||
// (ignore other ZwOpenKey errors &) keep looking...
|
||||
//
|
||||
|
||||
}
|
||||
|
||||
else if (!_wcsicmp(pControllerKeyInformation->Name, L"MultifunctionAdapter") ||
|
||||
!_wcsicmp(pControllerKeyInformation->Name, L"EisaAdapter")) {
|
||||
|
||||
//
|
||||
// This is a valid controller that may have ScsiAdapter beneath it.
|
||||
// Open controller & walk controller's subkeys: 0, 1, 2, etc....
|
||||
//
|
||||
|
||||
RtlInitUnicodeString (unicodeString, pControllerKeyInformation->Name);
|
||||
|
||||
INIT_OPEN_KEY (unicodeString, KeyHandle, &controllerHandle);
|
||||
|
||||
if (!NT_SUCCESS(status)) {
|
||||
DebugPrint ((2, "FindScsiAdapter: ZwOpenKey got status = %x \n", status));
|
||||
ZwClose (controllerHandle);
|
||||
return (status);
|
||||
}
|
||||
|
||||
|
||||
|
||||
for (controllerNumberIndex = 0; TRUE; controllerNumberIndex++) {
|
||||
|
||||
RtlZeroMemory(numberKeyBuffer, sizeof(numberKeyBuffer));
|
||||
|
||||
pControllerNumberKeyInformation = (PKEY_BASIC_INFORMATION) numberKeyBuffer;
|
||||
|
||||
status = ZwEnumerateKey(
|
||||
controllerHandle,
|
||||
controllerNumberIndex,
|
||||
KeyBasicInformation,
|
||||
pControllerNumberKeyInformation,
|
||||
sizeof(numberKeyBuffer),
|
||||
&resultLength
|
||||
);
|
||||
|
||||
if (!NT_SUCCESS(status)) {
|
||||
|
||||
if (status != STATUS_NO_MORE_ENTRIES) {
|
||||
DebugPrint ((2, "FindScsiAdapter: Status %x enumerating key\n", status));
|
||||
ZwClose(controllerHandle);
|
||||
return (status);
|
||||
}
|
||||
|
||||
ZwClose(controllerHandle);
|
||||
|
||||
break; // next controller
|
||||
}
|
||||
|
||||
DebugPrint ((3, "FindScsiAdapter: Found Adapter #=%S\n", pControllerNumberKeyInformation->Name));
|
||||
|
||||
validControllerNumber = TRUE;
|
||||
|
||||
for (index = 0; index < pControllerNumberKeyInformation->NameLength / 2; index++) {
|
||||
|
||||
if (!isxdigit(pControllerNumberKeyInformation->Name[index])) {
|
||||
validControllerNumber = FALSE;
|
||||
break;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
if (validControllerNumber) {
|
||||
|
||||
//
|
||||
// Found valid controller and controller number: check children for scsi.
|
||||
//
|
||||
|
||||
RtlInitUnicodeString (unicodeString, pControllerNumberKeyInformation->Name);
|
||||
|
||||
INIT_OPEN_KEY (unicodeString, controllerHandle, &controllerNumberHandle);
|
||||
|
||||
if (!NT_SUCCESS(status)) {
|
||||
DebugPrint ((2, "FindScsiAdapter: Status %x opening controller number key\n", status));
|
||||
ZwClose(controllerNumberHandle);
|
||||
ZwClose(controllerHandle);
|
||||
return (status);
|
||||
}
|
||||
|
||||
RtlZeroMemory(lowerController, sizeof(lowerController));
|
||||
|
||||
status = FindScsiAdapter(
|
||||
controllerNumberHandle,
|
||||
ScsiUnicodeString,
|
||||
&lowerController[0]
|
||||
);
|
||||
|
||||
ZwClose(controllerNumberHandle);
|
||||
|
||||
if (NT_SUCCESS(status)) {
|
||||
|
||||
//
|
||||
// SUCCESS!
|
||||
//
|
||||
// Scsi adapter DOES exist under this node,
|
||||
// prepend Arc Name for the current adapter to whatever was returned
|
||||
// by other calls to this routine.
|
||||
//
|
||||
|
||||
if (!_wcsicmp(pControllerKeyInformation->Name, L"MultifunctionAdapter")) {
|
||||
sprintf(IntermediateController, "multi(0)%s", lowerController);
|
||||
} else {
|
||||
sprintf(IntermediateController, "eisa(0)%s", lowerController);
|
||||
}
|
||||
|
||||
ZwClose(controllerHandle);
|
||||
|
||||
return(STATUS_SUCCESS);
|
||||
}
|
||||
|
||||
else if (status != STATUS_OBJECT_PATH_NOT_FOUND) {
|
||||
ZwClose(controllerHandle);
|
||||
return(status);
|
||||
}
|
||||
|
||||
//
|
||||
// Scsi not found under this controller number, check next one
|
||||
//
|
||||
|
||||
} // if validControllerNumber
|
||||
|
||||
} // for controllerNumberIndex
|
||||
|
||||
|
||||
|
||||
//
|
||||
// ScsiAdapter not found under this controller
|
||||
//
|
||||
|
||||
ZwClose(controllerHandle);
|
||||
|
||||
} // else if valid subkey (i.e., scsi, multi, eisa)
|
||||
|
||||
} // for controllerIndex
|
||||
|
||||
//
|
||||
// ScsiAdapter not found under key we were called with
|
||||
//
|
||||
|
||||
IntermediateController = "\0";
|
||||
#endif
|
||||
return (STATUS_OBJECT_PATH_NOT_FOUND);
|
||||
}
|
||||
|
||||
/*
|
||||
* PROJECT: ReactOS Storage Stack
|
||||
* LICENSE: DDK - see license.txt in the root dir
|
||||
* FILE: drivers/storage/cdrom/cdrom.c
|
||||
* PURPOSE: CDROM driver
|
||||
* PROGRAMMERS: Based on a source code sample from Microsoft NT4 DDK
|
||||
*/
|
||||
|
||||
#include <ntddk.h>
|
||||
#include <scsi.h>
|
||||
#include <ntddscsi.h>
|
||||
#include <ntdddisk.h>
|
||||
#include <ntddcdrm.h>
|
||||
#include <include/class2.h>
|
||||
#include <stdio.h>
|
||||
|
||||
//#define NDEBUG
|
||||
#include <debug.h>
|
||||
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
FindScsiAdapter (
|
||||
IN HANDLE KeyHandle,
|
||||
IN UNICODE_STRING ScsiUnicodeString[],
|
||||
OUT PUCHAR IntermediateController
|
||||
);
|
||||
|
||||
#define INIT_OPEN_KEY(name, rootHandle, pNewHandle) \
|
||||
InitializeObjectAttributes( \
|
||||
&objectAttributes, \
|
||||
(name), \
|
||||
OBJ_CASE_INSENSITIVE, \
|
||||
(rootHandle), \
|
||||
NULL \
|
||||
); \
|
||||
\
|
||||
status = ZwOpenKey( \
|
||||
(pNewHandle), \
|
||||
KEY_READ | KEY_ENUMERATE_SUB_KEYS, \
|
||||
&objectAttributes \
|
||||
);
|
||||
|
||||
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
FindScsiAdapter (
|
||||
IN HANDLE KeyHandle,
|
||||
IN UNICODE_STRING ScsiUnicodeString[],
|
||||
OUT UCHAR *IntermediateController
|
||||
)
|
||||
|
||||
/*++
|
||||
|
||||
Routine Description:
|
||||
|
||||
Recursive routine to walk registry tree under KeyHandle looking for
|
||||
location of ScsiAdapter and other valid controllers that the ScsiAdapter
|
||||
might hang off of. When ScsiAdapter is found, FindScsiAdapter
|
||||
returns an ARC name for the intervening controller(s) between the
|
||||
original key and ScsiAdapter.
|
||||
|
||||
Arguments:
|
||||
|
||||
KeyHandle -- Handle of open registry key (somewhere under
|
||||
\Registry\Machine\Hardware\Description\System)
|
||||
|
||||
ScsiUnicodeString -- NT name of SCSI device being sought in the registry
|
||||
|
||||
IntermediateController -- Null terminated buffer which this routine fills with
|
||||
ARC name for intervening controller(s). Null is returned
|
||||
if ScsiAdapter sits at the root or if it is not found.
|
||||
|
||||
Return Value:
|
||||
|
||||
STATUS_SUCCESS -- IntermediateController set to something like multi(1)
|
||||
|
||||
STATUS_OBJECT_PATH_NOT_FOUND -- all ok, but no ScsiAdapter
|
||||
(with correct scsi id & lun info) found; In this case
|
||||
IntermediateController is explicitly set to null.
|
||||
|
||||
Other status codes as returned by open\enumerate registry routines
|
||||
may also be returned.
|
||||
|
||||
--*/
|
||||
|
||||
{
|
||||
#if 0
|
||||
NTSTATUS status;
|
||||
ULONG index;
|
||||
ULONG resultLength;
|
||||
UCHAR lowerController[64];
|
||||
BOOLEAN validControllerNumber;
|
||||
UNICODE_STRING unicodeString[64];
|
||||
OBJECT_ATTRIBUTES objectAttributes;
|
||||
|
||||
HANDLE controllerHandle;
|
||||
HANDLE controllerNumberHandle;
|
||||
ULONG controllerIndex;
|
||||
ULONG controllerNumberIndex;
|
||||
UCHAR keyBuffer[256]; // Allow for variable length name at end
|
||||
UCHAR numberKeyBuffer[64];
|
||||
PKEY_BASIC_INFORMATION pControllerKeyInformation;
|
||||
PKEY_BASIC_INFORMATION pControllerNumberKeyInformation;
|
||||
|
||||
// TODO: Any PAGED_CODE stuff...
|
||||
|
||||
//
|
||||
// Walk enumerated subkeys, looking for valid controllers
|
||||
//
|
||||
|
||||
for (controllerIndex = 0; TRUE; controllerIndex++) {
|
||||
|
||||
//
|
||||
// Ensure pControllerKeyInformation->Name is null terminated
|
||||
//
|
||||
|
||||
RtlZeroMemory(keyBuffer, sizeof(keyBuffer));
|
||||
|
||||
pControllerKeyInformation = (PKEY_BASIC_INFORMATION) keyBuffer;
|
||||
|
||||
status = ZwEnumerateKey(
|
||||
KeyHandle,
|
||||
controllerIndex,
|
||||
KeyBasicInformation,
|
||||
pControllerKeyInformation,
|
||||
sizeof(keyBuffer),
|
||||
&resultLength
|
||||
);
|
||||
|
||||
if (!NT_SUCCESS(status)) {
|
||||
|
||||
if (status != STATUS_NO_MORE_ENTRIES) {
|
||||
DebugPrint ((2, "FindScsiAdapter: Error 0x%x enumerating key\n", status));
|
||||
return(status);
|
||||
}
|
||||
|
||||
break; // return NOT_FOUND
|
||||
}
|
||||
|
||||
DebugPrint ((3, "FindScsiAdapter: Found Adapter=%S\n", pControllerKeyInformation->Name));
|
||||
|
||||
if (!_wcsicmp(pControllerKeyInformation->Name, L"ScsiAdapter")) {
|
||||
|
||||
//
|
||||
// Found scsi, now verify that it's the same one we're trying to initialize.
|
||||
//
|
||||
|
||||
INIT_OPEN_KEY (ScsiUnicodeString, KeyHandle, &controllerHandle);
|
||||
|
||||
ZwClose(controllerHandle);
|
||||
|
||||
if (NT_SUCCESS(status)) {
|
||||
|
||||
//
|
||||
// Found correct scsi, now build ARC name of IntermediateController
|
||||
// (i.e. the intervening controllers, or everything above ScsiAdapter)
|
||||
// start with null, and build string one controller at a time as we
|
||||
// return up the recursively called routine.
|
||||
//
|
||||
|
||||
IntermediateController = "\0";
|
||||
|
||||
return (STATUS_SUCCESS);
|
||||
}
|
||||
|
||||
//
|
||||
// Found ScsiAdapter, but wrong scsi id or Lun info doesn't match,
|
||||
// (ignore other ZwOpenKey errors &) keep looking...
|
||||
//
|
||||
|
||||
}
|
||||
|
||||
else if (!_wcsicmp(pControllerKeyInformation->Name, L"MultifunctionAdapter") ||
|
||||
!_wcsicmp(pControllerKeyInformation->Name, L"EisaAdapter")) {
|
||||
|
||||
//
|
||||
// This is a valid controller that may have ScsiAdapter beneath it.
|
||||
// Open controller & walk controller's subkeys: 0, 1, 2, etc....
|
||||
//
|
||||
|
||||
RtlInitUnicodeString (unicodeString, pControllerKeyInformation->Name);
|
||||
|
||||
INIT_OPEN_KEY (unicodeString, KeyHandle, &controllerHandle);
|
||||
|
||||
if (!NT_SUCCESS(status)) {
|
||||
DebugPrint ((2, "FindScsiAdapter: ZwOpenKey got status = %x \n", status));
|
||||
ZwClose (controllerHandle);
|
||||
return (status);
|
||||
}
|
||||
|
||||
|
||||
|
||||
for (controllerNumberIndex = 0; TRUE; controllerNumberIndex++) {
|
||||
|
||||
RtlZeroMemory(numberKeyBuffer, sizeof(numberKeyBuffer));
|
||||
|
||||
pControllerNumberKeyInformation = (PKEY_BASIC_INFORMATION) numberKeyBuffer;
|
||||
|
||||
status = ZwEnumerateKey(
|
||||
controllerHandle,
|
||||
controllerNumberIndex,
|
||||
KeyBasicInformation,
|
||||
pControllerNumberKeyInformation,
|
||||
sizeof(numberKeyBuffer),
|
||||
&resultLength
|
||||
);
|
||||
|
||||
if (!NT_SUCCESS(status)) {
|
||||
|
||||
if (status != STATUS_NO_MORE_ENTRIES) {
|
||||
DebugPrint ((2, "FindScsiAdapter: Status %x enumerating key\n", status));
|
||||
ZwClose(controllerHandle);
|
||||
return (status);
|
||||
}
|
||||
|
||||
ZwClose(controllerHandle);
|
||||
|
||||
break; // next controller
|
||||
}
|
||||
|
||||
DebugPrint ((3, "FindScsiAdapter: Found Adapter #=%S\n", pControllerNumberKeyInformation->Name));
|
||||
|
||||
validControllerNumber = TRUE;
|
||||
|
||||
for (index = 0; index < pControllerNumberKeyInformation->NameLength / 2; index++) {
|
||||
|
||||
if (!isxdigit(pControllerNumberKeyInformation->Name[index])) {
|
||||
validControllerNumber = FALSE;
|
||||
break;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
if (validControllerNumber) {
|
||||
|
||||
//
|
||||
// Found valid controller and controller number: check children for scsi.
|
||||
//
|
||||
|
||||
RtlInitUnicodeString (unicodeString, pControllerNumberKeyInformation->Name);
|
||||
|
||||
INIT_OPEN_KEY (unicodeString, controllerHandle, &controllerNumberHandle);
|
||||
|
||||
if (!NT_SUCCESS(status)) {
|
||||
DebugPrint ((2, "FindScsiAdapter: Status %x opening controller number key\n", status));
|
||||
ZwClose(controllerNumberHandle);
|
||||
ZwClose(controllerHandle);
|
||||
return (status);
|
||||
}
|
||||
|
||||
RtlZeroMemory(lowerController, sizeof(lowerController));
|
||||
|
||||
status = FindScsiAdapter(
|
||||
controllerNumberHandle,
|
||||
ScsiUnicodeString,
|
||||
&lowerController[0]
|
||||
);
|
||||
|
||||
ZwClose(controllerNumberHandle);
|
||||
|
||||
if (NT_SUCCESS(status)) {
|
||||
|
||||
//
|
||||
// SUCCESS!
|
||||
//
|
||||
// Scsi adapter DOES exist under this node,
|
||||
// prepend Arc Name for the current adapter to whatever was returned
|
||||
// by other calls to this routine.
|
||||
//
|
||||
|
||||
if (!_wcsicmp(pControllerKeyInformation->Name, L"MultifunctionAdapter")) {
|
||||
sprintf(IntermediateController, "multi(0)%s", lowerController);
|
||||
} else {
|
||||
sprintf(IntermediateController, "eisa(0)%s", lowerController);
|
||||
}
|
||||
|
||||
ZwClose(controllerHandle);
|
||||
|
||||
return(STATUS_SUCCESS);
|
||||
}
|
||||
|
||||
else if (status != STATUS_OBJECT_PATH_NOT_FOUND) {
|
||||
ZwClose(controllerHandle);
|
||||
return(status);
|
||||
}
|
||||
|
||||
//
|
||||
// Scsi not found under this controller number, check next one
|
||||
//
|
||||
|
||||
} // if validControllerNumber
|
||||
|
||||
} // for controllerNumberIndex
|
||||
|
||||
|
||||
|
||||
//
|
||||
// ScsiAdapter not found under this controller
|
||||
//
|
||||
|
||||
ZwClose(controllerHandle);
|
||||
|
||||
} // else if valid subkey (i.e., scsi, multi, eisa)
|
||||
|
||||
} // for controllerIndex
|
||||
|
||||
//
|
||||
// ScsiAdapter not found under key we were called with
|
||||
//
|
||||
|
||||
IntermediateController = "\0";
|
||||
#endif
|
||||
return (STATUS_OBJECT_PATH_NOT_FOUND);
|
||||
}
|
||||
|
||||
|
||||
@@ -1,53 +1,53 @@
|
||||
Window NT Device Driver Kit
|
||||
END-USER LICENSE AGREEMENT FOR MICROSOFT SOFTWARE
|
||||
|
||||
IMPORTANT-READ CAREFULLY: This Microsoft End-User License Agreement ("EULA") is a legal agreement between you (either an individual or a single entity) and Microsoft Corporation for the Microsoft software product identified above, which includes computer software and associated media and printed materials, and may include "online" or electronic documentation ("SOFTWARE PRODUCT" or "SOFTWARE"). By installing, copying, or otherwise using the SOFTWARE PRODUCT, you agree to be bound by the terms of this EULA. If you do not agree to the terms of this EULA, promptly return the unused SOFTWARE PRODUCT to the place from which you obtained it for a full refund, or if you received the SOFTWARE PRODUCT as part of a subscription or other service from Microsoft, you may cancel the subscription and receive a refund of a prorata portion of the subscription price.
|
||||
|
||||
SOFTWARE PRODUCT LICENSE
|
||||
The SOFTWARE PRODUCT is protected by copyright laws and international copyright treaties, as well as other intellectual property laws and treaties. The SOFTWARE PRODUCT is licensed, not sold. To develop Windows NT(tm) device drivers, you will need to utilize two computers, one for development and one for debugging.
|
||||
|
||||
1. GRANT OF LICENSE. This EULA grants you the following limited, non-exclusive rights:
|
||||
* SOFTWARE PRODUCT. (a) You may make two (2) copies of the SOFTWARE PRODUCT for installation and use on two (2) computers, one for use in development and one for use in debugging to design, develop, and test your software product(s), including but not limited to device driver(s) and other software products, for use with Microsoft(r) Windows(r) or Windows NT ("Software Product"). You may make an additional copy of the Windows NT Workstation operating system (licensed and provided separately) for use on a single computer used for debugging purposes.
|
||||
* Microsoft Developer Network Subscriber. If you acquired the SOFTWARE PRODUCT through a subscription to the Microsoft Developer Network, and you are either an individual developer or an individual designated within a single entity, you are granted the following additional rights with respect to the SOFTWARE PRODUCT: (a) you may make and use copies of the SOFTWARE PRODUCT on up to ten (10) separate computers, provided that you are the only individual using the SOFTWARE PRODUCT on each such computer, and (b) if you are a single entity, you may designate one individual within your organization to have the right to use the SOFTWARE PRODUCT in the manner described herein.
|
||||
* SAMPLE CODE. You may modify the sample source code ("Sample Code") to design, develop and test your Software Product, and reproduce and distribute the Sample Code with such modifications in source and object code forms, provided that you comply with the Distribution Requirements described below.
|
||||
* DISTRIBUTION REQUIREMENTS. You may copy and redistribute the Sample Code as described above, provided that (a) you distribute the Sample Code only in conjunction with and as a part of your Software Product; (b) you do not make any statements to the effect or which imply that your Software Product is "certified" by Microsoft or that its performance is guaranteed by Microsoft; (c) you do not use Microsoft's name, logo, or trademarks to market your Software Product; (d) you include a valid copyright notice on your Software Product; and (e) you indemnify, hold harmless, and defend Microsoft from and against any claims or lawsuits, including attorneys' fees, that arise or result from the use or distribution of your Software Product. Contact Microsoft for the applicable royalties due and other licensing terms for all other uses and/or distribution of the Sample Code
|
||||
* Microsoft reserves all rights not expressly granted to you.
|
||||
|
||||
2. COPYRIGHT. All right, title, and copyrights in and to the SOFTWARE PRODUCT (including but not limited to any images, photographs, animations, video, audio, music, text, and "applets" incorporated into the SOFTWARE PRODUCT), and any copies of the SOFTWARE PRODUCT, are owned by Microsoft or its suppliers. The SOFTWARE PRODUCT is protected by copyright laws and international treaty provisions. Therefore, you must treat the SOFTWARE PRODUCT like any other copyrighted material except that you may either (a) make one copy of the SOFTWARE PRODUCT solely for backup or archival purposes, or (b) install the SOFTWARE PRODUCT on a single computer, provided you keep the original solely for backup or archival purposes. You may not copy the printed materials accompanying the SOFTWARE PRODUCT.
|
||||
|
||||
3. PRERELEASE CODE. The SOFTWARE PRODUCT may contain PRERELEASE CODE that is not at the level of performance and compatibility of the final, generally available, product offering. These portions of the SOFTWARE PRODUCT may not operate correctly and may be substantially modified prior to first commercial shipment. Microsoft is not obligated to make this or any later version of the SOFTWARE PRODUCT commercially available. Microsoft grants you the right to distribute test versions of your Application created using the PRERELEASE CODE provided you comply with the Distribution Requirements described in Section 1 and the following additional provisions: (a) you must mark the test version of your Application "BETA" and (b) you are solely responsible for updating your customers with versions of your Application that operate satisfactorily with the final commercial release of the PRERELEASE CODE.
|
||||
|
||||
4. DESCRIPTION OF OTHER RIGHTS AND LIMITATIONS.
|
||||
( Limitations on Reverse Engineering, Decompilation, and Disassembly. You may not reverse-engineer, decompile, or disassemble the SOFTWARE PRODUCT, except and only to the extent that such activity is expressly permitted by applicable law notwithstanding this limitation.
|
||||
( Rental. You may not rent or lease the SOFTWARE PRODUCT.
|
||||
( Software Transfer. You may permanently transfer all of your rights under this EULA, provided you retain no copies, you transfer all of the SOFTWARE PRODUCT (including all component parts, the media and printed materials, any upgrades, this EULA, and, if applicable, the Certificate of Authenticity), and the recipient agrees to the terms of this EULA. If the SOFTWARE PRODUCT is an upgrade, any transfer must include all prior versions of the SOFTWARE PRODUCT.
|
||||
( Termination. Without prejudice to any other rights, Microsoft may terminate this EULA if you fail to comply with the terms and conditions of this EULA. In such event, you must destroy all copies of the SOFTWARE PRODUCT and all of its component parts.
|
||||
|
||||
5. EXPORT RESTRICTIONS. You agree that neither you nor your customers intend to or will, directly or indirectly, export or transmit (a) the SOFTWARE PRODUCT or related documentation and technical data or (b) your Application as described in Section 1 of this Agreement (or any part thereof), or process, or service that is the direct product of the SOFTWARE PRODUCT to any country to which such export or transmission is restricted by any applicable U.S. regulation or statute, without the prior written consent, if required, of the Bureau of Export Administration of the U.S. Department of Commerce, or such other governmental entity as may have jurisdiction over such export or transmission.
|
||||
|
||||
NO WARRANTIES. To the maximum extent permitted by applicable law, Microsoft expressly disclaims any warranty for the SOFTWARE PRODUCT. The SOFTWARE PRODUCT and any related documentation are provided "as is" without warranty of any kind, either express or implied, including, without limitation, the implied warranties of merchantability or fitness for a particular purpose. The entire risk arising out of use or performance of the SOFTWARE PRODUCT remains with you.
|
||||
|
||||
LIMITATION OF LIABILITY. Microsoft's entire liability and your exclusive remedy under this EULA shall not exceed one hundred dollars (US$100.00).
|
||||
|
||||
NO LIABILITY FOR CONSEQUENTIAL DAMAGES. To the maximum extent permitted by applicable law, in no event shall Microsoft or its suppliers be liable for any damages whatsoever (including, without limitation, damages for loss of business profit, business interruption, loss of business information, or any other pecuniary loss) arising out of the use or inability to use this Microsoft product, even if Microsoft has been advised of the possibility of such damages. Because some states/jurisdictions do not allow the exclusion or limitation of liability for consequential or incidental damages, the above limitation may not apply to you.
|
||||
|
||||
U.S. GOVERNMENT RESTRICTED RIGHTS.The SOFTWARE and documentation are provided with RESTRICTED RIGHTS. Use, duplication, or disclosure by the Government is subject to restrictions as set forth in subparagraph (c)(1)(ii) of The Rights in Technical Data and Computer Software clause at DFARS 252.227-7013 or subparagraphs (c)(1) and (2) of the Commercial Computer Software -- Restricted Rights at 48 CFR 52.227-19, as applicable. Manufacturer is Microsoft Corporation/One Microsoft Way/Redmond, WA 98052-6399.
|
||||
|
||||
If you acquired this product in the United States, this Agreement is governed by the laws of the State of Washington. If you acquired this product outside the United States, local law may apply.
|
||||
|
||||
Should you have any questions concerning this Agreement, if you desire rights to use the product beyond what is listed here, or if you desire to contact Microsoft for any reason, please contact your local Microsoft subsidiary or sales office or write to: Microsoft Sales and Service, One Microsoft Way, Redmond, WA 98052-6399.
|
||||
|
||||
Si vous avez acquis votre produit Microsoft au CANADA, la garantie limitée suivante vous concerne :
|
||||
|
||||
GARANTIE LIMITÉE
|
||||
|
||||
EXCLUSION DE GARANTIES. Microsoft renonce entièrement à toute garantie pour le LOGICIEL. Le LOGICIEL et toute autre documentation s'y rapportant sont fournis «comme tels» sans aucune garantie quelle qu'elle soit, expresse ou implicite, y compris, mais ne se limitant pas, aux garanties implicites de la qualité marchande ou un usage particulier. Le risque total découlant de l'utilisation ou de la performance du LOGICIEL est entre vos mains.
|
||||
|
||||
RESPONSABILITÉ LIMITÉE. La seule obligation de Microsoft et votre recours exclusif concernant ce contrat n'excèderont pas cent dollars (US$100.00).
|
||||
|
||||
ABSENCE DE RESPONSABILITÉ POUR LES DOMMAGES INDIRECTS. Microsoft ou ses fournisseurs ne pourront être tenus responsables en aucune circonstance de tout dommage quel qu'il soit (y compris mais non de façon limitative aux dommages directs ou indirects causés par la perte de bénéfices commerciaux, l'interruption des affaires, la perte d'information commerciale ou toute autre perte pécuniaire) résultant de l'utilisation ou de l'impossibilité d'utilisation de ce produit, et ce, même si la société Microsoft a été avisée de l'éventualité de tels dommages. Certains états/juridictions ne permettent pas l'exclusion ou la limitation de responsabilité relative aux dommages indirects ou consécutifs, et la limitation ci-dessus peut ne pas s'appliquer à votre égard.
|
||||
|
||||
La présente Convention est régie par les lois de la province d'Ontario, Canada. Chacune des parties à la présente reconnaît irrévocablement la compétence des tribunaux de la province d'Ontario et consent à instituer tout litige qui pourrait découler de la présente auprès des tribunaux situés dans le district judiciaire de York, province d'Ontario.
|
||||
|
||||
Au cas où vous auriez des questions concernant cette licence ou que vous désiriez vous mettre en rapport avec Microsoft pour quelque raison que ce soit, veuillez contacter la succursale Microsoft desservant votre pays, dont l'adresse est fournie dans ce produit, ou écrire à : Microsoft Customer Sales and Service, One Microsoft Way, Redmond, Washington 98052-6399.
|
||||
|
||||
Window NT Device Driver Kit
|
||||
END-USER LICENSE AGREEMENT FOR MICROSOFT SOFTWARE
|
||||
|
||||
IMPORTANT-READ CAREFULLY: This Microsoft End-User License Agreement ("EULA") is a legal agreement between you (either an individual or a single entity) and Microsoft Corporation for the Microsoft software product identified above, which includes computer software and associated media and printed materials, and may include "online" or electronic documentation ("SOFTWARE PRODUCT" or "SOFTWARE"). By installing, copying, or otherwise using the SOFTWARE PRODUCT, you agree to be bound by the terms of this EULA. If you do not agree to the terms of this EULA, promptly return the unused SOFTWARE PRODUCT to the place from which you obtained it for a full refund, or if you received the SOFTWARE PRODUCT as part of a subscription or other service from Microsoft, you may cancel the subscription and receive a refund of a prorata portion of the subscription price.
|
||||
|
||||
SOFTWARE PRODUCT LICENSE
|
||||
The SOFTWARE PRODUCT is protected by copyright laws and international copyright treaties, as well as other intellectual property laws and treaties. The SOFTWARE PRODUCT is licensed, not sold. To develop Windows NT(tm) device drivers, you will need to utilize two computers, one for development and one for debugging.
|
||||
|
||||
1. GRANT OF LICENSE. This EULA grants you the following limited, non-exclusive rights:
|
||||
* SOFTWARE PRODUCT. (a) You may make two (2) copies of the SOFTWARE PRODUCT for installation and use on two (2) computers, one for use in development and one for use in debugging to design, develop, and test your software product(s), including but not limited to device driver(s) and other software products, for use with Microsoft(r) Windows(r) or Windows NT ("Software Product"). You may make an additional copy of the Windows NT Workstation operating system (licensed and provided separately) for use on a single computer used for debugging purposes.
|
||||
* Microsoft Developer Network Subscriber. If you acquired the SOFTWARE PRODUCT through a subscription to the Microsoft Developer Network, and you are either an individual developer or an individual designated within a single entity, you are granted the following additional rights with respect to the SOFTWARE PRODUCT: (a) you may make and use copies of the SOFTWARE PRODUCT on up to ten (10) separate computers, provided that you are the only individual using the SOFTWARE PRODUCT on each such computer, and (b) if you are a single entity, you may designate one individual within your organization to have the right to use the SOFTWARE PRODUCT in the manner described herein.
|
||||
* SAMPLE CODE. You may modify the sample source code ("Sample Code") to design, develop and test your Software Product, and reproduce and distribute the Sample Code with such modifications in source and object code forms, provided that you comply with the Distribution Requirements described below.
|
||||
* DISTRIBUTION REQUIREMENTS. You may copy and redistribute the Sample Code as described above, provided that (a) you distribute the Sample Code only in conjunction with and as a part of your Software Product; (b) you do not make any statements to the effect or which imply that your Software Product is "certified" by Microsoft or that its performance is guaranteed by Microsoft; (c) you do not use Microsoft's name, logo, or trademarks to market your Software Product; (d) you include a valid copyright notice on your Software Product; and (e) you indemnify, hold harmless, and defend Microsoft from and against any claims or lawsuits, including attorneys' fees, that arise or result from the use or distribution of your Software Product. Contact Microsoft for the applicable royalties due and other licensing terms for all other uses and/or distribution of the Sample Code
|
||||
* Microsoft reserves all rights not expressly granted to you.
|
||||
|
||||
2. COPYRIGHT. All right, title, and copyrights in and to the SOFTWARE PRODUCT (including but not limited to any images, photographs, animations, video, audio, music, text, and "applets" incorporated into the SOFTWARE PRODUCT), and any copies of the SOFTWARE PRODUCT, are owned by Microsoft or its suppliers. The SOFTWARE PRODUCT is protected by copyright laws and international treaty provisions. Therefore, you must treat the SOFTWARE PRODUCT like any other copyrighted material except that you may either (a) make one copy of the SOFTWARE PRODUCT solely for backup or archival purposes, or (b) install the SOFTWARE PRODUCT on a single computer, provided you keep the original solely for backup or archival purposes. You may not copy the printed materials accompanying the SOFTWARE PRODUCT.
|
||||
|
||||
3. PRERELEASE CODE. The SOFTWARE PRODUCT may contain PRERELEASE CODE that is not at the level of performance and compatibility of the final, generally available, product offering. These portions of the SOFTWARE PRODUCT may not operate correctly and may be substantially modified prior to first commercial shipment. Microsoft is not obligated to make this or any later version of the SOFTWARE PRODUCT commercially available. Microsoft grants you the right to distribute test versions of your Application created using the PRERELEASE CODE provided you comply with the Distribution Requirements described in Section 1 and the following additional provisions: (a) you must mark the test version of your Application "BETA" and (b) you are solely responsible for updating your customers with versions of your Application that operate satisfactorily with the final commercial release of the PRERELEASE CODE.
|
||||
|
||||
4. DESCRIPTION OF OTHER RIGHTS AND LIMITATIONS.
|
||||
( Limitations on Reverse Engineering, Decompilation, and Disassembly. You may not reverse-engineer, decompile, or disassemble the SOFTWARE PRODUCT, except and only to the extent that such activity is expressly permitted by applicable law notwithstanding this limitation.
|
||||
( Rental. You may not rent or lease the SOFTWARE PRODUCT.
|
||||
( Software Transfer. You may permanently transfer all of your rights under this EULA, provided you retain no copies, you transfer all of the SOFTWARE PRODUCT (including all component parts, the media and printed materials, any upgrades, this EULA, and, if applicable, the Certificate of Authenticity), and the recipient agrees to the terms of this EULA. If the SOFTWARE PRODUCT is an upgrade, any transfer must include all prior versions of the SOFTWARE PRODUCT.
|
||||
( Termination. Without prejudice to any other rights, Microsoft may terminate this EULA if you fail to comply with the terms and conditions of this EULA. In such event, you must destroy all copies of the SOFTWARE PRODUCT and all of its component parts.
|
||||
|
||||
5. EXPORT RESTRICTIONS. You agree that neither you nor your customers intend to or will, directly or indirectly, export or transmit (a) the SOFTWARE PRODUCT or related documentation and technical data or (b) your Application as described in Section 1 of this Agreement (or any part thereof), or process, or service that is the direct product of the SOFTWARE PRODUCT to any country to which such export or transmission is restricted by any applicable U.S. regulation or statute, without the prior written consent, if required, of the Bureau of Export Administration of the U.S. Department of Commerce, or such other governmental entity as may have jurisdiction over such export or transmission.
|
||||
|
||||
NO WARRANTIES. To the maximum extent permitted by applicable law, Microsoft expressly disclaims any warranty for the SOFTWARE PRODUCT. The SOFTWARE PRODUCT and any related documentation are provided "as is" without warranty of any kind, either express or implied, including, without limitation, the implied warranties of merchantability or fitness for a particular purpose. The entire risk arising out of use or performance of the SOFTWARE PRODUCT remains with you.
|
||||
|
||||
LIMITATION OF LIABILITY. Microsoft's entire liability and your exclusive remedy under this EULA shall not exceed one hundred dollars (US$100.00).
|
||||
|
||||
NO LIABILITY FOR CONSEQUENTIAL DAMAGES. To the maximum extent permitted by applicable law, in no event shall Microsoft or its suppliers be liable for any damages whatsoever (including, without limitation, damages for loss of business profit, business interruption, loss of business information, or any other pecuniary loss) arising out of the use or inability to use this Microsoft product, even if Microsoft has been advised of the possibility of such damages. Because some states/jurisdictions do not allow the exclusion or limitation of liability for consequential or incidental damages, the above limitation may not apply to you.
|
||||
|
||||
U.S. GOVERNMENT RESTRICTED RIGHTS.The SOFTWARE and documentation are provided with RESTRICTED RIGHTS. Use, duplication, or disclosure by the Government is subject to restrictions as set forth in subparagraph (c)(1)(ii) of The Rights in Technical Data and Computer Software clause at DFARS 252.227-7013 or subparagraphs (c)(1) and (2) of the Commercial Computer Software -- Restricted Rights at 48 CFR 52.227-19, as applicable. Manufacturer is Microsoft Corporation/One Microsoft Way/Redmond, WA 98052-6399.
|
||||
|
||||
If you acquired this product in the United States, this Agreement is governed by the laws of the State of Washington. If you acquired this product outside the United States, local law may apply.
|
||||
|
||||
Should you have any questions concerning this Agreement, if you desire rights to use the product beyond what is listed here, or if you desire to contact Microsoft for any reason, please contact your local Microsoft subsidiary or sales office or write to: Microsoft Sales and Service, One Microsoft Way, Redmond, WA 98052-6399.
|
||||
|
||||
Si vous avez acquis votre produit Microsoft au CANADA, la garantie limitée suivante vous concerne :
|
||||
|
||||
GARANTIE LIMITÉE
|
||||
|
||||
EXCLUSION DE GARANTIES. Microsoft renonce entièrement à toute garantie pour le LOGICIEL. Le LOGICIEL et toute autre documentation s'y rapportant sont fournis «comme tels» sans aucune garantie quelle qu'elle soit, expresse ou implicite, y compris, mais ne se limitant pas, aux garanties implicites de la qualité marchande ou un usage particulier. Le risque total découlant de l'utilisation ou de la performance du LOGICIEL est entre vos mains.
|
||||
|
||||
RESPONSABILITÉ LIMITÉE. La seule obligation de Microsoft et votre recours exclusif concernant ce contrat n'excèderont pas cent dollars (US$100.00).
|
||||
|
||||
ABSENCE DE RESPONSABILITÉ POUR LES DOMMAGES INDIRECTS. Microsoft ou ses fournisseurs ne pourront être tenus responsables en aucune circonstance de tout dommage quel qu'il soit (y compris mais non de façon limitative aux dommages directs ou indirects causés par la perte de bénéfices commerciaux, l'interruption des affaires, la perte d'information commerciale ou toute autre perte pécuniaire) résultant de l'utilisation ou de l'impossibilité d'utilisation de ce produit, et ce, même si la société Microsoft a été avisée de l'éventualité de tels dommages. Certains états/juridictions ne permettent pas l'exclusion ou la limitation de responsabilité relative aux dommages indirects ou consécutifs, et la limitation ci-dessus peut ne pas s'appliquer à votre égard.
|
||||
|
||||
La présente Convention est régie par les lois de la province d'Ontario, Canada. Chacune des parties à la présente reconnaît irrévocablement la compétence des tribunaux de la province d'Ontario et consent à instituer tout litige qui pourrait découler de la présente auprès des tribunaux situés dans le district judiciaire de York, province d'Ontario.
|
||||
|
||||
Au cas où vous auriez des questions concernant cette licence ou que vous désiriez vous mettre en rapport avec Microsoft pour quelque raison que ce soit, veuillez contacter la succursale Microsoft desservant votre pays, dont l'adresse est fournie dans ce produit, ou écrire à : Microsoft Customer Sales and Service, One Microsoft Way, Redmond, Washington 98052-6399.
|
||||
|
||||
|
||||
@@ -1,53 +1,53 @@
|
||||
Window NT Device Driver Kit
|
||||
END-USER LICENSE AGREEMENT FOR MICROSOFT SOFTWARE
|
||||
|
||||
IMPORTANT-READ CAREFULLY: This Microsoft End-User License Agreement ("EULA") is a legal agreement between you (either an individual or a single entity) and Microsoft Corporation for the Microsoft software product identified above, which includes computer software and associated media and printed materials, and may include "online" or electronic documentation ("SOFTWARE PRODUCT" or "SOFTWARE"). By installing, copying, or otherwise using the SOFTWARE PRODUCT, you agree to be bound by the terms of this EULA. If you do not agree to the terms of this EULA, promptly return the unused SOFTWARE PRODUCT to the place from which you obtained it for a full refund, or if you received the SOFTWARE PRODUCT as part of a subscription or other service from Microsoft, you may cancel the subscription and receive a refund of a prorata portion of the subscription price.
|
||||
|
||||
SOFTWARE PRODUCT LICENSE
|
||||
The SOFTWARE PRODUCT is protected by copyright laws and international copyright treaties, as well as other intellectual property laws and treaties. The SOFTWARE PRODUCT is licensed, not sold. To develop Windows NT(tm) device drivers, you will need to utilize two computers, one for development and one for debugging.
|
||||
|
||||
1. GRANT OF LICENSE. This EULA grants you the following limited, non-exclusive rights:
|
||||
* SOFTWARE PRODUCT. (a) You may make two (2) copies of the SOFTWARE PRODUCT for installation and use on two (2) computers, one for use in development and one for use in debugging to design, develop, and test your software product(s), including but not limited to device driver(s) and other software products, for use with Microsoft(r) Windows(r) or Windows NT ("Software Product"). You may make an additional copy of the Windows NT Workstation operating system (licensed and provided separately) for use on a single computer used for debugging purposes.
|
||||
* Microsoft Developer Network Subscriber. If you acquired the SOFTWARE PRODUCT through a subscription to the Microsoft Developer Network, and you are either an individual developer or an individual designated within a single entity, you are granted the following additional rights with respect to the SOFTWARE PRODUCT: (a) you may make and use copies of the SOFTWARE PRODUCT on up to ten (10) separate computers, provided that you are the only individual using the SOFTWARE PRODUCT on each such computer, and (b) if you are a single entity, you may designate one individual within your organization to have the right to use the SOFTWARE PRODUCT in the manner described herein.
|
||||
* SAMPLE CODE. You may modify the sample source code ("Sample Code") to design, develop and test your Software Product, and reproduce and distribute the Sample Code with such modifications in source and object code forms, provided that you comply with the Distribution Requirements described below.
|
||||
* DISTRIBUTION REQUIREMENTS. You may copy and redistribute the Sample Code as described above, provided that (a) you distribute the Sample Code only in conjunction with and as a part of your Software Product; (b) you do not make any statements to the effect or which imply that your Software Product is "certified" by Microsoft or that its performance is guaranteed by Microsoft; (c) you do not use Microsoft's name, logo, or trademarks to market your Software Product; (d) you include a valid copyright notice on your Software Product; and (e) you indemnify, hold harmless, and defend Microsoft from and against any claims or lawsuits, including attorneys' fees, that arise or result from the use or distribution of your Software Product. Contact Microsoft for the applicable royalties due and other licensing terms for all other uses and/or distribution of the Sample Code
|
||||
* Microsoft reserves all rights not expressly granted to you.
|
||||
|
||||
2. COPYRIGHT. All right, title, and copyrights in and to the SOFTWARE PRODUCT (including but not limited to any images, photographs, animations, video, audio, music, text, and "applets" incorporated into the SOFTWARE PRODUCT), and any copies of the SOFTWARE PRODUCT, are owned by Microsoft or its suppliers. The SOFTWARE PRODUCT is protected by copyright laws and international treaty provisions. Therefore, you must treat the SOFTWARE PRODUCT like any other copyrighted material except that you may either (a) make one copy of the SOFTWARE PRODUCT solely for backup or archival purposes, or (b) install the SOFTWARE PRODUCT on a single computer, provided you keep the original solely for backup or archival purposes. You may not copy the printed materials accompanying the SOFTWARE PRODUCT.
|
||||
|
||||
3. PRERELEASE CODE. The SOFTWARE PRODUCT may contain PRERELEASE CODE that is not at the level of performance and compatibility of the final, generally available, product offering. These portions of the SOFTWARE PRODUCT may not operate correctly and may be substantially modified prior to first commercial shipment. Microsoft is not obligated to make this or any later version of the SOFTWARE PRODUCT commercially available. Microsoft grants you the right to distribute test versions of your Application created using the PRERELEASE CODE provided you comply with the Distribution Requirements described in Section 1 and the following additional provisions: (a) you must mark the test version of your Application "BETA" and (b) you are solely responsible for updating your customers with versions of your Application that operate satisfactorily with the final commercial release of the PRERELEASE CODE.
|
||||
|
||||
4. DESCRIPTION OF OTHER RIGHTS AND LIMITATIONS.
|
||||
( Limitations on Reverse Engineering, Decompilation, and Disassembly. You may not reverse-engineer, decompile, or disassemble the SOFTWARE PRODUCT, except and only to the extent that such activity is expressly permitted by applicable law notwithstanding this limitation.
|
||||
( Rental. You may not rent or lease the SOFTWARE PRODUCT.
|
||||
( Software Transfer. You may permanently transfer all of your rights under this EULA, provided you retain no copies, you transfer all of the SOFTWARE PRODUCT (including all component parts, the media and printed materials, any upgrades, this EULA, and, if applicable, the Certificate of Authenticity), and the recipient agrees to the terms of this EULA. If the SOFTWARE PRODUCT is an upgrade, any transfer must include all prior versions of the SOFTWARE PRODUCT.
|
||||
( Termination. Without prejudice to any other rights, Microsoft may terminate this EULA if you fail to comply with the terms and conditions of this EULA. In such event, you must destroy all copies of the SOFTWARE PRODUCT and all of its component parts.
|
||||
|
||||
5. EXPORT RESTRICTIONS. You agree that neither you nor your customers intend to or will, directly or indirectly, export or transmit (a) the SOFTWARE PRODUCT or related documentation and technical data or (b) your Application as described in Section 1 of this Agreement (or any part thereof), or process, or service that is the direct product of the SOFTWARE PRODUCT to any country to which such export or transmission is restricted by any applicable U.S. regulation or statute, without the prior written consent, if required, of the Bureau of Export Administration of the U.S. Department of Commerce, or such other governmental entity as may have jurisdiction over such export or transmission.
|
||||
|
||||
NO WARRANTIES. To the maximum extent permitted by applicable law, Microsoft expressly disclaims any warranty for the SOFTWARE PRODUCT. The SOFTWARE PRODUCT and any related documentation are provided "as is" without warranty of any kind, either express or implied, including, without limitation, the implied warranties of merchantability or fitness for a particular purpose. The entire risk arising out of use or performance of the SOFTWARE PRODUCT remains with you.
|
||||
|
||||
LIMITATION OF LIABILITY. Microsoft's entire liability and your exclusive remedy under this EULA shall not exceed one hundred dollars (US$100.00).
|
||||
|
||||
NO LIABILITY FOR CONSEQUENTIAL DAMAGES. To the maximum extent permitted by applicable law, in no event shall Microsoft or its suppliers be liable for any damages whatsoever (including, without limitation, damages for loss of business profit, business interruption, loss of business information, or any other pecuniary loss) arising out of the use or inability to use this Microsoft product, even if Microsoft has been advised of the possibility of such damages. Because some states/jurisdictions do not allow the exclusion or limitation of liability for consequential or incidental damages, the above limitation may not apply to you.
|
||||
|
||||
U.S. GOVERNMENT RESTRICTED RIGHTS.The SOFTWARE and documentation are provided with RESTRICTED RIGHTS. Use, duplication, or disclosure by the Government is subject to restrictions as set forth in subparagraph (c)(1)(ii) of The Rights in Technical Data and Computer Software clause at DFARS 252.227-7013 or subparagraphs (c)(1) and (2) of the Commercial Computer Software -- Restricted Rights at 48 CFR 52.227-19, as applicable. Manufacturer is Microsoft Corporation/One Microsoft Way/Redmond, WA 98052-6399.
|
||||
|
||||
If you acquired this product in the United States, this Agreement is governed by the laws of the State of Washington. If you acquired this product outside the United States, local law may apply.
|
||||
|
||||
Should you have any questions concerning this Agreement, if you desire rights to use the product beyond what is listed here, or if you desire to contact Microsoft for any reason, please contact your local Microsoft subsidiary or sales office or write to: Microsoft Sales and Service, One Microsoft Way, Redmond, WA 98052-6399.
|
||||
|
||||
Si vous avez acquis votre produit Microsoft au CANADA, la garantie limitée suivante vous concerne :
|
||||
|
||||
GARANTIE LIMITÉE
|
||||
|
||||
EXCLUSION DE GARANTIES. Microsoft renonce entièrement à toute garantie pour le LOGICIEL. Le LOGICIEL et toute autre documentation s'y rapportant sont fournis «comme tels» sans aucune garantie quelle qu'elle soit, expresse ou implicite, y compris, mais ne se limitant pas, aux garanties implicites de la qualité marchande ou un usage particulier. Le risque total découlant de l'utilisation ou de la performance du LOGICIEL est entre vos mains.
|
||||
|
||||
RESPONSABILITÉ LIMITÉE. La seule obligation de Microsoft et votre recours exclusif concernant ce contrat n'excèderont pas cent dollars (US$100.00).
|
||||
|
||||
ABSENCE DE RESPONSABILITÉ POUR LES DOMMAGES INDIRECTS. Microsoft ou ses fournisseurs ne pourront être tenus responsables en aucune circonstance de tout dommage quel qu'il soit (y compris mais non de façon limitative aux dommages directs ou indirects causés par la perte de bénéfices commerciaux, l'interruption des affaires, la perte d'information commerciale ou toute autre perte pécuniaire) résultant de l'utilisation ou de l'impossibilité d'utilisation de ce produit, et ce, même si la société Microsoft a été avisée de l'éventualité de tels dommages. Certains états/juridictions ne permettent pas l'exclusion ou la limitation de responsabilité relative aux dommages indirects ou consécutifs, et la limitation ci-dessus peut ne pas s'appliquer à votre égard.
|
||||
|
||||
La présente Convention est régie par les lois de la province d'Ontario, Canada. Chacune des parties à la présente reconnaît irrévocablement la compétence des tribunaux de la province d'Ontario et consent à instituer tout litige qui pourrait découler de la présente auprès des tribunaux situés dans le district judiciaire de York, province d'Ontario.
|
||||
|
||||
Au cas où vous auriez des questions concernant cette licence ou que vous désiriez vous mettre en rapport avec Microsoft pour quelque raison que ce soit, veuillez contacter la succursale Microsoft desservant votre pays, dont l'adresse est fournie dans ce produit, ou écrire à : Microsoft Customer Sales and Service, One Microsoft Way, Redmond, Washington 98052-6399.
|
||||
|
||||
Window NT Device Driver Kit
|
||||
END-USER LICENSE AGREEMENT FOR MICROSOFT SOFTWARE
|
||||
|
||||
IMPORTANT-READ CAREFULLY: This Microsoft End-User License Agreement ("EULA") is a legal agreement between you (either an individual or a single entity) and Microsoft Corporation for the Microsoft software product identified above, which includes computer software and associated media and printed materials, and may include "online" or electronic documentation ("SOFTWARE PRODUCT" or "SOFTWARE"). By installing, copying, or otherwise using the SOFTWARE PRODUCT, you agree to be bound by the terms of this EULA. If you do not agree to the terms of this EULA, promptly return the unused SOFTWARE PRODUCT to the place from which you obtained it for a full refund, or if you received the SOFTWARE PRODUCT as part of a subscription or other service from Microsoft, you may cancel the subscription and receive a refund of a prorata portion of the subscription price.
|
||||
|
||||
SOFTWARE PRODUCT LICENSE
|
||||
The SOFTWARE PRODUCT is protected by copyright laws and international copyright treaties, as well as other intellectual property laws and treaties. The SOFTWARE PRODUCT is licensed, not sold. To develop Windows NT(tm) device drivers, you will need to utilize two computers, one for development and one for debugging.
|
||||
|
||||
1. GRANT OF LICENSE. This EULA grants you the following limited, non-exclusive rights:
|
||||
* SOFTWARE PRODUCT. (a) You may make two (2) copies of the SOFTWARE PRODUCT for installation and use on two (2) computers, one for use in development and one for use in debugging to design, develop, and test your software product(s), including but not limited to device driver(s) and other software products, for use with Microsoft(r) Windows(r) or Windows NT ("Software Product"). You may make an additional copy of the Windows NT Workstation operating system (licensed and provided separately) for use on a single computer used for debugging purposes.
|
||||
* Microsoft Developer Network Subscriber. If you acquired the SOFTWARE PRODUCT through a subscription to the Microsoft Developer Network, and you are either an individual developer or an individual designated within a single entity, you are granted the following additional rights with respect to the SOFTWARE PRODUCT: (a) you may make and use copies of the SOFTWARE PRODUCT on up to ten (10) separate computers, provided that you are the only individual using the SOFTWARE PRODUCT on each such computer, and (b) if you are a single entity, you may designate one individual within your organization to have the right to use the SOFTWARE PRODUCT in the manner described herein.
|
||||
* SAMPLE CODE. You may modify the sample source code ("Sample Code") to design, develop and test your Software Product, and reproduce and distribute the Sample Code with such modifications in source and object code forms, provided that you comply with the Distribution Requirements described below.
|
||||
* DISTRIBUTION REQUIREMENTS. You may copy and redistribute the Sample Code as described above, provided that (a) you distribute the Sample Code only in conjunction with and as a part of your Software Product; (b) you do not make any statements to the effect or which imply that your Software Product is "certified" by Microsoft or that its performance is guaranteed by Microsoft; (c) you do not use Microsoft's name, logo, or trademarks to market your Software Product; (d) you include a valid copyright notice on your Software Product; and (e) you indemnify, hold harmless, and defend Microsoft from and against any claims or lawsuits, including attorneys' fees, that arise or result from the use or distribution of your Software Product. Contact Microsoft for the applicable royalties due and other licensing terms for all other uses and/or distribution of the Sample Code
|
||||
* Microsoft reserves all rights not expressly granted to you.
|
||||
|
||||
2. COPYRIGHT. All right, title, and copyrights in and to the SOFTWARE PRODUCT (including but not limited to any images, photographs, animations, video, audio, music, text, and "applets" incorporated into the SOFTWARE PRODUCT), and any copies of the SOFTWARE PRODUCT, are owned by Microsoft or its suppliers. The SOFTWARE PRODUCT is protected by copyright laws and international treaty provisions. Therefore, you must treat the SOFTWARE PRODUCT like any other copyrighted material except that you may either (a) make one copy of the SOFTWARE PRODUCT solely for backup or archival purposes, or (b) install the SOFTWARE PRODUCT on a single computer, provided you keep the original solely for backup or archival purposes. You may not copy the printed materials accompanying the SOFTWARE PRODUCT.
|
||||
|
||||
3. PRERELEASE CODE. The SOFTWARE PRODUCT may contain PRERELEASE CODE that is not at the level of performance and compatibility of the final, generally available, product offering. These portions of the SOFTWARE PRODUCT may not operate correctly and may be substantially modified prior to first commercial shipment. Microsoft is not obligated to make this or any later version of the SOFTWARE PRODUCT commercially available. Microsoft grants you the right to distribute test versions of your Application created using the PRERELEASE CODE provided you comply with the Distribution Requirements described in Section 1 and the following additional provisions: (a) you must mark the test version of your Application "BETA" and (b) you are solely responsible for updating your customers with versions of your Application that operate satisfactorily with the final commercial release of the PRERELEASE CODE.
|
||||
|
||||
4. DESCRIPTION OF OTHER RIGHTS AND LIMITATIONS.
|
||||
( Limitations on Reverse Engineering, Decompilation, and Disassembly. You may not reverse-engineer, decompile, or disassemble the SOFTWARE PRODUCT, except and only to the extent that such activity is expressly permitted by applicable law notwithstanding this limitation.
|
||||
( Rental. You may not rent or lease the SOFTWARE PRODUCT.
|
||||
( Software Transfer. You may permanently transfer all of your rights under this EULA, provided you retain no copies, you transfer all of the SOFTWARE PRODUCT (including all component parts, the media and printed materials, any upgrades, this EULA, and, if applicable, the Certificate of Authenticity), and the recipient agrees to the terms of this EULA. If the SOFTWARE PRODUCT is an upgrade, any transfer must include all prior versions of the SOFTWARE PRODUCT.
|
||||
( Termination. Without prejudice to any other rights, Microsoft may terminate this EULA if you fail to comply with the terms and conditions of this EULA. In such event, you must destroy all copies of the SOFTWARE PRODUCT and all of its component parts.
|
||||
|
||||
5. EXPORT RESTRICTIONS. You agree that neither you nor your customers intend to or will, directly or indirectly, export or transmit (a) the SOFTWARE PRODUCT or related documentation and technical data or (b) your Application as described in Section 1 of this Agreement (or any part thereof), or process, or service that is the direct product of the SOFTWARE PRODUCT to any country to which such export or transmission is restricted by any applicable U.S. regulation or statute, without the prior written consent, if required, of the Bureau of Export Administration of the U.S. Department of Commerce, or such other governmental entity as may have jurisdiction over such export or transmission.
|
||||
|
||||
NO WARRANTIES. To the maximum extent permitted by applicable law, Microsoft expressly disclaims any warranty for the SOFTWARE PRODUCT. The SOFTWARE PRODUCT and any related documentation are provided "as is" without warranty of any kind, either express or implied, including, without limitation, the implied warranties of merchantability or fitness for a particular purpose. The entire risk arising out of use or performance of the SOFTWARE PRODUCT remains with you.
|
||||
|
||||
LIMITATION OF LIABILITY. Microsoft's entire liability and your exclusive remedy under this EULA shall not exceed one hundred dollars (US$100.00).
|
||||
|
||||
NO LIABILITY FOR CONSEQUENTIAL DAMAGES. To the maximum extent permitted by applicable law, in no event shall Microsoft or its suppliers be liable for any damages whatsoever (including, without limitation, damages for loss of business profit, business interruption, loss of business information, or any other pecuniary loss) arising out of the use or inability to use this Microsoft product, even if Microsoft has been advised of the possibility of such damages. Because some states/jurisdictions do not allow the exclusion or limitation of liability for consequential or incidental damages, the above limitation may not apply to you.
|
||||
|
||||
U.S. GOVERNMENT RESTRICTED RIGHTS.The SOFTWARE and documentation are provided with RESTRICTED RIGHTS. Use, duplication, or disclosure by the Government is subject to restrictions as set forth in subparagraph (c)(1)(ii) of The Rights in Technical Data and Computer Software clause at DFARS 252.227-7013 or subparagraphs (c)(1) and (2) of the Commercial Computer Software -- Restricted Rights at 48 CFR 52.227-19, as applicable. Manufacturer is Microsoft Corporation/One Microsoft Way/Redmond, WA 98052-6399.
|
||||
|
||||
If you acquired this product in the United States, this Agreement is governed by the laws of the State of Washington. If you acquired this product outside the United States, local law may apply.
|
||||
|
||||
Should you have any questions concerning this Agreement, if you desire rights to use the product beyond what is listed here, or if you desire to contact Microsoft for any reason, please contact your local Microsoft subsidiary or sales office or write to: Microsoft Sales and Service, One Microsoft Way, Redmond, WA 98052-6399.
|
||||
|
||||
Si vous avez acquis votre produit Microsoft au CANADA, la garantie limitée suivante vous concerne :
|
||||
|
||||
GARANTIE LIMITÉE
|
||||
|
||||
EXCLUSION DE GARANTIES. Microsoft renonce entièrement à toute garantie pour le LOGICIEL. Le LOGICIEL et toute autre documentation s'y rapportant sont fournis «comme tels» sans aucune garantie quelle qu'elle soit, expresse ou implicite, y compris, mais ne se limitant pas, aux garanties implicites de la qualité marchande ou un usage particulier. Le risque total découlant de l'utilisation ou de la performance du LOGICIEL est entre vos mains.
|
||||
|
||||
RESPONSABILITÉ LIMITÉE. La seule obligation de Microsoft et votre recours exclusif concernant ce contrat n'excèderont pas cent dollars (US$100.00).
|
||||
|
||||
ABSENCE DE RESPONSABILITÉ POUR LES DOMMAGES INDIRECTS. Microsoft ou ses fournisseurs ne pourront être tenus responsables en aucune circonstance de tout dommage quel qu'il soit (y compris mais non de façon limitative aux dommages directs ou indirects causés par la perte de bénéfices commerciaux, l'interruption des affaires, la perte d'information commerciale ou toute autre perte pécuniaire) résultant de l'utilisation ou de l'impossibilité d'utilisation de ce produit, et ce, même si la société Microsoft a été avisée de l'éventualité de tels dommages. Certains états/juridictions ne permettent pas l'exclusion ou la limitation de responsabilité relative aux dommages indirects ou consécutifs, et la limitation ci-dessus peut ne pas s'appliquer à votre égard.
|
||||
|
||||
La présente Convention est régie par les lois de la province d'Ontario, Canada. Chacune des parties à la présente reconnaît irrévocablement la compétence des tribunaux de la province d'Ontario et consent à instituer tout litige qui pourrait découler de la présente auprès des tribunaux situés dans le district judiciaire de York, province d'Ontario.
|
||||
|
||||
Au cas où vous auriez des questions concernant cette licence ou que vous désiriez vous mettre en rapport avec Microsoft pour quelque raison que ce soit, veuillez contacter la succursale Microsoft desservant votre pays, dont l'adresse est fournie dans ce produit, ou écrire à : Microsoft Customer Sales and Service, One Microsoft Way, Redmond, Washington 98052-6399.
|
||||
|
||||
|
||||
@@ -1,53 +1,53 @@
|
||||
Window NT Device Driver Kit
|
||||
END-USER LICENSE AGREEMENT FOR MICROSOFT SOFTWARE
|
||||
|
||||
IMPORTANT-READ CAREFULLY: This Microsoft End-User License Agreement ("EULA") is a legal agreement between you (either an individual or a single entity) and Microsoft Corporation for the Microsoft software product identified above, which includes computer software and associated media and printed materials, and may include "online" or electronic documentation ("SOFTWARE PRODUCT" or "SOFTWARE"). By installing, copying, or otherwise using the SOFTWARE PRODUCT, you agree to be bound by the terms of this EULA. If you do not agree to the terms of this EULA, promptly return the unused SOFTWARE PRODUCT to the place from which you obtained it for a full refund, or if you received the SOFTWARE PRODUCT as part of a subscription or other service from Microsoft, you may cancel the subscription and receive a refund of a prorata portion of the subscription price.
|
||||
|
||||
SOFTWARE PRODUCT LICENSE
|
||||
The SOFTWARE PRODUCT is protected by copyright laws and international copyright treaties, as well as other intellectual property laws and treaties. The SOFTWARE PRODUCT is licensed, not sold. To develop Windows NT(tm) device drivers, you will need to utilize two computers, one for development and one for debugging.
|
||||
|
||||
1. GRANT OF LICENSE. This EULA grants you the following limited, non-exclusive rights:
|
||||
* SOFTWARE PRODUCT. (a) You may make two (2) copies of the SOFTWARE PRODUCT for installation and use on two (2) computers, one for use in development and one for use in debugging to design, develop, and test your software product(s), including but not limited to device driver(s) and other software products, for use with Microsoft(r) Windows(r) or Windows NT ("Software Product"). You may make an additional copy of the Windows NT Workstation operating system (licensed and provided separately) for use on a single computer used for debugging purposes.
|
||||
* Microsoft Developer Network Subscriber. If you acquired the SOFTWARE PRODUCT through a subscription to the Microsoft Developer Network, and you are either an individual developer or an individual designated within a single entity, you are granted the following additional rights with respect to the SOFTWARE PRODUCT: (a) you may make and use copies of the SOFTWARE PRODUCT on up to ten (10) separate computers, provided that you are the only individual using the SOFTWARE PRODUCT on each such computer, and (b) if you are a single entity, you may designate one individual within your organization to have the right to use the SOFTWARE PRODUCT in the manner described herein.
|
||||
* SAMPLE CODE. You may modify the sample source code ("Sample Code") to design, develop and test your Software Product, and reproduce and distribute the Sample Code with such modifications in source and object code forms, provided that you comply with the Distribution Requirements described below.
|
||||
* DISTRIBUTION REQUIREMENTS. You may copy and redistribute the Sample Code as described above, provided that (a) you distribute the Sample Code only in conjunction with and as a part of your Software Product; (b) you do not make any statements to the effect or which imply that your Software Product is "certified" by Microsoft or that its performance is guaranteed by Microsoft; (c) you do not use Microsoft's name, logo, or trademarks to market your Software Product; (d) you include a valid copyright notice on your Software Product; and (e) you indemnify, hold harmless, and defend Microsoft from and against any claims or lawsuits, including attorneys' fees, that arise or result from the use or distribution of your Software Product. Contact Microsoft for the applicable royalties due and other licensing terms for all other uses and/or distribution of the Sample Code
|
||||
* Microsoft reserves all rights not expressly granted to you.
|
||||
|
||||
2. COPYRIGHT. All right, title, and copyrights in and to the SOFTWARE PRODUCT (including but not limited to any images, photographs, animations, video, audio, music, text, and "applets" incorporated into the SOFTWARE PRODUCT), and any copies of the SOFTWARE PRODUCT, are owned by Microsoft or its suppliers. The SOFTWARE PRODUCT is protected by copyright laws and international treaty provisions. Therefore, you must treat the SOFTWARE PRODUCT like any other copyrighted material except that you may either (a) make one copy of the SOFTWARE PRODUCT solely for backup or archival purposes, or (b) install the SOFTWARE PRODUCT on a single computer, provided you keep the original solely for backup or archival purposes. You may not copy the printed materials accompanying the SOFTWARE PRODUCT.
|
||||
|
||||
3. PRERELEASE CODE. The SOFTWARE PRODUCT may contain PRERELEASE CODE that is not at the level of performance and compatibility of the final, generally available, product offering. These portions of the SOFTWARE PRODUCT may not operate correctly and may be substantially modified prior to first commercial shipment. Microsoft is not obligated to make this or any later version of the SOFTWARE PRODUCT commercially available. Microsoft grants you the right to distribute test versions of your Application created using the PRERELEASE CODE provided you comply with the Distribution Requirements described in Section 1 and the following additional provisions: (a) you must mark the test version of your Application "BETA" and (b) you are solely responsible for updating your customers with versions of your Application that operate satisfactorily with the final commercial release of the PRERELEASE CODE.
|
||||
|
||||
4. DESCRIPTION OF OTHER RIGHTS AND LIMITATIONS.
|
||||
( Limitations on Reverse Engineering, Decompilation, and Disassembly. You may not reverse-engineer, decompile, or disassemble the SOFTWARE PRODUCT, except and only to the extent that such activity is expressly permitted by applicable law notwithstanding this limitation.
|
||||
( Rental. You may not rent or lease the SOFTWARE PRODUCT.
|
||||
( Software Transfer. You may permanently transfer all of your rights under this EULA, provided you retain no copies, you transfer all of the SOFTWARE PRODUCT (including all component parts, the media and printed materials, any upgrades, this EULA, and, if applicable, the Certificate of Authenticity), and the recipient agrees to the terms of this EULA. If the SOFTWARE PRODUCT is an upgrade, any transfer must include all prior versions of the SOFTWARE PRODUCT.
|
||||
( Termination. Without prejudice to any other rights, Microsoft may terminate this EULA if you fail to comply with the terms and conditions of this EULA. In such event, you must destroy all copies of the SOFTWARE PRODUCT and all of its component parts.
|
||||
|
||||
5. EXPORT RESTRICTIONS. You agree that neither you nor your customers intend to or will, directly or indirectly, export or transmit (a) the SOFTWARE PRODUCT or related documentation and technical data or (b) your Application as described in Section 1 of this Agreement (or any part thereof), or process, or service that is the direct product of the SOFTWARE PRODUCT to any country to which such export or transmission is restricted by any applicable U.S. regulation or statute, without the prior written consent, if required, of the Bureau of Export Administration of the U.S. Department of Commerce, or such other governmental entity as may have jurisdiction over such export or transmission.
|
||||
|
||||
NO WARRANTIES. To the maximum extent permitted by applicable law, Microsoft expressly disclaims any warranty for the SOFTWARE PRODUCT. The SOFTWARE PRODUCT and any related documentation are provided "as is" without warranty of any kind, either express or implied, including, without limitation, the implied warranties of merchantability or fitness for a particular purpose. The entire risk arising out of use or performance of the SOFTWARE PRODUCT remains with you.
|
||||
|
||||
LIMITATION OF LIABILITY. Microsoft's entire liability and your exclusive remedy under this EULA shall not exceed one hundred dollars (US$100.00).
|
||||
|
||||
NO LIABILITY FOR CONSEQUENTIAL DAMAGES. To the maximum extent permitted by applicable law, in no event shall Microsoft or its suppliers be liable for any damages whatsoever (including, without limitation, damages for loss of business profit, business interruption, loss of business information, or any other pecuniary loss) arising out of the use or inability to use this Microsoft product, even if Microsoft has been advised of the possibility of such damages. Because some states/jurisdictions do not allow the exclusion or limitation of liability for consequential or incidental damages, the above limitation may not apply to you.
|
||||
|
||||
U.S. GOVERNMENT RESTRICTED RIGHTS.The SOFTWARE and documentation are provided with RESTRICTED RIGHTS. Use, duplication, or disclosure by the Government is subject to restrictions as set forth in subparagraph (c)(1)(ii) of The Rights in Technical Data and Computer Software clause at DFARS 252.227-7013 or subparagraphs (c)(1) and (2) of the Commercial Computer Software -- Restricted Rights at 48 CFR 52.227-19, as applicable. Manufacturer is Microsoft Corporation/One Microsoft Way/Redmond, WA 98052-6399.
|
||||
|
||||
If you acquired this product in the United States, this Agreement is governed by the laws of the State of Washington. If you acquired this product outside the United States, local law may apply.
|
||||
|
||||
Should you have any questions concerning this Agreement, if you desire rights to use the product beyond what is listed here, or if you desire to contact Microsoft for any reason, please contact your local Microsoft subsidiary or sales office or write to: Microsoft Sales and Service, One Microsoft Way, Redmond, WA 98052-6399.
|
||||
|
||||
Si vous avez acquis votre produit Microsoft au CANADA, la garantie limitée suivante vous concerne :
|
||||
|
||||
GARANTIE LIMITÉE
|
||||
|
||||
EXCLUSION DE GARANTIES. Microsoft renonce entièrement à toute garantie pour le LOGICIEL. Le LOGICIEL et toute autre documentation s'y rapportant sont fournis «comme tels» sans aucune garantie quelle qu'elle soit, expresse ou implicite, y compris, mais ne se limitant pas, aux garanties implicites de la qualité marchande ou un usage particulier. Le risque total découlant de l'utilisation ou de la performance du LOGICIEL est entre vos mains.
|
||||
|
||||
RESPONSABILITÉ LIMITÉE. La seule obligation de Microsoft et votre recours exclusif concernant ce contrat n'excèderont pas cent dollars (US$100.00).
|
||||
|
||||
ABSENCE DE RESPONSABILITÉ POUR LES DOMMAGES INDIRECTS. Microsoft ou ses fournisseurs ne pourront être tenus responsables en aucune circonstance de tout dommage quel qu'il soit (y compris mais non de façon limitative aux dommages directs ou indirects causés par la perte de bénéfices commerciaux, l'interruption des affaires, la perte d'information commerciale ou toute autre perte pécuniaire) résultant de l'utilisation ou de l'impossibilité d'utilisation de ce produit, et ce, même si la société Microsoft a été avisée de l'éventualité de tels dommages. Certains états/juridictions ne permettent pas l'exclusion ou la limitation de responsabilité relative aux dommages indirects ou consécutifs, et la limitation ci-dessus peut ne pas s'appliquer à votre égard.
|
||||
|
||||
La présente Convention est régie par les lois de la province d'Ontario, Canada. Chacune des parties à la présente reconnaît irrévocablement la compétence des tribunaux de la province d'Ontario et consent à instituer tout litige qui pourrait découler de la présente auprès des tribunaux situés dans le district judiciaire de York, province d'Ontario.
|
||||
|
||||
Au cas où vous auriez des questions concernant cette licence ou que vous désiriez vous mettre en rapport avec Microsoft pour quelque raison que ce soit, veuillez contacter la succursale Microsoft desservant votre pays, dont l'adresse est fournie dans ce produit, ou écrire à : Microsoft Customer Sales and Service, One Microsoft Way, Redmond, Washington 98052-6399.
|
||||
|
||||
Window NT Device Driver Kit
|
||||
END-USER LICENSE AGREEMENT FOR MICROSOFT SOFTWARE
|
||||
|
||||
IMPORTANT-READ CAREFULLY: This Microsoft End-User License Agreement ("EULA") is a legal agreement between you (either an individual or a single entity) and Microsoft Corporation for the Microsoft software product identified above, which includes computer software and associated media and printed materials, and may include "online" or electronic documentation ("SOFTWARE PRODUCT" or "SOFTWARE"). By installing, copying, or otherwise using the SOFTWARE PRODUCT, you agree to be bound by the terms of this EULA. If you do not agree to the terms of this EULA, promptly return the unused SOFTWARE PRODUCT to the place from which you obtained it for a full refund, or if you received the SOFTWARE PRODUCT as part of a subscription or other service from Microsoft, you may cancel the subscription and receive a refund of a prorata portion of the subscription price.
|
||||
|
||||
SOFTWARE PRODUCT LICENSE
|
||||
The SOFTWARE PRODUCT is protected by copyright laws and international copyright treaties, as well as other intellectual property laws and treaties. The SOFTWARE PRODUCT is licensed, not sold. To develop Windows NT(tm) device drivers, you will need to utilize two computers, one for development and one for debugging.
|
||||
|
||||
1. GRANT OF LICENSE. This EULA grants you the following limited, non-exclusive rights:
|
||||
* SOFTWARE PRODUCT. (a) You may make two (2) copies of the SOFTWARE PRODUCT for installation and use on two (2) computers, one for use in development and one for use in debugging to design, develop, and test your software product(s), including but not limited to device driver(s) and other software products, for use with Microsoft(r) Windows(r) or Windows NT ("Software Product"). You may make an additional copy of the Windows NT Workstation operating system (licensed and provided separately) for use on a single computer used for debugging purposes.
|
||||
* Microsoft Developer Network Subscriber. If you acquired the SOFTWARE PRODUCT through a subscription to the Microsoft Developer Network, and you are either an individual developer or an individual designated within a single entity, you are granted the following additional rights with respect to the SOFTWARE PRODUCT: (a) you may make and use copies of the SOFTWARE PRODUCT on up to ten (10) separate computers, provided that you are the only individual using the SOFTWARE PRODUCT on each such computer, and (b) if you are a single entity, you may designate one individual within your organization to have the right to use the SOFTWARE PRODUCT in the manner described herein.
|
||||
* SAMPLE CODE. You may modify the sample source code ("Sample Code") to design, develop and test your Software Product, and reproduce and distribute the Sample Code with such modifications in source and object code forms, provided that you comply with the Distribution Requirements described below.
|
||||
* DISTRIBUTION REQUIREMENTS. You may copy and redistribute the Sample Code as described above, provided that (a) you distribute the Sample Code only in conjunction with and as a part of your Software Product; (b) you do not make any statements to the effect or which imply that your Software Product is "certified" by Microsoft or that its performance is guaranteed by Microsoft; (c) you do not use Microsoft's name, logo, or trademarks to market your Software Product; (d) you include a valid copyright notice on your Software Product; and (e) you indemnify, hold harmless, and defend Microsoft from and against any claims or lawsuits, including attorneys' fees, that arise or result from the use or distribution of your Software Product. Contact Microsoft for the applicable royalties due and other licensing terms for all other uses and/or distribution of the Sample Code
|
||||
* Microsoft reserves all rights not expressly granted to you.
|
||||
|
||||
2. COPYRIGHT. All right, title, and copyrights in and to the SOFTWARE PRODUCT (including but not limited to any images, photographs, animations, video, audio, music, text, and "applets" incorporated into the SOFTWARE PRODUCT), and any copies of the SOFTWARE PRODUCT, are owned by Microsoft or its suppliers. The SOFTWARE PRODUCT is protected by copyright laws and international treaty provisions. Therefore, you must treat the SOFTWARE PRODUCT like any other copyrighted material except that you may either (a) make one copy of the SOFTWARE PRODUCT solely for backup or archival purposes, or (b) install the SOFTWARE PRODUCT on a single computer, provided you keep the original solely for backup or archival purposes. You may not copy the printed materials accompanying the SOFTWARE PRODUCT.
|
||||
|
||||
3. PRERELEASE CODE. The SOFTWARE PRODUCT may contain PRERELEASE CODE that is not at the level of performance and compatibility of the final, generally available, product offering. These portions of the SOFTWARE PRODUCT may not operate correctly and may be substantially modified prior to first commercial shipment. Microsoft is not obligated to make this or any later version of the SOFTWARE PRODUCT commercially available. Microsoft grants you the right to distribute test versions of your Application created using the PRERELEASE CODE provided you comply with the Distribution Requirements described in Section 1 and the following additional provisions: (a) you must mark the test version of your Application "BETA" and (b) you are solely responsible for updating your customers with versions of your Application that operate satisfactorily with the final commercial release of the PRERELEASE CODE.
|
||||
|
||||
4. DESCRIPTION OF OTHER RIGHTS AND LIMITATIONS.
|
||||
( Limitations on Reverse Engineering, Decompilation, and Disassembly. You may not reverse-engineer, decompile, or disassemble the SOFTWARE PRODUCT, except and only to the extent that such activity is expressly permitted by applicable law notwithstanding this limitation.
|
||||
( Rental. You may not rent or lease the SOFTWARE PRODUCT.
|
||||
( Software Transfer. You may permanently transfer all of your rights under this EULA, provided you retain no copies, you transfer all of the SOFTWARE PRODUCT (including all component parts, the media and printed materials, any upgrades, this EULA, and, if applicable, the Certificate of Authenticity), and the recipient agrees to the terms of this EULA. If the SOFTWARE PRODUCT is an upgrade, any transfer must include all prior versions of the SOFTWARE PRODUCT.
|
||||
( Termination. Without prejudice to any other rights, Microsoft may terminate this EULA if you fail to comply with the terms and conditions of this EULA. In such event, you must destroy all copies of the SOFTWARE PRODUCT and all of its component parts.
|
||||
|
||||
5. EXPORT RESTRICTIONS. You agree that neither you nor your customers intend to or will, directly or indirectly, export or transmit (a) the SOFTWARE PRODUCT or related documentation and technical data or (b) your Application as described in Section 1 of this Agreement (or any part thereof), or process, or service that is the direct product of the SOFTWARE PRODUCT to any country to which such export or transmission is restricted by any applicable U.S. regulation or statute, without the prior written consent, if required, of the Bureau of Export Administration of the U.S. Department of Commerce, or such other governmental entity as may have jurisdiction over such export or transmission.
|
||||
|
||||
NO WARRANTIES. To the maximum extent permitted by applicable law, Microsoft expressly disclaims any warranty for the SOFTWARE PRODUCT. The SOFTWARE PRODUCT and any related documentation are provided "as is" without warranty of any kind, either express or implied, including, without limitation, the implied warranties of merchantability or fitness for a particular purpose. The entire risk arising out of use or performance of the SOFTWARE PRODUCT remains with you.
|
||||
|
||||
LIMITATION OF LIABILITY. Microsoft's entire liability and your exclusive remedy under this EULA shall not exceed one hundred dollars (US$100.00).
|
||||
|
||||
NO LIABILITY FOR CONSEQUENTIAL DAMAGES. To the maximum extent permitted by applicable law, in no event shall Microsoft or its suppliers be liable for any damages whatsoever (including, without limitation, damages for loss of business profit, business interruption, loss of business information, or any other pecuniary loss) arising out of the use or inability to use this Microsoft product, even if Microsoft has been advised of the possibility of such damages. Because some states/jurisdictions do not allow the exclusion or limitation of liability for consequential or incidental damages, the above limitation may not apply to you.
|
||||
|
||||
U.S. GOVERNMENT RESTRICTED RIGHTS.The SOFTWARE and documentation are provided with RESTRICTED RIGHTS. Use, duplication, or disclosure by the Government is subject to restrictions as set forth in subparagraph (c)(1)(ii) of The Rights in Technical Data and Computer Software clause at DFARS 252.227-7013 or subparagraphs (c)(1) and (2) of the Commercial Computer Software -- Restricted Rights at 48 CFR 52.227-19, as applicable. Manufacturer is Microsoft Corporation/One Microsoft Way/Redmond, WA 98052-6399.
|
||||
|
||||
If you acquired this product in the United States, this Agreement is governed by the laws of the State of Washington. If you acquired this product outside the United States, local law may apply.
|
||||
|
||||
Should you have any questions concerning this Agreement, if you desire rights to use the product beyond what is listed here, or if you desire to contact Microsoft for any reason, please contact your local Microsoft subsidiary or sales office or write to: Microsoft Sales and Service, One Microsoft Way, Redmond, WA 98052-6399.
|
||||
|
||||
Si vous avez acquis votre produit Microsoft au CANADA, la garantie limitée suivante vous concerne :
|
||||
|
||||
GARANTIE LIMITÉE
|
||||
|
||||
EXCLUSION DE GARANTIES. Microsoft renonce entièrement à toute garantie pour le LOGICIEL. Le LOGICIEL et toute autre documentation s'y rapportant sont fournis «comme tels» sans aucune garantie quelle qu'elle soit, expresse ou implicite, y compris, mais ne se limitant pas, aux garanties implicites de la qualité marchande ou un usage particulier. Le risque total découlant de l'utilisation ou de la performance du LOGICIEL est entre vos mains.
|
||||
|
||||
RESPONSABILITÉ LIMITÉE. La seule obligation de Microsoft et votre recours exclusif concernant ce contrat n'excèderont pas cent dollars (US$100.00).
|
||||
|
||||
ABSENCE DE RESPONSABILITÉ POUR LES DOMMAGES INDIRECTS. Microsoft ou ses fournisseurs ne pourront être tenus responsables en aucune circonstance de tout dommage quel qu'il soit (y compris mais non de façon limitative aux dommages directs ou indirects causés par la perte de bénéfices commerciaux, l'interruption des affaires, la perte d'information commerciale ou toute autre perte pécuniaire) résultant de l'utilisation ou de l'impossibilité d'utilisation de ce produit, et ce, même si la société Microsoft a été avisée de l'éventualité de tels dommages. Certains états/juridictions ne permettent pas l'exclusion ou la limitation de responsabilité relative aux dommages indirects ou consécutifs, et la limitation ci-dessus peut ne pas s'appliquer à votre égard.
|
||||
|
||||
La présente Convention est régie par les lois de la province d'Ontario, Canada. Chacune des parties à la présente reconnaît irrévocablement la compétence des tribunaux de la province d'Ontario et consent à instituer tout litige qui pourrait découler de la présente auprès des tribunaux situés dans le district judiciaire de York, province d'Ontario.
|
||||
|
||||
Au cas où vous auriez des questions concernant cette licence ou que vous désiriez vous mettre en rapport avec Microsoft pour quelque raison que ce soit, veuillez contacter la succursale Microsoft desservant votre pays, dont l'adresse est fournie dans ce produit, ou écrire à : Microsoft Customer Sales and Service, One Microsoft Way, Redmond, Washington 98052-6399.
|
||||
|
||||
|
||||
@@ -1,16 +1,16 @@
|
||||
<?xml version="1.0"?>
|
||||
<!DOCTYPE group SYSTEM "../../../tools/rbuild/project.dtd">
|
||||
<group xmlns:xi="http://www.w3.org/2001/XInclude">
|
||||
<directory name="atapi">
|
||||
<xi:include href="atapi/atapi.rbuild" />
|
||||
</directory>
|
||||
<directory name="pciide">
|
||||
<xi:include href="pciide/pciide.rbuild" />
|
||||
</directory>
|
||||
<directory name="pciidex">
|
||||
<xi:include href="pciidex/pciidex.rbuild" />
|
||||
</directory>
|
||||
<directory name="uniata">
|
||||
<xi:include href="uniata/uniata.rbuild" />
|
||||
</directory>
|
||||
</group>
|
||||
<?xml version="1.0"?>
|
||||
<!DOCTYPE group SYSTEM "../../../tools/rbuild/project.dtd">
|
||||
<group xmlns:xi="http://www.w3.org/2001/XInclude">
|
||||
<directory name="atapi">
|
||||
<xi:include href="atapi/atapi.rbuild" />
|
||||
</directory>
|
||||
<directory name="pciide">
|
||||
<xi:include href="pciide/pciide.rbuild" />
|
||||
</directory>
|
||||
<directory name="pciidex">
|
||||
<xi:include href="pciidex/pciidex.rbuild" />
|
||||
</directory>
|
||||
<directory name="uniata">
|
||||
<xi:include href="uniata/uniata.rbuild" />
|
||||
</directory>
|
||||
</group>
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
#include "stdafx.h"
|
||||
|
||||
extern "C" {
|
||||
ULONG MajorVersion = 0x05;
|
||||
ULONG MinorVersion = 0x02;
|
||||
ULONG BuildNumber = 0x0;
|
||||
}
|
||||
#include "stdafx.h"
|
||||
|
||||
extern "C" {
|
||||
ULONG MajorVersion = 0x05;
|
||||
ULONG MinorVersion = 0x02;
|
||||
ULONG BuildNumber = 0x0;
|
||||
}
|
||||
|
||||
@@ -1,30 +1,30 @@
|
||||
.intel_syntax noprefix
|
||||
|
||||
.globl @_MOV_DD_SWP@8
|
||||
.globl @_MOV_DW_SWP@8
|
||||
.globl @_MOV_SWP_DW2DD@8
|
||||
|
||||
.func @_MOV_DD_SWP@8, @_MOV_DD_SWP@8
|
||||
@_MOV_DD_SWP@8:
|
||||
mov eax,[edx]
|
||||
bswap eax
|
||||
mov [ecx],eax
|
||||
ret
|
||||
.endfunc
|
||||
|
||||
.func @_MOV_DW_SWP@8, @_MOV_DW_SWP@8
|
||||
@_MOV_DW_SWP@8:
|
||||
mov ax,[edx]
|
||||
rol ax,8
|
||||
mov [ecx],ax
|
||||
ret
|
||||
.endfunc
|
||||
|
||||
.func @_MOV_SWP_DW2DD@8, @_MOV_SWP_DW2DD@8
|
||||
@_MOV_SWP_DW2DD@8:
|
||||
xor eax,eax
|
||||
mov ax,[edx]
|
||||
rol ax,8
|
||||
mov [ecx],eax
|
||||
ret
|
||||
.endfunc
|
||||
.intel_syntax noprefix
|
||||
|
||||
.globl @_MOV_DD_SWP@8
|
||||
.globl @_MOV_DW_SWP@8
|
||||
.globl @_MOV_SWP_DW2DD@8
|
||||
|
||||
.func @_MOV_DD_SWP@8, @_MOV_DD_SWP@8
|
||||
@_MOV_DD_SWP@8:
|
||||
mov eax,[edx]
|
||||
bswap eax
|
||||
mov [ecx],eax
|
||||
ret
|
||||
.endfunc
|
||||
|
||||
.func @_MOV_DW_SWP@8, @_MOV_DW_SWP@8
|
||||
@_MOV_DW_SWP@8:
|
||||
mov ax,[edx]
|
||||
rol ax,8
|
||||
mov [ecx],ax
|
||||
ret
|
||||
.endfunc
|
||||
|
||||
.func @_MOV_SWP_DW2DD@8, @_MOV_SWP_DW2DD@8
|
||||
@_MOV_SWP_DW2DD@8:
|
||||
xor eax,eax
|
||||
mov ax,[edx]
|
||||
rol ax,8
|
||||
mov [ecx],eax
|
||||
ret
|
||||
.endfunc
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
<?xml version="1.0"?>
|
||||
<!DOCTYPE group SYSTEM "../../../tools/rbuild/project.dtd">
|
||||
<group xmlns:xi="http://www.w3.org/2001/XInclude">
|
||||
<directory name="buslogic">
|
||||
<xi:include href="buslogic/buslogic.rbuild" />
|
||||
</directory>
|
||||
</group>
|
||||
<?xml version="1.0"?>
|
||||
<!DOCTYPE group SYSTEM "../../../tools/rbuild/project.dtd">
|
||||
<group xmlns:xi="http://www.w3.org/2001/XInclude">
|
||||
<directory name="buslogic">
|
||||
<xi:include href="buslogic/buslogic.rbuild" />
|
||||
</directory>
|
||||
</group>
|
||||
|
||||
@@ -1,10 +1,10 @@
|
||||
<?xml version="1.0"?>
|
||||
<!DOCTYPE group SYSTEM "../../../../tools/rbuild/project.dtd">
|
||||
<group xmlns:xi="http://www.w3.org/2001/XInclude">
|
||||
<directory name="audio_test">
|
||||
<xi:include href="audio_test/audio_test.rbuild" />
|
||||
</directory>
|
||||
<directory name="portcls">
|
||||
<xi:include href="portcls/portcls.rbuild" />
|
||||
</directory>
|
||||
</group>
|
||||
<?xml version="1.0"?>
|
||||
<!DOCTYPE group SYSTEM "../../../../tools/rbuild/project.dtd">
|
||||
<group xmlns:xi="http://www.w3.org/2001/XInclude">
|
||||
<directory name="audio_test">
|
||||
<xi:include href="audio_test/audio_test.rbuild" />
|
||||
</directory>
|
||||
<directory name="portcls">
|
||||
<xi:include href="portcls/portcls.rbuild" />
|
||||
</directory>
|
||||
</group>
|
||||
|
||||
@@ -1,22 +1,22 @@
|
||||
<?xml version="1.0"?>
|
||||
<!DOCTYPE group SYSTEM "../../../tools/rbuild/project.dtd">
|
||||
<group xmlns:xi="http://www.w3.org/2001/XInclude">
|
||||
<directory name="backpln">
|
||||
<xi:include href="backpln/directory.rbuild" />
|
||||
</directory>
|
||||
<directory name="drivers">
|
||||
<xi:include href="drivers/directory.rbuild" />
|
||||
</directory>
|
||||
<directory name="drm">
|
||||
<xi:include href="drm/directory.rbuild" />
|
||||
</directory>
|
||||
<directory name="filters">
|
||||
<xi:include href="filters/directory.rbuild" />
|
||||
</directory>
|
||||
<directory name="legacy">
|
||||
<xi:include href="legacy/directory.rbuild" />
|
||||
</directory>
|
||||
<directory name="sysaudio">
|
||||
<xi:include href="sysaudio/sysaudio.rbuild" />
|
||||
</directory>
|
||||
</group>
|
||||
<?xml version="1.0"?>
|
||||
<!DOCTYPE group SYSTEM "../../../tools/rbuild/project.dtd">
|
||||
<group xmlns:xi="http://www.w3.org/2001/XInclude">
|
||||
<directory name="backpln">
|
||||
<xi:include href="backpln/directory.rbuild" />
|
||||
</directory>
|
||||
<directory name="drivers">
|
||||
<xi:include href="drivers/directory.rbuild" />
|
||||
</directory>
|
||||
<directory name="drm">
|
||||
<xi:include href="drm/directory.rbuild" />
|
||||
</directory>
|
||||
<directory name="filters">
|
||||
<xi:include href="filters/directory.rbuild" />
|
||||
</directory>
|
||||
<directory name="legacy">
|
||||
<xi:include href="legacy/directory.rbuild" />
|
||||
</directory>
|
||||
<directory name="sysaudio">
|
||||
<xi:include href="sysaudio/sysaudio.rbuild" />
|
||||
</directory>
|
||||
</group>
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
<?xml version="1.0"?>
|
||||
<!DOCTYPE group SYSTEM "../../../../tools/rbuild/project.dtd">
|
||||
<group xmlns:xi="http://www.w3.org/2001/XInclude">
|
||||
<directory name="drmk">
|
||||
<xi:include href="drmk/drmk.rbuild" />
|
||||
</directory>
|
||||
</group>
|
||||
<?xml version="1.0"?>
|
||||
<!DOCTYPE group SYSTEM "../../../../tools/rbuild/project.dtd">
|
||||
<group xmlns:xi="http://www.w3.org/2001/XInclude">
|
||||
<directory name="drmk">
|
||||
<xi:include href="drmk/drmk.rbuild" />
|
||||
</directory>
|
||||
</group>
|
||||
|
||||
@@ -1,11 +1,11 @@
|
||||
<?xml version="1.0"?>
|
||||
<!DOCTYPE group SYSTEM "../../../../tools/rbuild/project.dtd">
|
||||
<group xmlns:xi="http://www.w3.org/2001/XInclude">
|
||||
<directory name="wdmaud">
|
||||
<xi:include href="wdmaud/wdmaud.rbuild" />
|
||||
</directory>
|
||||
<directory name="stream">
|
||||
<xi:include href="stream/stream.rbuild" />
|
||||
</directory>
|
||||
|
||||
</group>
|
||||
<?xml version="1.0"?>
|
||||
<!DOCTYPE group SYSTEM "../../../../tools/rbuild/project.dtd">
|
||||
<group xmlns:xi="http://www.w3.org/2001/XInclude">
|
||||
<directory name="wdmaud">
|
||||
<xi:include href="wdmaud/wdmaud.rbuild" />
|
||||
</directory>
|
||||
<directory name="stream">
|
||||
<xi:include href="stream/stream.rbuild" />
|
||||
</directory>
|
||||
|
||||
</group>
|
||||
|
||||
+291
-291
@@ -1,291 +1,291 @@
|
||||
/*
|
||||
* PROJECT: ReactOS HAL
|
||||
* LICENSE: GPL - See COPYING in the top level directory
|
||||
* FILE: hal/halx86/generic/cmos.c
|
||||
* PURPOSE: CMOS Access Routines (Real Time Clock and LastKnownGood)
|
||||
* PROGRAMMERS: Alex Ionescu ([email protected])
|
||||
* Eric Kohl ([email protected])
|
||||
*/
|
||||
|
||||
/* INCLUDES ******************************************************************/
|
||||
|
||||
#include <hal.h>
|
||||
#define NDEBUG
|
||||
#include <debug.h>
|
||||
|
||||
/* GLOBALS *******************************************************************/
|
||||
|
||||
KSPIN_LOCK HalpSystemHardwareLock;
|
||||
|
||||
/* PRIVATE FUNCTIONS *********************************************************/
|
||||
|
||||
FORCEINLINE
|
||||
UCHAR
|
||||
HalpReadCmos(IN UCHAR Reg)
|
||||
{
|
||||
/* Select the register */
|
||||
WRITE_PORT_UCHAR(CMOS_CONTROL_PORT, Reg);
|
||||
|
||||
/* Query the value */
|
||||
return READ_PORT_UCHAR(CMOS_DATA_PORT);
|
||||
}
|
||||
|
||||
FORCEINLINE
|
||||
VOID
|
||||
HalpWriteCmos(IN UCHAR Reg,
|
||||
IN UCHAR Value)
|
||||
{
|
||||
/* Select the register */
|
||||
WRITE_PORT_UCHAR(CMOS_CONTROL_PORT, Reg);
|
||||
|
||||
/* Write the value */
|
||||
WRITE_PORT_UCHAR(CMOS_DATA_PORT, Value);
|
||||
}
|
||||
|
||||
ULONG
|
||||
NTAPI
|
||||
HalpGetCmosData(IN ULONG BusNumber,
|
||||
IN ULONG SlotNumber,
|
||||
IN PVOID Buffer,
|
||||
IN ULONG Length)
|
||||
{
|
||||
PUCHAR Ptr = (PUCHAR)Buffer;
|
||||
ULONG Address = SlotNumber;
|
||||
ULONG Len = Length;
|
||||
|
||||
/* FIXME: Acquire CMOS Lock */
|
||||
|
||||
/* Do nothing if we don't have a length */
|
||||
if (!Length) return 0;
|
||||
|
||||
/* Check if this is simple CMOS */
|
||||
if (!BusNumber)
|
||||
{
|
||||
/* Loop the buffer up to 0xFF */
|
||||
while ((Len > 0) && (Address < 0x100))
|
||||
{
|
||||
/* Read the data */
|
||||
*Ptr = HalpReadCmos((UCHAR)Address);
|
||||
|
||||
/* Update position and length */
|
||||
Ptr++;
|
||||
Address++;
|
||||
Len--;
|
||||
}
|
||||
}
|
||||
else if (BusNumber == 1)
|
||||
{
|
||||
/* Loop the buffer up to 0xFFFF */
|
||||
while ((Len > 0) && (Address < 0x10000))
|
||||
{
|
||||
/* Write the data */
|
||||
*Ptr = HalpReadCmos((UCHAR)Address);
|
||||
|
||||
/* Update position and length */
|
||||
Ptr++;
|
||||
Address++;
|
||||
Len--;
|
||||
}
|
||||
}
|
||||
|
||||
/* FIXME: Release the CMOS Lock */
|
||||
|
||||
/* Return length read */
|
||||
return Length - Len;
|
||||
}
|
||||
|
||||
ULONG
|
||||
NTAPI
|
||||
HalpSetCmosData(IN ULONG BusNumber,
|
||||
IN ULONG SlotNumber,
|
||||
IN PVOID Buffer,
|
||||
IN ULONG Length)
|
||||
{
|
||||
PUCHAR Ptr = (PUCHAR)Buffer;
|
||||
ULONG Address = SlotNumber;
|
||||
ULONG Len = Length;
|
||||
|
||||
/* FIXME: Acquire CMOS Lock */
|
||||
|
||||
/* Do nothing if we don't have a length */
|
||||
if (!Length) return 0;
|
||||
|
||||
/* Check if this is simple CMOS */
|
||||
if (!BusNumber)
|
||||
{
|
||||
/* Loop the buffer up to 0xFF */
|
||||
while ((Len > 0) && (Address < 0x100))
|
||||
{
|
||||
/* Write the data */
|
||||
HalpWriteCmos((UCHAR)Address, *Ptr);
|
||||
|
||||
/* Update position and length */
|
||||
Ptr++;
|
||||
Address++;
|
||||
Len--;
|
||||
}
|
||||
}
|
||||
else if (BusNumber == 1)
|
||||
{
|
||||
/* Loop the buffer up to 0xFFFF */
|
||||
while ((Len > 0) && (Address < 0x10000))
|
||||
{
|
||||
/* Write the data */
|
||||
HalpWriteCmos((UCHAR)Address, *Ptr);
|
||||
|
||||
/* Update position and length */
|
||||
Ptr++;
|
||||
Address++;
|
||||
Len--;
|
||||
}
|
||||
}
|
||||
|
||||
/* FIXME: Release the CMOS Lock */
|
||||
|
||||
/* Return length read */
|
||||
return Length - Len;
|
||||
}
|
||||
|
||||
/* PUBLIC FUNCTIONS **********************************************************/
|
||||
|
||||
/*
|
||||
* @implemented
|
||||
*/
|
||||
ARC_STATUS
|
||||
NTAPI
|
||||
HalGetEnvironmentVariable(IN PCH Name,
|
||||
IN USHORT ValueLength,
|
||||
IN PCH Value)
|
||||
{
|
||||
UCHAR Val;
|
||||
|
||||
/* Only variable supported on x86 */
|
||||
if (_stricmp(Name, "LastKnownGood")) return ENOENT;
|
||||
|
||||
/* FIXME: Acquire CMOS Lock */
|
||||
|
||||
/* Query the current value */
|
||||
Val = HalpReadCmos(RTC_REGISTER_B) & 0x01;
|
||||
|
||||
/* FIXME: Release CMOS lock */
|
||||
|
||||
/* Check the flag */
|
||||
if (Val)
|
||||
{
|
||||
/* Return false */
|
||||
strncpy(Value, "FALSE", ValueLength);
|
||||
}
|
||||
else
|
||||
{
|
||||
/* Return true */
|
||||
strncpy(Value, "TRUE", ValueLength);
|
||||
}
|
||||
|
||||
/* Return success */
|
||||
return ESUCCESS;
|
||||
}
|
||||
|
||||
/*
|
||||
* @implemented
|
||||
*/
|
||||
ARC_STATUS
|
||||
NTAPI
|
||||
HalSetEnvironmentVariable(IN PCH Name,
|
||||
IN PCH Value)
|
||||
{
|
||||
UCHAR Val;
|
||||
|
||||
/* Only variable supported on x86 */
|
||||
if (_stricmp(Name, "LastKnownGood")) return ENOMEM;
|
||||
|
||||
/* Check if this is true or false */
|
||||
if (!_stricmp(Value, "TRUE"))
|
||||
{
|
||||
/* It's true, acquire CMOS lock (FIXME) */
|
||||
|
||||
/* Read the current value and add the flag */
|
||||
Val = HalpReadCmos(RTC_REGISTER_B) | 1;
|
||||
}
|
||||
else if (!_stricmp(Value, "FALSE"))
|
||||
{
|
||||
/* It's false, acquire CMOS lock (FIXME) */
|
||||
|
||||
/* Read the current value and mask out the flag */
|
||||
Val = HalpReadCmos(RTC_REGISTER_B) & ~1;
|
||||
}
|
||||
else
|
||||
{
|
||||
/* Fail */
|
||||
return ENOMEM;
|
||||
}
|
||||
|
||||
/* Write new value */
|
||||
HalpWriteCmos(RTC_REGISTER_B, Val);
|
||||
|
||||
/* Release the lock and return success */
|
||||
return ESUCCESS;
|
||||
}
|
||||
|
||||
/*
|
||||
* @implemented
|
||||
*/
|
||||
BOOLEAN
|
||||
NTAPI
|
||||
HalQueryRealTimeClock(OUT PTIME_FIELDS Time)
|
||||
{
|
||||
/* FIXME: Acquire CMOS Lock */
|
||||
|
||||
/* Loop while update is in progress */
|
||||
while ((HalpReadCmos(RTC_REGISTER_A)) & RTC_REG_A_UIP);
|
||||
|
||||
/* Set the time data */
|
||||
Time->Second = BCD_INT(HalpReadCmos(0));
|
||||
Time->Minute = BCD_INT(HalpReadCmos(2));
|
||||
Time->Hour = BCD_INT(HalpReadCmos(4));
|
||||
Time->Weekday = BCD_INT(HalpReadCmos(6));
|
||||
Time->Day = BCD_INT(HalpReadCmos(7));
|
||||
Time->Month = BCD_INT(HalpReadCmos(8));
|
||||
Time->Year = BCD_INT(HalpReadCmos(9));
|
||||
Time->Milliseconds = 0;
|
||||
|
||||
/* FIXME: Check century byte */
|
||||
|
||||
/* Compensate for the century field */
|
||||
Time->Year += (Time->Year > 80) ? 1900: 2000;
|
||||
|
||||
/* FIXME: Release CMOS Lock */
|
||||
|
||||
/* Always return TRUE */
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
/*
|
||||
* @implemented
|
||||
*/
|
||||
BOOLEAN
|
||||
NTAPI
|
||||
HalSetRealTimeClock(IN PTIME_FIELDS Time)
|
||||
{
|
||||
/* FIXME: Acquire CMOS Lock */
|
||||
|
||||
/* Loop while update is in progress */
|
||||
while ((HalpReadCmos(RTC_REGISTER_A)) & RTC_REG_A_UIP);
|
||||
|
||||
/* Write time fields to CMOS RTC */
|
||||
HalpWriteCmos(0, INT_BCD(Time->Second));
|
||||
HalpWriteCmos(2, INT_BCD(Time->Minute));
|
||||
HalpWriteCmos(4, INT_BCD(Time->Hour));
|
||||
HalpWriteCmos(6, INT_BCD(Time->Weekday));
|
||||
HalpWriteCmos(7, INT_BCD(Time->Day));
|
||||
HalpWriteCmos(8, INT_BCD(Time->Month));
|
||||
HalpWriteCmos(9, INT_BCD(Time->Year % 100));
|
||||
|
||||
/* FIXME: Set the century byte */
|
||||
|
||||
/* FIXME: Release the CMOS Lock */
|
||||
|
||||
/* Always return TRUE */
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
/* EOF */
|
||||
/*
|
||||
* PROJECT: ReactOS HAL
|
||||
* LICENSE: GPL - See COPYING in the top level directory
|
||||
* FILE: hal/halx86/generic/cmos.c
|
||||
* PURPOSE: CMOS Access Routines (Real Time Clock and LastKnownGood)
|
||||
* PROGRAMMERS: Alex Ionescu ([email protected])
|
||||
* Eric Kohl ([email protected])
|
||||
*/
|
||||
|
||||
/* INCLUDES ******************************************************************/
|
||||
|
||||
#include <hal.h>
|
||||
#define NDEBUG
|
||||
#include <debug.h>
|
||||
|
||||
/* GLOBALS *******************************************************************/
|
||||
|
||||
KSPIN_LOCK HalpSystemHardwareLock;
|
||||
|
||||
/* PRIVATE FUNCTIONS *********************************************************/
|
||||
|
||||
FORCEINLINE
|
||||
UCHAR
|
||||
HalpReadCmos(IN UCHAR Reg)
|
||||
{
|
||||
/* Select the register */
|
||||
WRITE_PORT_UCHAR(CMOS_CONTROL_PORT, Reg);
|
||||
|
||||
/* Query the value */
|
||||
return READ_PORT_UCHAR(CMOS_DATA_PORT);
|
||||
}
|
||||
|
||||
FORCEINLINE
|
||||
VOID
|
||||
HalpWriteCmos(IN UCHAR Reg,
|
||||
IN UCHAR Value)
|
||||
{
|
||||
/* Select the register */
|
||||
WRITE_PORT_UCHAR(CMOS_CONTROL_PORT, Reg);
|
||||
|
||||
/* Write the value */
|
||||
WRITE_PORT_UCHAR(CMOS_DATA_PORT, Value);
|
||||
}
|
||||
|
||||
ULONG
|
||||
NTAPI
|
||||
HalpGetCmosData(IN ULONG BusNumber,
|
||||
IN ULONG SlotNumber,
|
||||
IN PVOID Buffer,
|
||||
IN ULONG Length)
|
||||
{
|
||||
PUCHAR Ptr = (PUCHAR)Buffer;
|
||||
ULONG Address = SlotNumber;
|
||||
ULONG Len = Length;
|
||||
|
||||
/* FIXME: Acquire CMOS Lock */
|
||||
|
||||
/* Do nothing if we don't have a length */
|
||||
if (!Length) return 0;
|
||||
|
||||
/* Check if this is simple CMOS */
|
||||
if (!BusNumber)
|
||||
{
|
||||
/* Loop the buffer up to 0xFF */
|
||||
while ((Len > 0) && (Address < 0x100))
|
||||
{
|
||||
/* Read the data */
|
||||
*Ptr = HalpReadCmos((UCHAR)Address);
|
||||
|
||||
/* Update position and length */
|
||||
Ptr++;
|
||||
Address++;
|
||||
Len--;
|
||||
}
|
||||
}
|
||||
else if (BusNumber == 1)
|
||||
{
|
||||
/* Loop the buffer up to 0xFFFF */
|
||||
while ((Len > 0) && (Address < 0x10000))
|
||||
{
|
||||
/* Write the data */
|
||||
*Ptr = HalpReadCmos((UCHAR)Address);
|
||||
|
||||
/* Update position and length */
|
||||
Ptr++;
|
||||
Address++;
|
||||
Len--;
|
||||
}
|
||||
}
|
||||
|
||||
/* FIXME: Release the CMOS Lock */
|
||||
|
||||
/* Return length read */
|
||||
return Length - Len;
|
||||
}
|
||||
|
||||
ULONG
|
||||
NTAPI
|
||||
HalpSetCmosData(IN ULONG BusNumber,
|
||||
IN ULONG SlotNumber,
|
||||
IN PVOID Buffer,
|
||||
IN ULONG Length)
|
||||
{
|
||||
PUCHAR Ptr = (PUCHAR)Buffer;
|
||||
ULONG Address = SlotNumber;
|
||||
ULONG Len = Length;
|
||||
|
||||
/* FIXME: Acquire CMOS Lock */
|
||||
|
||||
/* Do nothing if we don't have a length */
|
||||
if (!Length) return 0;
|
||||
|
||||
/* Check if this is simple CMOS */
|
||||
if (!BusNumber)
|
||||
{
|
||||
/* Loop the buffer up to 0xFF */
|
||||
while ((Len > 0) && (Address < 0x100))
|
||||
{
|
||||
/* Write the data */
|
||||
HalpWriteCmos((UCHAR)Address, *Ptr);
|
||||
|
||||
/* Update position and length */
|
||||
Ptr++;
|
||||
Address++;
|
||||
Len--;
|
||||
}
|
||||
}
|
||||
else if (BusNumber == 1)
|
||||
{
|
||||
/* Loop the buffer up to 0xFFFF */
|
||||
while ((Len > 0) && (Address < 0x10000))
|
||||
{
|
||||
/* Write the data */
|
||||
HalpWriteCmos((UCHAR)Address, *Ptr);
|
||||
|
||||
/* Update position and length */
|
||||
Ptr++;
|
||||
Address++;
|
||||
Len--;
|
||||
}
|
||||
}
|
||||
|
||||
/* FIXME: Release the CMOS Lock */
|
||||
|
||||
/* Return length read */
|
||||
return Length - Len;
|
||||
}
|
||||
|
||||
/* PUBLIC FUNCTIONS **********************************************************/
|
||||
|
||||
/*
|
||||
* @implemented
|
||||
*/
|
||||
ARC_STATUS
|
||||
NTAPI
|
||||
HalGetEnvironmentVariable(IN PCH Name,
|
||||
IN USHORT ValueLength,
|
||||
IN PCH Value)
|
||||
{
|
||||
UCHAR Val;
|
||||
|
||||
/* Only variable supported on x86 */
|
||||
if (_stricmp(Name, "LastKnownGood")) return ENOENT;
|
||||
|
||||
/* FIXME: Acquire CMOS Lock */
|
||||
|
||||
/* Query the current value */
|
||||
Val = HalpReadCmos(RTC_REGISTER_B) & 0x01;
|
||||
|
||||
/* FIXME: Release CMOS lock */
|
||||
|
||||
/* Check the flag */
|
||||
if (Val)
|
||||
{
|
||||
/* Return false */
|
||||
strncpy(Value, "FALSE", ValueLength);
|
||||
}
|
||||
else
|
||||
{
|
||||
/* Return true */
|
||||
strncpy(Value, "TRUE", ValueLength);
|
||||
}
|
||||
|
||||
/* Return success */
|
||||
return ESUCCESS;
|
||||
}
|
||||
|
||||
/*
|
||||
* @implemented
|
||||
*/
|
||||
ARC_STATUS
|
||||
NTAPI
|
||||
HalSetEnvironmentVariable(IN PCH Name,
|
||||
IN PCH Value)
|
||||
{
|
||||
UCHAR Val;
|
||||
|
||||
/* Only variable supported on x86 */
|
||||
if (_stricmp(Name, "LastKnownGood")) return ENOMEM;
|
||||
|
||||
/* Check if this is true or false */
|
||||
if (!_stricmp(Value, "TRUE"))
|
||||
{
|
||||
/* It's true, acquire CMOS lock (FIXME) */
|
||||
|
||||
/* Read the current value and add the flag */
|
||||
Val = HalpReadCmos(RTC_REGISTER_B) | 1;
|
||||
}
|
||||
else if (!_stricmp(Value, "FALSE"))
|
||||
{
|
||||
/* It's false, acquire CMOS lock (FIXME) */
|
||||
|
||||
/* Read the current value and mask out the flag */
|
||||
Val = HalpReadCmos(RTC_REGISTER_B) & ~1;
|
||||
}
|
||||
else
|
||||
{
|
||||
/* Fail */
|
||||
return ENOMEM;
|
||||
}
|
||||
|
||||
/* Write new value */
|
||||
HalpWriteCmos(RTC_REGISTER_B, Val);
|
||||
|
||||
/* Release the lock and return success */
|
||||
return ESUCCESS;
|
||||
}
|
||||
|
||||
/*
|
||||
* @implemented
|
||||
*/
|
||||
BOOLEAN
|
||||
NTAPI
|
||||
HalQueryRealTimeClock(OUT PTIME_FIELDS Time)
|
||||
{
|
||||
/* FIXME: Acquire CMOS Lock */
|
||||
|
||||
/* Loop while update is in progress */
|
||||
while ((HalpReadCmos(RTC_REGISTER_A)) & RTC_REG_A_UIP);
|
||||
|
||||
/* Set the time data */
|
||||
Time->Second = BCD_INT(HalpReadCmos(0));
|
||||
Time->Minute = BCD_INT(HalpReadCmos(2));
|
||||
Time->Hour = BCD_INT(HalpReadCmos(4));
|
||||
Time->Weekday = BCD_INT(HalpReadCmos(6));
|
||||
Time->Day = BCD_INT(HalpReadCmos(7));
|
||||
Time->Month = BCD_INT(HalpReadCmos(8));
|
||||
Time->Year = BCD_INT(HalpReadCmos(9));
|
||||
Time->Milliseconds = 0;
|
||||
|
||||
/* FIXME: Check century byte */
|
||||
|
||||
/* Compensate for the century field */
|
||||
Time->Year += (Time->Year > 80) ? 1900: 2000;
|
||||
|
||||
/* FIXME: Release CMOS Lock */
|
||||
|
||||
/* Always return TRUE */
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
/*
|
||||
* @implemented
|
||||
*/
|
||||
BOOLEAN
|
||||
NTAPI
|
||||
HalSetRealTimeClock(IN PTIME_FIELDS Time)
|
||||
{
|
||||
/* FIXME: Acquire CMOS Lock */
|
||||
|
||||
/* Loop while update is in progress */
|
||||
while ((HalpReadCmos(RTC_REGISTER_A)) & RTC_REG_A_UIP);
|
||||
|
||||
/* Write time fields to CMOS RTC */
|
||||
HalpWriteCmos(0, INT_BCD(Time->Second));
|
||||
HalpWriteCmos(2, INT_BCD(Time->Minute));
|
||||
HalpWriteCmos(4, INT_BCD(Time->Hour));
|
||||
HalpWriteCmos(6, INT_BCD(Time->Weekday));
|
||||
HalpWriteCmos(7, INT_BCD(Time->Day));
|
||||
HalpWriteCmos(8, INT_BCD(Time->Month));
|
||||
HalpWriteCmos(9, INT_BCD(Time->Year % 100));
|
||||
|
||||
/* FIXME: Set the century byte */
|
||||
|
||||
/* FIXME: Release the CMOS Lock */
|
||||
|
||||
/* Always return TRUE */
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
/* EOF */
|
||||
|
||||
@@ -1,48 +1,48 @@
|
||||
/*
|
||||
* PROJECT: ReactOS HAL
|
||||
* LICENSE: GPL - See COPYING in the top level directory
|
||||
* FILE: hal/halx86/generic/profil.c
|
||||
* PURPOSE: System Profiling
|
||||
* PROGRAMMERS: Alex Ionescu ([email protected])
|
||||
*/
|
||||
|
||||
/* INCLUDES ******************************************************************/
|
||||
|
||||
#include <hal.h>
|
||||
#define NDEBUG
|
||||
#include <debug.h>
|
||||
|
||||
/* FUNCTIONS *****************************************************************/
|
||||
|
||||
/*
|
||||
* @unimplemented
|
||||
*/
|
||||
VOID
|
||||
NTAPI
|
||||
HalStopProfileInterrupt(IN KPROFILE_SOURCE ProfileSource)
|
||||
{
|
||||
ASSERT(FALSE);
|
||||
return;
|
||||
}
|
||||
|
||||
/*
|
||||
* @unimplemented
|
||||
*/
|
||||
VOID
|
||||
NTAPI
|
||||
HalStartProfileInterrupt(IN KPROFILE_SOURCE ProfileSource)
|
||||
{
|
||||
ASSERT(FALSE);
|
||||
return;
|
||||
}
|
||||
|
||||
/*
|
||||
* @unimplemented
|
||||
*/
|
||||
ULONG_PTR
|
||||
NTAPI
|
||||
HalSetProfileInterval(IN ULONG_PTR Interval)
|
||||
{
|
||||
ASSERT(FALSE);
|
||||
return Interval;
|
||||
}
|
||||
/*
|
||||
* PROJECT: ReactOS HAL
|
||||
* LICENSE: GPL - See COPYING in the top level directory
|
||||
* FILE: hal/halx86/generic/profil.c
|
||||
* PURPOSE: System Profiling
|
||||
* PROGRAMMERS: Alex Ionescu ([email protected])
|
||||
*/
|
||||
|
||||
/* INCLUDES ******************************************************************/
|
||||
|
||||
#include <hal.h>
|
||||
#define NDEBUG
|
||||
#include <debug.h>
|
||||
|
||||
/* FUNCTIONS *****************************************************************/
|
||||
|
||||
/*
|
||||
* @unimplemented
|
||||
*/
|
||||
VOID
|
||||
NTAPI
|
||||
HalStopProfileInterrupt(IN KPROFILE_SOURCE ProfileSource)
|
||||
{
|
||||
ASSERT(FALSE);
|
||||
return;
|
||||
}
|
||||
|
||||
/*
|
||||
* @unimplemented
|
||||
*/
|
||||
VOID
|
||||
NTAPI
|
||||
HalStartProfileInterrupt(IN KPROFILE_SOURCE ProfileSource)
|
||||
{
|
||||
ASSERT(FALSE);
|
||||
return;
|
||||
}
|
||||
|
||||
/*
|
||||
* @unimplemented
|
||||
*/
|
||||
ULONG_PTR
|
||||
NTAPI
|
||||
HalSetProfileInterval(IN ULONG_PTR Interval)
|
||||
{
|
||||
ASSERT(FALSE);
|
||||
return Interval;
|
||||
}
|
||||
|
||||
@@ -1,20 +1,20 @@
|
||||
|
||||
#ifndef _DDERROR_
|
||||
#define _DDERROR_
|
||||
#define _WINERROR_
|
||||
#define NO_ERROR 0
|
||||
#define ERROR_INVALID_FUNCTION 1
|
||||
#define ERROR_NOT_ENOUGH_MEMORY 8
|
||||
#define ERROR_DEV_NOT_EXIST 55
|
||||
#define ERROR_INVALID_PARAMETER 87
|
||||
#define ERROR_INSUFFICIENT_BUFFER 122
|
||||
#define ERROR_INVALID_NAME 123
|
||||
#define ERROR_BUSY 170
|
||||
#define ERROR_MORE_DATA 234
|
||||
#define WAIT_TIMEOUT 258
|
||||
#define ERROR_IO_PENDING 997
|
||||
#define ERROR_DEVICE_REINITIALIZATION_NEEDED 1164
|
||||
#define ERROR_CONTINUE 1246
|
||||
#define ERROR_NO_MORE_DEVICES 1248
|
||||
#endif
|
||||
|
||||
|
||||
#ifndef _DDERROR_
|
||||
#define _DDERROR_
|
||||
#define _WINERROR_
|
||||
#define NO_ERROR 0
|
||||
#define ERROR_INVALID_FUNCTION 1
|
||||
#define ERROR_NOT_ENOUGH_MEMORY 8
|
||||
#define ERROR_DEV_NOT_EXIST 55
|
||||
#define ERROR_INVALID_PARAMETER 87
|
||||
#define ERROR_INSUFFICIENT_BUFFER 122
|
||||
#define ERROR_INVALID_NAME 123
|
||||
#define ERROR_BUSY 170
|
||||
#define ERROR_MORE_DATA 234
|
||||
#define WAIT_TIMEOUT 258
|
||||
#define ERROR_IO_PENDING 997
|
||||
#define ERROR_DEVICE_REINITIALIZATION_NEEDED 1164
|
||||
#define ERROR_CONTINUE 1246
|
||||
#define ERROR_NO_MORE_DEVICES 1248
|
||||
#endif
|
||||
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user