sync to trunk head (35945)

svn path=/branches/ros-amd64-bringup/; revision=35954
This commit is contained in:
Timo Kreuzer 2008-09-05 00:03:53 +00:00
commit 53181b207f
1051 changed files with 47206 additions and 22037 deletions

View file

@ -9,6 +9,7 @@ Art Yerkes <ayerkes@speakeasy.net>
Ariadne
Brandon Turner <turnerb7@msu.edu>
Brian Palmer <brianp@sginet.com>
Cameron M. Gutman <cgutman@reactos.org>
Casper S. Hornstrup <chorns@users.sourceforge.net>
Christoph von Wittich <christoph_vw@reactos.org>
Daniel Reimer <reimer.daniel@freenet.de>
@ -60,6 +61,7 @@ Richard Campbell <betam4x@gmail.com>
Robert Bergkvist <fragdance@hotmail.com>
Robert Dickenson <robd@reactos.org>
Royce Mitchell III <royce3@ev1.net>
Samuel Serapión <samdwise51@gmail.com>
Saveliy Tretiakov <saveliyt@mail.ru>
Stefan Ginsberg <stefan__100__@hotmail.com>
Steven Edwards <steven_ed4153@yahoo.com>

View file

@ -438,9 +438,6 @@ universe:
ROS_OUTPUT=output-$(ARCH)-r \
world
sysregtest:
$(OUTPUT_)tools$(SEP)sysreg$(SEP)sysreg$(EXEPOSTFIX) tools$(SEP)sysreg$(SEP)txtmode.cfg
.PHONY: rgenstat
rgenstat: $(RGENSTAT_TARGET)
$(ECHO_RGENSTAT)

View file

@ -68,7 +68,7 @@
<define name="__MSVCRT__"/>
<compilerflag>-Wno-attributes</compilerflag>
<compilerflag>-fno-strict-aliasing</compilerflag>
<linkerflag>-s</linkerflag>
<linkerflag>--strip-debug</linkerflag>
<linkerflag>-static</linkerflag>
<directory name="media">

View file

@ -42,7 +42,9 @@
#define IDC_STATIC ((DWORD)-1)
#endif
#define CALC_VERSION TEXT("1.09")
#define CALC_VERSION TEXT("1.10")
#define MAX_CALC_SIZE 256
/*#define USE_KEYBOARD_HOOK*/
@ -144,7 +146,8 @@ typedef struct {
#endif
HWND hWnd;
DWORD layout;
TCHAR buffer[256];
TCHAR buffer[MAX_CALC_SIZE];
TCHAR source[MAX_CALC_SIZE];
TCHAR *ptr;
calc_number_t code;
calc_number_t prev;

View file

@ -2,13 +2,13 @@
<!DOCTYPE module SYSTEM "../../../tools/rbuild/project.dtd">
<module name="calc" type="win32gui" installbase="system32" installname="calc.exe" allowwarnings="true" unicode="yes">
<include base="calc">.</include>
<define name="DISABLE_HTMLHELP_SUPPORT">1</define>
<define name="DISABLE_HTMLHELP_SUPPORT">1</define>
<define name="_WIN32_WINNT">0x0501</define>
<library>user32</library>
<library>gdi32</library>
<library>kernel32</library>
<file>about.c</file>
<file>convert.c</file>
<file>convert.c</file>
<file>function.c</file>
<file>rpn.c</file>
<file>utl.c</file>

View file

@ -561,4 +561,3 @@ void ConvInit(HWND hWnd)
ConvAdjust(hWnd, 0);
}

View file

@ -4,7 +4,7 @@ LANGUAGE LANG_BULGARIAN, SUBLANG_DEFAULT
IDD_DIALOG_SCIENTIFIC DIALOGEX 0, 0, 316, 161
STYLE DS_SHELLFONT | WS_MINIMIZEBOX | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
CAPTION "Èç÷èñëèòåëÿí íà ÐåàêòÎÑ"
CAPTION "Èç÷èñëèòåëÿò íà ÐåàêòÎÑ"
MENU IDR_MENU_SCIENTIFIC_1
FONT 8, "MS Shell Dlg", 0, 0, 0x1
BEGIN
@ -444,31 +444,31 @@ END
// types of conversion
STRINGTABLE DISCARDABLE
BEGIN
IDS_CONV_AREA "Area"
IDS_CONV_CONSUMPTION "Consumption (engines)"
IDS_CONV_CURRENCY "Currencies"
IDS_CONV_ENERGY "Energy"
IDS_CONV_LENGTH "Lenghts"
IDS_CONV_POWER "Power"
IDS_CONV_PRESSURE "Pressure"
IDS_CONV_TEMPERATURE "Temperature"
IDS_CONV_VELOCITY "Velocity"
IDS_CONV_VOLUME "Volume"
IDS_CONV_WEIGHT "Weights"
IDS_CONV_AREA "Ïëîù"
IDS_CONV_CONSUMPTION "Ïîòðåáëåíèå (äâèãàòåëè)"
IDS_CONV_CURRENCY "Ïàðè÷íè åäèíèöè"
IDS_CONV_ENERGY "Åíåðãèÿ"
IDS_CONV_LENGTH "Äúëæèíè"
IDS_CONV_POWER "Ìîùíîñò"
IDS_CONV_PRESSURE "Íàëÿãàíå"
IDS_CONV_TEMPERATURE "Òåìïåðàòóðà"
IDS_CONV_VELOCITY "Ñêîðîñò"
IDS_CONV_VOLUME "Îáåì"
IDS_CONV_WEIGHT "Òåãëî"
END
// TYPES OF AREAS
STRINGTABLE DISCARDABLE
BEGIN
IDS_AREA_ACRES "Acres"
IDS_AREA_ACRES_BRAZIL "Acres (Brazil)"
IDS_AREA_ACRES_FRANCE "Acres (France)"
IDS_AREA_ACRES_SCOTS "Acres (Scots)"
IDS_AREA_ACRES_US "Acres (US)"
IDS_AREA_ARES "Ares"
IDS_AREA_ACRES "Àêðè"
IDS_AREA_ACRES_BRAZIL "Àêðè (Áðàçèëñêè)"
IDS_AREA_ACRES_FRANCE "Àêðè (Ôðåíñêè)"
IDS_AREA_ACRES_SCOTS "Àêðè (Øîòëàíäñêè)"
IDS_AREA_ACRES_US "Àêðè (ÑÀÙ)"
IDS_AREA_ARES "Àðîâå"
IDS_AREA_CHOU "Chou"
IDS_AREA_DANBO "Danbo"
IDS_AREA_HECTARES "Hectares"
IDS_AREA_HECTARES "Õåêòàðè"
IDS_AREA_JEONGBO "Jeongbo"
IDS_AREA_MORGEN_HUNGARY "Morgen (Hungary)"
IDS_AREA_MU "Mu"
@ -477,21 +477,21 @@ BEGIN
IDS_AREA_PYEONGBANGJA "Pyeongbangja"
IDS_AREA_RAI "Rai"
IDS_AREA_SE "Se"
IDS_AREA_SQUARE_CENTIMETERS "Square centimeters"
IDS_AREA_SQUARE_CHR "Square chr"
IDS_AREA_SQUARE_FATHOMS "Square fathoms"
IDS_AREA_SQUARE_FATHOMS_HUNGARY "Square fathoms (Hungary)"
IDS_AREA_SQUARE_FEET "Square feet"
IDS_AREA_SQUARE_INCHES "Square inches"
IDS_AREA_SQUARE_KILOMETERS "Square kilometers"
IDS_AREA_SQUARE_LAR "Square lar"
IDS_AREA_SQUARE_METER "Square meter"
IDS_AREA_SQUARE_MILES "Square miles"
IDS_AREA_SQUARE_MILLIMETERS "Square millimeters"
IDS_AREA_SQUARE_SHAKU "Square shaku"
IDS_AREA_SQUARE_TSUEN "Square tsuen"
IDS_AREA_SQUARE_VA "Square va"
IDS_AREA_SQUARE_YARD "Square yard"
IDS_AREA_SQUARE_CENTIMETERS "Êâàäðàòíè ñàíòèìåòðè"
IDS_AREA_SQUARE_CHR "Êâàäðàòíè chr"
IDS_AREA_SQUARE_FATHOMS "Êâàäðàòíè ôàäîìè"
IDS_AREA_SQUARE_FATHOMS_HUNGARY "Êâàäðàòíè ôàäîìè (óíãàðñêè)"
IDS_AREA_SQUARE_FEET "Êâàäðàòíè ñòúïêè"
IDS_AREA_SQUARE_INCHES "Êâàäðàòíè öîëîâå"
IDS_AREA_SQUARE_KILOMETERS "Êâàäðàòíè êèëîìåòðè"
IDS_AREA_SQUARE_LAR "Êâàäðàòíè lar"
IDS_AREA_SQUARE_METER "Êâàäðàòíè ìåòðè"
IDS_AREA_SQUARE_MILES "Êâàäðàòíè ìèëè"
IDS_AREA_SQUARE_MILLIMETERS "Êâàäðàòíè ìèëèìåòðè"
IDS_AREA_SQUARE_SHAKU "Êâàäðàòíè shaku"
IDS_AREA_SQUARE_TSUEN "Êâàäðàòíè tsuen"
IDS_AREA_SQUARE_VA "Êâàäðàòíè va"
IDS_AREA_SQUARE_YARD "Êâàäðàòíè ÿðäîâå"
IDS_AREA_TAN "Tan"
IDS_AREA_TSUBO "Tsubo"
END
@ -499,10 +499,10 @@ END
// TYPES OF COMSUMPTIONS
STRINGTABLE DISCARDABLE
BEGIN
IDS_CONSUMPTION_KM_PER_L "Kilometer/liter"
IDS_CONSUMPTION_L_PER_100_KM "Liters/100 kilometers"
IDS_CONSUMPTION_MILES_GALLON_UK "Miles/gallon (UK)"
IDS_CONSUMPTION_MILES_GALLON_US "Miles/gallon (US)"
IDS_CONSUMPTION_KM_PER_L "Êèëîìåòðè/ëèòúð"
IDS_CONSUMPTION_L_PER_100_KM "Ëèòðè/100 êèëîìåòðà"
IDS_CONSUMPTION_MILES_GALLON_UK "Ìèëè/ãàëîí (ÎÊ)"
IDS_CONSUMPTION_MILES_GALLON_US "Ìèëè/ãàëîí (ÑÀÙ)"
END
// TYPES OF CURRENCIES
@ -529,54 +529,54 @@ END
// TYPES OF ENERGIES
STRINGTABLE DISCARDABLE
BEGIN
IDS_ENERGY_15_C_CALORIES "15 ^C calories"
IDS_ENERGY_ERGS "Ergs"
IDS_ENERGY_IT_CALORIES "International Table calories"
IDS_ENERGY_JOULES "Joules"
IDS_ENERGY_KILOJOULES "Kilojoules"
IDS_ENERGY_KILOWATT_HOURS "Kilowatt hours"
IDS_ENERGY_NUTRITION_CALORIES "Nutrition calories"
IDS_ENERGY_TH_CALORIES "Thermochemical calorie"
IDS_ENERGY_15_C_CALORIES "15 ^C êàëîðèè"
IDS_ENERGY_ERGS "Åðãîâå"
IDS_ENERGY_IT_CALORIES "Ìåæäóíàðîäíè òàáëè÷íè êàëîðèè"
IDS_ENERGY_JOULES "Äæàóëè"
IDS_ENERGY_KILOJOULES "Êèëîäæàóëè"
IDS_ENERGY_KILOWATT_HOURS "Êèëîâàò/ ÷àñîâå"
IDS_ENERGY_NUTRITION_CALORIES "Õðàíèòåëíè êàëîðèè"
IDS_ENERGY_TH_CALORIES "Òîïëèííè êàëîðèè"
END
// TYPES OF LENGTHS
STRINGTABLE DISCARDABLE
BEGIN
IDS_LENGTH_ANGSTROMS "Angstroms"
IDS_LENGTH_ANGSTROMS "Àíãñòðüîìè"
IDS_LENGTH_ASTRONOMILA_UNITS "Astronomila units"
IDS_LENGTH_BARLEYCORNS "Barleycorns"
IDS_LENGTH_CENTIMETERS "Centimeters"
IDS_LENGTH_CHAINS_UK "Chains (UK)"
IDS_LENGTH_BARLEYCORNS "Å÷åìè÷åíè çúðíà"
IDS_LENGTH_CENTIMETERS "Ñàíòèìåòðè"
IDS_LENGTH_CHAINS_UK "Âåðèãè (ÎÊ)"
IDS_LENGTH_CHI "Chi"
IDS_LENGTH_CHOU "Chou"
IDS_LENGTH_CHR "Chr"
IDS_LENGTH_CUN "Cun"
IDS_LENGTH_FATHOMS "Fathoms"
IDS_LENGTH_FATHOMS_HUNGARY "Fathoms (Hungary)"
IDS_LENGTH_FEET "Feet"
IDS_LENGTH_FURLONGS "Furlongs"
IDS_LENGTH_FATHOMS "Ñàæåíè"
IDS_LENGTH_FATHOMS_HUNGARY "Ñàæåíè (óíãàðñêè)"
IDS_LENGTH_FEET "Ñòúïêè"
IDS_LENGTH_FURLONGS "Áðàçäè"
IDS_LENGTH_GAN "Gan"
IDS_LENGTH_HANDS "Hands"
IDS_LENGTH_HANDS "Äëàíè"
IDS_LENGTH_HUNH "Hunh"
IDS_LENGTH_INCHES "Inches"
IDS_LENGTH_INCHES "Öîëîâå"
IDS_LENGTH_JA "Ja"
IDS_LENGTH_JEONG "Jeong"
IDS_LENGTH_KABIET "Kabiet"
IDS_LENGTH_KEN "Ken"
IDS_LENGTH_KEUB "Keub"
IDS_LENGTH_KILOMETERS "Kilometers"
IDS_LENGTH_KILOMETERS "Êèëîìåòðè"
IDS_LENGTH_LAR "Lar"
IDS_LENGTH_LIGHT_YEARS "Light years"
IDS_LENGTH_LIGHT_YEARS "Ñâåòëèííè ãîäèíè"
IDS_LENGTH_LINKS_UK "Links (UK)"
IDS_LENGTH_METERS "Meters"
IDS_LENGTH_MILES "Miles"
IDS_LENGTH_MILLIMETERS "Millimeters"
IDS_LENGTH_NAUTICAL_MILES "Nautical miles"
IDS_LENGTH_METERS "Ìåòðè"
IDS_LENGTH_MILES "Ìèëè"
IDS_LENGTH_MILLIMETERS "Ìèëèìåòðè"
IDS_LENGTH_NAUTICAL_MILES "Ìîðñêè ìèëè"
IDS_LENGTH_NIEU "Nieu"
IDS_LENGTH_PARSECS "Parsecs"
IDS_LENGTH_PICAS "Picas"
IDS_LENGTH_RI_JAPAN "Ri (Japan)"
IDS_LENGTH_RI_KOREA "Ri (Korea)"
IDS_LENGTH_PARSECS "Ïàðñåöè"
IDS_LENGTH_PICAS "Äâàíàäåñåòêè (ïèêè)"
IDS_LENGTH_RI_JAPAN "Ri (ÿïîíñêè)"
IDS_LENGTH_RI_KOREA "Ri (êîðåéñêè)"
IDS_LENGTH_SAWK "Sawk"
IDS_LENGTH_SEN "Sen"
IDS_LENGTH_SHAKU "Shaku"
@ -584,7 +584,7 @@ BEGIN
IDS_LENGTH_SUN "Sun"
IDS_LENGTH_TSUEN "Tsuen"
IDS_LENGTH_VA "Va"
IDS_LENGTH_YARDS "Yards"
IDS_LENGTH_YARDS "ßðäîâå"
IDS_LENGTH_YOTE "Yote"
IDS_LENGTH_ZHANG "Zhang"
END
@ -592,74 +592,74 @@ END
// TYPES OF POWERS
STRINGTABLE DISCARDABLE
BEGIN
IDS_POWER_HORSEPOWER "Horsepower"
IDS_POWER_KILOWATTS "Kilowatts"
IDS_POWER_MEGAWATTS "Megawatts"
IDS_POWER_WATTS "Watts"
IDS_POWER_HORSEPOWER "Êîíñêè ñèëè"
IDS_POWER_KILOWATTS "Êèëîâàòîâå"
IDS_POWER_MEGAWATTS "Ìåãàâàòîâå"
IDS_POWER_WATTS "Âàòîâå"
END
// TYPE OF PRESSURES
STRINGTABLE DISCARDABLE
BEGIN
IDS_PRESSURE_ATMOSPHERES "Atmospheres"
IDS_PRESSURE_BARS "Bars"
IDS_PRESSURE_MM_OF_MERCURY "Millimeters of mercury"
IDS_PRESSURE_PASCALS "Pascals"
IDS_PRESSURE_PSI "Pounds-force per square inch"
IDS_PRESSURE_ATMOSPHERES "Àòìîñôåðè"
IDS_PRESSURE_BARS "Áàðîâå"
IDS_PRESSURE_MM_OF_MERCURY "Ìèëèìåòðè æèâà÷åí ñòúëá"
IDS_PRESSURE_PASCALS "Ïàñêàëè"
IDS_PRESSURE_PSI "Ïàóíäîâå íà êâàäðàòåí öîë"
END
// TYPES OF TEMPERATURES
STRINGTABLE DISCARDABLE
BEGIN
IDS_TEMPERATURE_CELSIUS "Celsius"
IDS_TEMPERATURE_FAHRENHEIT "Fahrenheit"
IDS_TEMPERATURE_KELVIN "Kelvin"
IDS_TEMPERATURE_RANKINE "Rankine"
IDS_TEMPERATURE_CELSIUS "Öåëçèé"
IDS_TEMPERATURE_FAHRENHEIT "Ôàðåíõàéò"
IDS_TEMPERATURE_KELVIN "Êåëâèí"
IDS_TEMPERATURE_RANKINE "Ðàíêèí"
END
// TYPES OF VELOCITIES
STRINGTABLE DISCARDABLE
BEGIN
IDS_VELOCITY_FEET_HOUR "Feet/hour"
IDS_VELOCITY_KILOMETERS_HOUR "Kilometers/hour"
IDS_VELOCITY_KNOTS "Knots"
IDS_VELOCITY_MACH "Mach"
IDS_VELOCITY_METERS_SECOND "Meters/second"
IDS_VELOCITY_MILES_HOUR "Miles/hour"
IDS_VELOCITY_FEET_HOUR "Ñòúïêè/÷àñ"
IDS_VELOCITY_KILOMETERS_HOUR "Êèëîìåòðè/÷àñ"
IDS_VELOCITY_KNOTS "Âúçëè"
IDS_VELOCITY_MACH "Ìàõîâå"
IDS_VELOCITY_METERS_SECOND "Ìåòðè/ñåêóíäà"
IDS_VELOCITY_MILES_HOUR "Ìèëè/÷àñ"
END
// TYPES OF VOLUMES
STRINGTABLE DISCARDABLE
BEGIN
IDS_VOLUME_BARRELS_UK "Barrels (UK)"
IDS_VOLUME_BARRELS_OIL "Barrels oil"
IDS_VOLUME_BARRELS_UK "Áú÷âè (áàðåëè) (ÎÊ)"
IDS_VOLUME_BARRELS_OIL "Ïåòðîëíè áú÷âè"
IDS_VOLUME_BUN "Bun"
IDS_VOLUME_BUSHELS_UK "Bushels (UK)"
IDS_VOLUME_BUSHELS_US "Bushels (US)"
IDS_VOLUME_CUBIC_CENTIMETERS "Cubic centimeters"
IDS_VOLUME_CUBIC_FEET "Cubic feet"
IDS_VOLUME_CUBIC_INCHES "Cubic inches"
IDS_VOLUME_CUBIC_METERS "Cubic meters"
IDS_VOLUME_CUBIC_YARDS "Cubic yards"
IDS_VOLUME_BUSHELS_UK "Áóøåëè (ÎÊ)"
IDS_VOLUME_BUSHELS_US "Áóøåëè (ÑÀÙ)"
IDS_VOLUME_CUBIC_CENTIMETERS "Êóáè÷íè ñàíòèìåòðè"
IDS_VOLUME_CUBIC_FEET "Êóáè÷íè ñòúïêè"
IDS_VOLUME_CUBIC_INCHES "Êóáè÷íè öîëîâå"
IDS_VOLUME_CUBIC_METERS "Êóáè÷íè ìåòðè"
IDS_VOLUME_CUBIC_YARDS "Êóáè÷íè ÿðäîâå"
IDS_VOLUME_DOE "Doe"
IDS_VOLUME_FLUID_OUNCES_UK "Fluid ounces (UK)"
IDS_VOLUME_FLUID_OUNCES_US "Fluid ounces (US)"
IDS_VOLUME_GALLONS_UK "Gallons (UK)"
IDS_VOLUME_GALLONS_DRY_US "Gallons, dry (US)"
IDS_VOLUME_GALLONS_LIQUID_US "Gallons, liquid (US)"
IDS_VOLUME_FLUID_OUNCES_UK "Òå÷íè óíöèè (ÎÊ)"
IDS_VOLUME_FLUID_OUNCES_US "Òå÷íè óíöèè (ÑÀÙ)"
IDS_VOLUME_GALLONS_UK "Ãàëîíè (UK)"
IDS_VOLUME_GALLONS_DRY_US "Ãàëîíè, ñóõè (ÑÀÙ)"
IDS_VOLUME_GALLONS_LIQUID_US "Ãàëîíè, òå÷íè (ÑÀÙ)"
IDS_VOLUME_GOU "Gou"
IDS_VOLUME_HOP "Hop"
IDS_VOLUME_ICCE "Icce"
IDS_VOLUME_KWIAN "Kwian"
IDS_VOLUME_LITERS "Liters"
IDS_VOLUME_LITERS "Ëèòðè"
IDS_VOLUME_MAL "Mal"
IDS_VOLUME_MILLILITERS "Milliliters"
IDS_VOLUME_PINTS_UK "Pints (UK)"
IDS_VOLUME_PINTS_DRY_US "Pints, dry (US)"
IDS_VOLUME_PINTS_LIQUID_US "Pints, liquid (US)"
IDS_VOLUME_QUARTS_UK "Quarts (UK)"
IDS_VOLUME_QUARTS_DRY_US "Quarts, dry (US)"
IDS_VOLUME_QUARTS_LIQUID_US "Quarts, liquid (US)"
IDS_VOLUME_MILLILITERS "Ìèëèìåòðè"
IDS_VOLUME_PINTS_UK "Ïèíòè (ÎÊ)"
IDS_VOLUME_PINTS_DRY_US "Ïèíòè, ñóõè (ÑÀÙ)"
IDS_VOLUME_PINTS_LIQUID_US "Ïèíòè, òå÷íè (ÑÀÙ)"
IDS_VOLUME_QUARTS_UK "Êâàðòè (ÎÊ)"
IDS_VOLUME_QUARTS_DRY_US "Êâàðòè, ñóõè (ÑÀÙ)"
IDS_VOLUME_QUARTS_LIQUID_US "Êâàðòè, òå÷íè (ÑÀÙ)"
IDS_VOLUME_SEKI "Seki"
IDS_VOLUME_SYOU "Syou"
IDS_VOLUME_TANANLOUNG "Tananloung"
@ -671,29 +671,29 @@ END
STRINGTABLE DISCARDABLE
BEGIN
IDS_WEIGHT_BAHT "Baht"
IDS_WEIGHT_CARATS "Carats"
IDS_WEIGHT_CARATS "Êàðàòè"
IDS_WEIGHT_CHUNG "Chung"
IDS_WEIGHT_DON "Don"
IDS_WEIGHT_GEUN "Geun"
IDS_WEIGHT_GRAMS "Grams"
IDS_WEIGHT_GWAN "Gwan"
IDS_WEIGHT_HARB "Harb"
IDS_WEIGHT_JIN_CHINA "Jin (China)"
IDS_WEIGHT_JIN_TAIWAN "Jin (Taiwan)"
IDS_WEIGHT_JIN_CHINA "Äæèíîâå (Êèòàé)"
IDS_WEIGHT_JIN_TAIWAN "Äæèíîâå (Òàéâàí)"
IDS_WEIGHT_KAN "Kan"
IDS_WEIGHT_KILOGRAMS "Kilograms"
IDS_WEIGHT_KILOGRAMS "Êèëîãðàìè"
IDS_WEIGHT_KIN "Kin"
IDS_WEIGHT_LIANG_CHINA "Liang (China)"
IDS_WEIGHT_LIANG_TAIWAN "Liang (Taiwan)"
IDS_WEIGHT_MONME "Monme"
IDS_WEIGHT_OUNCES_AVOIRDUPOIS "Ounces, avoirdupois"
IDS_WEIGHT_OUNCES_TROY "Ounces, troy"
IDS_WEIGHT_POUNDS "Pounds"
IDS_WEIGHT_QUINTAL_METRIC "Quintal (metric)"
IDS_WEIGHT_OUNCES_AVOIRDUPOIS "Óíöèè, avoirdupois"
IDS_WEIGHT_OUNCES_TROY "Óíöèè, òðîé"
IDS_WEIGHT_POUNDS "Ôóíòîâå"
IDS_WEIGHT_QUINTAL_METRIC "Öåíòíåðè (ìåòðè÷íè)"
IDS_WEIGHT_SALOUNG "Saloung"
IDS_WEIGHT_STONES "Stones"
IDS_WEIGHT_STONES "Êàìúíè"
IDS_WEIGHT_TAMLUNG "Tamlung"
IDS_WEIGHT_TONNES "Tonnes"
IDS_WEIGHT_TONS_UK "Tons (UK)"
IDS_WEIGHT_TONS_US "Tons (US)"
IDS_WEIGHT_TONNES "Òîíîâå"
IDS_WEIGHT_TONS_UK "Òîíîâå (ÎÊ)"
IDS_WEIGHT_TONS_US "Òîíîâå (ÑÀÙ)"
END

View file

@ -9,14 +9,10 @@ MENU IDR_MENU_SCIENTIFIC_1
FONT 8, "MS Shell Dlg", 0, 0, 0x1
BEGIN
GROUPBOX "",IDC_STATIC,4,16,132,21
CONTROL "Heks",IDC_RADIO_HEX,"Button",BS_AUTORADIOBUTTON,8,24,29,
10
CONTROL "Des",IDC_RADIO_DEC,"Button",BS_AUTORADIOBUTTON,40,24,29,
10
CONTROL "Okt",IDC_RADIO_OCT,"Button",BS_AUTORADIOBUTTON,72,24,27,
10
CONTROL "Bin",IDC_RADIO_BIN,"Button",BS_AUTORADIOBUTTON,100,24,
26,10
CONTROL "Heks",IDC_RADIO_HEX,"Button",BS_AUTORADIOBUTTON,8,24,29,10
CONTROL "Des",IDC_RADIO_DEC,"Button",BS_AUTORADIOBUTTON,40,24,29,10
CONTROL "Okt",IDC_RADIO_OCT,"Button",BS_AUTORADIOBUTTON,72,24,27,10
CONTROL "Bin",IDC_RADIO_BIN,"Button",BS_AUTORADIOBUTTON,100,24,26,10
GROUPBOX "",IDC_STATIC,4,36,76,21
CONTROL "Inv",IDC_CHECK_INV,"Button",BS_AUTOCHECKBOX |
WS_TABSTOP,8,44,26,10
@ -150,7 +146,7 @@ BEGIN
CONTROL "Radianer",IDC_RADIO_RAD,"Button",BS_AUTORADIOBUTTON,192,
24,42,10
CONTROL "Gradienter",IDC_RADIO_GRAD,"Button",BS_AUTORADIOBUTTON,
236,24,44,10
236,24,48,10
PUSHBUTTON "C",IDC_BUTTON_CANC,272,40,40,17,BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "CE",IDC_BUTTON_CE,228,40,40,17,BS_CENTER | BS_VCENTER |
@ -229,6 +225,84 @@ BEGIN
DEFPUSHBUTTON "",IDC_BUTTON_FOCUS,0,0,5,5, NOT WS_VISIBLE
END
IDD_DIALOG_CONVERSION DIALOGEX 0, 0, 320, 130
STYLE WS_MINIMIZEBOX | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
CAPTION "ReactOS Kalkulator"
MENU IDR_MENU_STANDARD
FONT 8, "MS Shell Dlg"
BEGIN
PUSHBUTTON "Konverter",IDC_BUTTON_CONVERT,35,105,76,17
COMBOBOX IDC_COMBO_CATEGORY,4,31,140,168,CBS_DROPDOWNLIST |
WS_VSCROLL | WS_TABSTOP | CBS_SORT
LTEXT "Kategori:",IDC_STATIC,4,20,56,8
COMBOBOX IDC_COMBO_FROM,4,60,140,168,CBS_DROPDOWNLIST |
WS_VSCROLL | WS_TABSTOP | CBS_SORT
LTEXT "Konverter fra:",IDC_STATIC,4,49,56,8
COMBOBOX IDC_COMBO_TO,4,87,140,168,CBS_DROPDOWNLIST | WS_VSCROLL |
WS_TABSTOP | CBS_SORT
LTEXT "Konverter til:",IDC_STATIC,4,76,56,8
CONTROL "C",IDC_BUTTON_CANC,"Button",BS_OWNERDRAW | BS_CENTER |
BS_VCENTER | BS_NOTIFY | WS_TABSTOP,276,24,40,17
CONTROL "CE",IDC_BUTTON_CE,"Button",BS_OWNERDRAW | BS_CENTER |
BS_VCENTER | BS_NOTIFY | WS_TABSTOP,232,24,40,17
CONTROL "Tilbake",IDC_BUTTON_BACK,"Button",BS_OWNERDRAW |
BS_CENTER | BS_VCENTER | BS_NOTIFY | WS_TABSTOP,188,24,
40,17
RTEXT "",IDC_TEXT_OUTPUT,4,4,312,12,SS_CENTERIMAGE,
WS_EX_CLIENTEDGE
CONTROL "7",IDC_BUTTON_7,"Button",BS_OWNERDRAW | BS_CENTER |
BS_VCENTER | BS_NOTIFY | WS_TABSTOP,188,48,24,17
CONTROL "4",IDC_BUTTON_4,"Button",BS_OWNERDRAW | BS_CENTER |
BS_VCENTER | BS_NOTIFY | WS_TABSTOP,188,67,24,17
CONTROL "1",IDC_BUTTON_1,"Button",BS_OWNERDRAW | BS_CENTER |
BS_VCENTER | BS_NOTIFY | WS_TABSTOP,188,86,24,17
CONTROL "0",IDC_BUTTON_0,"Button",BS_OWNERDRAW | BS_CENTER |
BS_VCENTER | BS_NOTIFY | WS_TABSTOP,188,105,24,17
CONTROL "8",IDC_BUTTON_8,"Button",BS_OWNERDRAW | BS_CENTER |
BS_VCENTER | BS_NOTIFY | WS_TABSTOP,214,48,24,17
CONTROL "5",IDC_BUTTON_5,"Button",BS_OWNERDRAW | BS_CENTER |
BS_VCENTER | BS_NOTIFY | WS_TABSTOP,214,67,24,17
CONTROL "2",IDC_BUTTON_2,"Button",BS_OWNERDRAW | BS_CENTER |
BS_VCENTER | BS_NOTIFY | WS_TABSTOP,214,86,24,17
CONTROL "+/-",IDC_BUTTON_SIGN,"Button",BS_OWNERDRAW | BS_CENTER |
BS_VCENTER | BS_NOTIFY | WS_TABSTOP,214,105,24,17
CONTROL "9",IDC_BUTTON_9,"Button",BS_OWNERDRAW | BS_CENTER |
BS_VCENTER | BS_NOTIFY | WS_TABSTOP,240,48,24,17
CONTROL "6",IDC_BUTTON_6,"Button",BS_OWNERDRAW | BS_CENTER |
BS_VCENTER | BS_NOTIFY | WS_TABSTOP,240,67,24,17
CONTROL "3",IDC_BUTTON_3,"Button",BS_OWNERDRAW | BS_CENTER |
BS_VCENTER | BS_NOTIFY | WS_TABSTOP,240,86,24,17
CONTROL ",",IDC_BUTTON_DOT,"Button",BS_OWNERDRAW | BS_CENTER |
BS_VCENTER | BS_NOTIFY | WS_TABSTOP,240,105,24,17
CONTROL "/",IDC_BUTTON_DIV,"Button",BS_OWNERDRAW | BS_CENTER |
BS_VCENTER | BS_NOTIFY | WS_TABSTOP,266,48,24,17
CONTROL "*",IDC_BUTTON_MULT,"Button",BS_OWNERDRAW | BS_CENTER |
BS_VCENTER | BS_NOTIFY | WS_TABSTOP,266,67,24,17
CONTROL "-",IDC_BUTTON_SUB,"Button",BS_OWNERDRAW | BS_CENTER |
BS_VCENTER | BS_NOTIFY | WS_TABSTOP,266,86,24,17
CONTROL "+",IDC_BUTTON_ADD,"Button",BS_OWNERDRAW | BS_CENTER |
BS_VCENTER | BS_NOTIFY | WS_TABSTOP,266,105,24,17
CONTROL "Sqrt",IDC_BUTTON_SQRT,"Button",BS_OWNERDRAW | BS_CENTER |
BS_VCENTER | BS_NOTIFY | WS_TABSTOP,292,48,24,17
CONTROL "%",IDC_BUTTON_PERCENT,"Button",BS_OWNERDRAW | BS_CENTER |
BS_VCENTER | BS_NOTIFY | WS_TABSTOP,292,67,24,17
CONTROL "1/x",IDC_BUTTON_RX,"Button",BS_OWNERDRAW | BS_CENTER |
BS_VCENTER | BS_NOTIFY | WS_TABSTOP,292,86,24,17
CONTROL "=",IDC_BUTTON_EQU,"Button",BS_OWNERDRAW | BS_CENTER |
BS_VCENTER | BS_NOTIFY | WS_TABSTOP,292,105,24,17
CTEXT "",IDC_TEXT_MEMORY,152,24,24,17,SS_CENTERIMAGE,
WS_EX_CLIENTEDGE
CONTROL "MC",IDC_BUTTON_MC,"Button",BS_OWNERDRAW | BS_CENTER |
BS_VCENTER | BS_NOTIFY | WS_TABSTOP,152,48,24,17
CONTROL "MR",IDC_BUTTON_MR,"Button",BS_OWNERDRAW | BS_CENTER |
BS_VCENTER | BS_NOTIFY | WS_TABSTOP,152,67,24,17
CONTROL "MS",IDC_BUTTON_MS,"Button",BS_OWNERDRAW | BS_CENTER |
BS_VCENTER | BS_NOTIFY | WS_TABSTOP,152,86,24,17
CONTROL "M+",IDC_BUTTON_MP,"Button",BS_OWNERDRAW | BS_CENTER |
BS_VCENTER | BS_NOTIFY | WS_TABSTOP,152,105,24,17
DEFPUSHBUTTON "",IDC_BUTTON_FOCUS,0,0,5,5,NOT WS_VISIBLE
END
IDD_DIALOG_ABOUT DIALOGEX DISCARDABLE 0, 0, 264, 169
STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
CAPTION "Om ReactOS kalkulator"
@ -321,7 +395,7 @@ BEGIN
MENUITEM "Word\tF3", IDM_VIEW_WORD, CHECKED
MENUITEM "Tegn\tF4", IDM_VIEW_BYTE, CHECKED
MENUITEM SEPARATOR
MENUITEM "Group digits", IDM_VIEW_GROUP, CHECKED
MENUITEM "Digital gruppe", IDM_VIEW_GROUP, CHECKED
END
POPUP "Hjelp"
BEGIN
@ -363,3 +437,229 @@ BEGIN
IDS_QUICKHELP "Rask hjelp"
END
// types of conversion
STRINGTABLE DISCARDABLE
BEGIN
IDS_CONV_AREA "Område"
IDS_CONV_CONSUMPTION "Forbruk (maskin)"
IDS_CONV_CURRENCY "Valuta"
IDS_CONV_ENERGY "Energi"
IDS_CONV_LENGTH "Lengde"
IDS_CONV_POWER "Strøm"
IDS_CONV_PRESSURE "Trykk"
IDS_CONV_TEMPERATURE "Temperatur"
IDS_CONV_VELOCITY "Hastighet"
IDS_CONV_VOLUME "Volum"
IDS_CONV_WEIGHT "Vekt"
END
// TYPES OF AREAS
STRINGTABLE DISCARDABLE
BEGIN
IDS_AREA_ACRES "Acres"
IDS_AREA_ACRES_BRAZIL "Acres (Brazil)"
IDS_AREA_ACRES_FRANCE "Acres (France)"
IDS_AREA_ACRES_SCOTS "Acres (Scots)"
IDS_AREA_ACRES_US "Acres (US)"
IDS_AREA_ARES "Ares"
IDS_AREA_CHOU "Chou"
IDS_AREA_DANBO "Danbo"
IDS_AREA_HECTARES "Hectares"
IDS_AREA_JEONGBO "Jeongbo"
IDS_AREA_MORGEN_HUNGARY "Morgen (Hungary)"
IDS_AREA_MU "Mu"
IDS_AREA_PING "Ping"
IDS_AREA_PYEONG "Pyeong"
IDS_AREA_PYEONGBANGJA "Pyeongbangja"
IDS_AREA_RAI "Rai"
IDS_AREA_SE "Se"
IDS_AREA_SQUARE_CENTIMETERS "Square centimeters"
IDS_AREA_SQUARE_CHR "Square chr"
IDS_AREA_SQUARE_FATHOMS "Square fathoms"
IDS_AREA_SQUARE_FATHOMS_HUNGARY "Square fathoms (Hungary)"
IDS_AREA_SQUARE_FEET "Square feet"
IDS_AREA_SQUARE_INCHES "Square inches"
IDS_AREA_SQUARE_KILOMETERS "Square kilometers"
IDS_AREA_SQUARE_LAR "Square lar"
IDS_AREA_SQUARE_METER "Square meter"
IDS_AREA_SQUARE_MILES "Square miles"
IDS_AREA_SQUARE_MILLIMETERS "Square millimeters"
IDS_AREA_SQUARE_SHAKU "Square shaku"
IDS_AREA_SQUARE_TSUEN "Square tsuen"
IDS_AREA_SQUARE_VA "Square va"
IDS_AREA_SQUARE_YARD "Square yard"
IDS_AREA_TAN "Tan"
IDS_AREA_TSUBO "Tsubo"
END
// TYPES OF COMSUMPTIONS
STRINGTABLE DISCARDABLE
BEGIN
IDS_CONSUMPTION_KM_PER_L "Kilometer/liter"
IDS_CONSUMPTION_L_PER_100_KM "Liters/100 kilometers"
IDS_CONSUMPTION_MILES_GALLON_UK "Miles/gallon (UK)"
IDS_CONSUMPTION_MILES_GALLON_US "Miles/gallon (US)"
END
// TYPES OF CURRENCIES
STRINGTABLE DISCARDABLE
BEGIN
IDS_CURRENCY_AUSTRIAN_SCHILLING "Austrian schilling"
IDS_CURRENCY_BELGIAN_FRANC "Belgian franc"
IDS_CURRENCY_CYPRIOT_POUND "Cypriot pound"
IDS_CURRENCY_DEUTSCHE_MARK "Deutsche Mark"
IDS_CURRENCY_DUTCH_GUILDER "Dutch guilder"
IDS_CURRENCY_EURO "Euro"
IDS_CURRENCY_FINNISH_MARKKA "Finnish markka"
IDS_CURRENCY_FRENCH_FRANC "French franc"
IDS_CURRENCY_GREEK_DRACHMA "Greek Drachma"
IDS_CURRENCY_IRISH_POUND "Irish pound"
IDS_CURRENCY_ITALIAN_LIRA "Italian lira"
IDS_CURRENCY_LUXEMBOURG_FRANC "Luxembourg franc"
IDS_CURRENCY_MALTESE_LIRA "Maltese lira"
IDS_CURRENCY_PORTOGUESE_ESCUDO "Portoguese escudo"
IDS_CURRENCY_SLOVENIAN_TOLAR "Slovenian tolar"
IDS_CURRENCY_SPANISH_PESETA "Spanish peseta"
END
// TYPES OF ENERGIES
STRINGTABLE DISCARDABLE
BEGIN
IDS_ENERGY_15_C_CALORIES "15 ^C calories"
IDS_ENERGY_ERGS "Ergs"
IDS_ENERGY_IT_CALORIES "International Table calories"
IDS_ENERGY_JOULES "Joules"
IDS_ENERGY_KILOJOULES "Kilojoules"
IDS_ENERGY_KILOWATT_HOURS "Kilowatt hours"
IDS_ENERGY_NUTRITION_CALORIES "Nutrition calories"
IDS_ENERGY_TH_CALORIES "Thermochemical calorie"
END
// TYPES OF LENGTHS
STRINGTABLE DISCARDABLE
BEGIN
IDS_LENGTH_ANGSTROMS "Angstroms"
IDS_LENGTH_ASTRONOMILA_UNITS "Astronomila units"
IDS_LENGTH_BARLEYCORNS "Barleycorns"
IDS_LENGTH_CENTIMETERS "Centimeters"
IDS_LENGTH_CHAINS_UK "Chains (UK)"
IDS_LENGTH_CHI "Chi"
IDS_LENGTH_CHOU "Chou"
IDS_LENGTH_CHR "Chr"
IDS_LENGTH_CUN "Cun"
IDS_LENGTH_FATHOMS "Fathoms"
IDS_LENGTH_FATHOMS_HUNGARY "Fathoms (Hungary)"
IDS_LENGTH_FEET "Feet"
IDS_LENGTH_FURLONGS "Furlongs"
IDS_LENGTH_GAN "Gan"
IDS_LENGTH_HANDS "Hands"
IDS_LENGTH_HUNH "Hunh"
IDS_LENGTH_INCHES "Inches"
IDS_LENGTH_JA "Ja"
IDS_LENGTH_JEONG "Jeong"
IDS_LENGTH_KABIET "Kabiet"
IDS_LENGTH_KEN "Ken"
IDS_LENGTH_KEUB "Keub"
IDS_LENGTH_KILOMETERS "Kilometers"
IDS_LENGTH_LAR "Lar"
IDS_LENGTH_LIGHT_YEARS "Light years"
IDS_LENGTH_LINKS_UK "Links (UK)"
IDS_LENGTH_METERS "Meters"
IDS_LENGTH_MILES "Miles"
IDS_LENGTH_MILLIMETERS "Millimeters"
IDS_LENGTH_NAUTICAL_MILES "Nautical miles"
IDS_LENGTH_NIEU "Nieu"
IDS_LENGTH_PARSECS "Parsecs"
IDS_LENGTH_PICAS "Picas"
IDS_LENGTH_RI_JAPAN "Ri (Japan)"
IDS_LENGTH_RI_KOREA "Ri (Korea)"
IDS_LENGTH_SAWK "Sawk"
IDS_LENGTH_SEN "Sen"
IDS_LENGTH_SHAKU "Shaku"
IDS_LENGTH_SPAN "Span"
IDS_LENGTH_SUN "Sun"
IDS_LENGTH_TSUEN "Tsuen"
IDS_LENGTH_VA "Va"
IDS_LENGTH_YARDS "Yards"
IDS_LENGTH_YOTE "Yote"
IDS_LENGTH_ZHANG "Zhang"
END
// TYPES OF POWERS
STRINGTABLE DISCARDABLE
BEGIN
IDS_POWER_HORSEPOWER "hestekrefter"
IDS_POWER_KILOWATTS "Kilowatt"
IDS_POWER_MEGAWATTS "Megawatt"
IDS_POWER_WATTS "Watt"
END
// TYPE OF PRESSURES
STRINGTABLE DISCARDABLE
BEGIN
IDS_PRESSURE_ATMOSPHERES "Atmosfæretrykk"
IDS_PRESSURE_BARS "Bars"
IDS_PRESSURE_MM_OF_MERCURY "Millimeters of mercury"
IDS_PRESSURE_PASCALS "Pascals"
IDS_PRESSURE_PSI "Pounds-force per square inch"
END
// TYPES OF TEMPERATURES
STRINGTABLE DISCARDABLE
BEGIN
IDS_TEMPERATURE_CELSIUS "Celsius"
IDS_TEMPERATURE_FAHRENHEIT "Fahrenheit"
IDS_TEMPERATURE_KELVIN "Kelvin"
IDS_TEMPERATURE_RANKINE "Rankine"
END
// TYPES OF VELOCITIES
STRINGTABLE DISCARDABLE
BEGIN
IDS_VELOCITY_FEET_HOUR "Feet/time"
IDS_VELOCITY_KILOMETERS_HOUR "kilometer/time"
IDS_VELOCITY_KNOTS "Knot"
IDS_VELOCITY_MACH "Mach"
IDS_VELOCITY_METERS_SECOND "Meter/sekunder"
IDS_VELOCITY_MILES_HOUR "Mil/time"
END
// TYPES OF VOLUMES
STRINGTABLE DISCARDABLE
BEGIN
IDS_VOLUME_BARRELS_UK "Barrels (UK)"
IDS_VOLUME_BARRELS_OIL "Barrels oil"
IDS_VOLUME_BUN "Bun"
IDS_VOLUME_BUSHELS_UK "Bushels (UK)"
IDS_VOLUME_BUSHELS_US "Bushels (US)"
IDS_VOLUME_CUBIC_CENTIMETERS "Cubic centimeters"
IDS_VOLUME_CUBIC_FEET "Cubic feet"
IDS_VOLUME_CUBIC_INCHES "Cubic inches"
IDS_VOLUME_CUBIC_METERS "Cubic meters"
IDS_VOLUME_CUBIC_YARDS "Cubic yards"
IDS_VOLUME_DOE "Doe"
IDS_VOLUME_FLUID_OUNCES_UK "Fluid ounces (UK)"
IDS_VOLUME_FLUID_OUNCES_US "Fluid ounces (US)"
IDS_VOLUME_GALLONS_UK "Gallons (UK)"
IDS_VOLUME_GALLONS_DRY_US "Gallons, dry (US)"
IDS_VOLUME_GALLONS_LIQUID_US "Gallons, liquid (US)"
IDS_VOLUME_GOU "Gou"
IDS_VOLUME_HOP "Hop"
IDS_VOLUME_ICCE "Icce"
IDS_VOLUME_KWIAN "Kwian"
IDS_VOLUME_LITERS "Liters"
IDS_VOLUME_MAL "Mal"
IDS_VOLUME_MILLILITERS "Milliliters"
IDS_VOLUME_PINTS_UK "Pints (UK)"
IDS_VOLUME_PINTS_DRY_US "Pints, dry (US)"
IDS_VOLUME_PINTS_LIQUID_US "Pints, liquid (US)"
IDS_VOLUME_QUARTS_UK "Quarts (UK)"
IDS_VOLUME_QUARTS_DRY_US "Quarts, dry (US)"
IDS_VOLUME_QUARTS_LIQUID_US "Quarts, liquid (US)"
IDS_VOLUME_SEKI "Seki"
IDS_VOLUME_SYOU "Syou"
IDS_VOLUME_TANANLOUNG "Tananloung"
IDS_VOLUME_TANG "Tang"
IDS_VOLUME_TO "To"
END

View file

@ -310,6 +310,8 @@ void run_operator(calc_node_t *result,
operator_list[operation].op_p(&dc, &da, &db);
} else
operator_list[operation].op_f(&dc, &da, &db);
if (_finite(dc.f) == 0)
calc.is_nan = TRUE;
} else {
operator_list[operation].op_i(&dc, &da, &db);
/* apply final limitator to result */
@ -331,7 +333,6 @@ static void evalStack(calc_number_t *number)
stack_node_t *op, ip;
unsigned int prec;
percent_mode = FALSE;
op = pop();
ip = *op;
prec = operator_list[ip.node.operation].prec;
@ -373,6 +374,9 @@ int exec_infix2postfix(calc_number_t *number, unsigned int func)
return 0;
}
if (func == RPN_OPERATOR_PERCENT)
percent_mode = TRUE;
tmp.node.number = *number;
tmp.node.base = calc.base;
tmp.node.operation = func;

View file

@ -311,7 +311,6 @@ static void evalStack(calc_number_t *number)
unsigned int prec;
mpfr_init(ip.node.number.mf);
percent_mode = FALSE;
op = pop();
node_copy(&ip, op);
prec = operator_list[ip.node.operation].prec;
@ -355,6 +354,9 @@ int exec_infix2postfix(calc_number_t *number, unsigned int func)
return 0;
}
if (func == RPN_OPERATOR_PERCENT)
percent_mode = TRUE;
mpfr_init(tmp.node.number.mf);
rpn_copy(&tmp.node.number, number);
tmp.node.operation = func;

View file

@ -1,3 +1,14 @@
1.10 (20080813)
=======================
* Added Norvegian and Korean translations.
* Fixed Polish and Slovak translations.
* Fixed percent mode.
* Fixed some unsignaled overflow errors.
* Fixed conversion method, now scientific notation is recognized too.
* Added compilation for UNICODE executables.
* Plain MINGW toolchain do not support wWinMain function, so I switched to old WinMain if it is not under ReactOS' build tree.
* Detect error if UNICODE version is launched into Win9x (avoid the lock).
1.09 (20080630)
=======================
* Fixed bug with Conversion function: "Category" type must be found like "from" and "to" because the combobox sorts its items alphabetically.

View file

@ -784,68 +784,18 @@ static void delete_stat_item(int n)
static char *ReadConversion(const char *formula)
{
unsigned int len = 256, n;
char *str;
char *code = NULL;
const char *p = formula;
char c;
calc_number_t x;
TCHAR buffer[SIZEOF(calc.buffer)];
#ifdef UNICODE
char cbuffer[SIZEOF(calc.buffer)];
#endif
int len = strlen(formula);
char *str = (char *)malloc(len+3);
str = (char *)malloc(len);
if (str == NULL)
return NULL;
/* prepare code string */
rpn_alloc(&x);
convert_text2number(&x);
prepare_rpn_result(&x,
buffer, SIZEOF(buffer),
calc.base);
rpn_free(&x);
#ifdef UNICODE
WideCharToMultiByte(CP_ACP, 0, buffer, -1, cbuffer, SIZEOF(cbuffer), NULL, NULL);
#endif
str[0] = '(';
n = 1;
while (1) {
if (code != NULL) {
c = *code++;
if (*code == '\0')
code = NULL;
} else
c = *p++;
memcpy(str+1, formula, len);
str[len+1] = ')';
str[len+2] = '\0';
if (c == '\0') {
str[n++] = ')';
if (n >= len-1) {
str = (char *)realloc(str, len += 16);
if (str == NULL)
return NULL;
}
break;
} else
if (c == '$') {
#ifdef UNICODE
code = cbuffer;
#else
code = buffer;
#endif
continue;
}
str[n++] = c;
if (n >= len-1) {
str = (char *)realloc(str, len += 16);
if (str == NULL)
return NULL;
}
}
str[n] = '\0';
_tcscpy(calc.source, (*calc.buffer == _T('\0')) ? _T("0") : calc.buffer);
/* clear display content before proceeding */
calc.ptr = calc.buffer;
@ -991,6 +941,11 @@ static char *handle_sequence_input(HWND hwnd, sequence_t *seq)
case 'Q': PostMessage(hwnd, WM_COMMAND, (WPARAM)IDC_BUTTON_CANC, 0); break;
case 'R': PostMessage(hwnd, WM_COMMAND, (WPARAM)IDC_BUTTON_MR, 0); break;
}
} else
if (ch == '$') {
calc.ptr =
_tcscpy(calc.buffer, calc.source) +
_tcslen(calc.source);
} else {
for (x=0; x<SIZEOF(key2code); x++) {
if (!(key2code[x].mask & BITMASK_IS_ASCII) ||
@ -1650,13 +1605,15 @@ static INT_PTR CALLBACK DlgMainProc(HWND hWnd, UINT msg, WPARAM wp, LPARAM lp)
}
return TRUE;
case WM_HANDLE_FROM:
if (handle_sequence_input(hWnd, &calc.Convert[0]) == NULL) {
if (calc.is_nan)
break;
if (handle_sequence_input(hWnd, &calc.Convert[0]) == NULL)
PostMessage(hWnd, WM_START_CONV, 0,
MAKELPARAM(0x0001, WM_HANDLE_TO));
}
return TRUE;
case WM_HANDLE_TO:
handle_sequence_input(hWnd, &calc.Convert[1]);
if (!calc.is_nan)
handle_sequence_input(hWnd, &calc.Convert[1]);
return TRUE;
case WM_CLOSE:
calc.action = IDC_STATIC;
@ -1692,7 +1649,11 @@ static INT_PTR CALLBACK DlgMainProc(HWND hWnd, UINT msg, WPARAM wp, LPARAM lp)
return FALSE;
}
#if defined(__GNUC__) && !defined(__REACTOS__)
int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nShowCmd)
#else
int WINAPI _tWinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPTSTR lpCmdLine, int nShowCmd)
#endif
{
MSG msg;
DWORD dwLayout;
@ -1715,7 +1676,9 @@ int WINAPI _tWinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPTSTR lpCmdL
else
dwLayout = IDD_DIALOG_STANDARD;
CreateDialog(hInstance, MAKEINTRESOURCE(dwLayout), NULL, DlgMainProc);
/* This call will always fail if UNICODE for Win9x */
if (NULL == CreateDialog(hInstance, MAKEINTRESOURCE(dwLayout), NULL, (DLGPROC)DlgMainProc))
break;
while (GetMessage(&msg, NULL, 0, 0)) {
#ifndef USE_KEYBOARD_HOOK

View file

@ -5,11 +5,13 @@
* FILE: tools/dbgprint/dbgprint.c
* PURPOSE: outputs a text via DbgPrint API
* PROGRAMMERS: Johannes Anderwald (johannes.anderwald@student.tugraz.at)
* Christoph von Wittich (Christoph_vW@ReactOS.org)
*/
#include <windows.h>
#include <tchar.h>
#include <debug.h>
#include <stdio.h>
int _tmain(int argc, TCHAR ** argv)
{
@ -29,30 +31,89 @@ int _tmain(int argc, TCHAR ** argv)
return -1;
}
buf = HeapAlloc(GetProcessHeap(), 0, (bufsize+1) * sizeof(TCHAR));
if (!buf)
if (_tcsstr(argv[1], "--winetest") && (argc == 3))
{
return -1;
}
char psBuffer[128];
char psBuffer2[128];
char cmd[255];
char test[300];
FILE *pPipe;
FILE *pPipe2;
offset = 0;
for(i = 1; i < argc; i++)
{
int length = _tcslen(argv[i]);
_tcsncpy(&buf[offset], argv[i], length);
offset += length;
if (i + 1 < argc)
/* get available tests */
pPipe = _tpopen(argv[2], "r");
if (pPipe != NULL)
{
buf[offset] = _T(' ');
while(fgets(psBuffer, 128, pPipe))
{
if (psBuffer[0] == ' ')
{
strcpy(cmd, argv[2]);
strcat(cmd, " ");
strcat(cmd, psBuffer+4);
/* run the current test */
strcpy(test, "\n\nRunning ");
strcat(test, cmd);
OutputDebugStringA(test);
pPipe2 = _tpopen(cmd, "r");
if (pPipe2 != NULL)
{
while(fgets(psBuffer2, 128, pPipe2))
{
char *nlptr2 = strchr(psBuffer2, '\n');
if (nlptr2)
*nlptr2 = '\0';
OutputDebugStringA(psBuffer2);
}
_pclose(pPipe2);
}
}
}
_pclose(pPipe);
}
else
{
buf[offset] = _T('\n');
buf[offset+1] = _T('\0');
}
offset++;
}
OutputDebugString(buf);
HeapFree(GetProcessHeap(), 0, buf);
else if (_tcsstr(argv[1], "--process") && (argc == 3))
{
char psBuffer[128];
FILE *pPipe;
pPipe = _tpopen(argv[2], "r");
if (pPipe != NULL)
{
while(fgets(psBuffer, 128, pPipe))
{
OutputDebugStringA(psBuffer);
}
_pclose(pPipe);
}
}
else
{
buf = HeapAlloc(GetProcessHeap(), 0, (bufsize+1) * sizeof(TCHAR));
if (!buf)
{
return -1;
}
offset = 0;
for(i = 1; i < argc; i++)
{
int length = _tcslen(argv[i]);
_tcsncpy(&buf[offset], argv[i], length);
offset += length;
if (i + 1 < argc)
{
buf[offset] = _T(' ');
}
else
{
buf[offset] = _T('\n');
buf[offset+1] = _T('\0');
}
offset++;
}
OutputDebugString(buf);
HeapFree(GetProcessHeap(), 0, buf);
}
return 0;
}

View file

@ -7,9 +7,9 @@ BEGIN
Commande | MORE \n\
MORE [Lecteur:][Chemin]Nom du fichier\n\n\
[Lecteur:][Chemin]Nom du fichier Un fichier, dont le contenu sera affiché.\n\
Commande\t\t Une commande, dont la sortie sera affiché.\n\n\
À l'invite ""-- Continuer --"" you pouvez appuyer sur n'importe quelle touche pour afficher la page suivante.\n"
Commande\t\t Une commande, dont la sortie sera affichée.\n\n\
À l'invite ""-- Continuer --"" Vous pouvez appuyer sur n'importe quelle touche pour afficher la page suivante.\n"
IDS_CONTINUE, " -- Continuer (100%) -- "
IDS_FILE_ACCESS, "Impossible d'accèder au fichier %s."
IDS_FILE_ACCESS, "Impossible d'accéder au fichier %s."
END

View file

@ -4,13 +4,13 @@ IDD_MAIN_DIALOG DIALOGEX DISCARDABLE 0, 0, 478, 280
STYLE DS_SHELLFONT | DS_CENTER | WS_MINIMIZEBOX | WS_POPUP |
WS_CLIPSIBLINGS | WS_CLIPCHILDREN | WS_CAPTION | WS_SYSMENU |
WS_THICKFRAME
CAPTION "ReactX-Diagnostic program"
CAPTION "ReactX-diagnose program"
FONT 8, "MS Shell Dlg"
BEGIN
CONTROL "Tab1",IDC_TAB_CONTROL,"SysTabControl32",WS_TABSTOP,2,2,474,250
PUSHBUTTON "&Hjelp", IDC_BUTTON_HELP, 2, 261, 50, 14, WS_CHILD | WS_VISIBLE | WS_TABSTOP
DEFPUSHBUTTON "&Neste side", IDC_BUTTON_NEXT, 257, 261, 50, 14, WS_CHILD | WS_VISIBLE | WS_TABSTOP
PUSHBUTTON "&Lagre Alt Informasjon...", IDC_BUTTON_SAVE_INFO, 311, 261, 110, 14, WS_CHILD | WS_VISIBLE | WS_TABSTOP
PUSHBUTTON "&Lagre alt informasjon...", IDC_BUTTON_SAVE_INFO, 311, 261, 110, 14, WS_CHILD | WS_VISIBLE | WS_TABSTOP
PUSHBUTTON "&Avslutt", IDC_BUTTON_EXIT, 425, 261, 50, 14, WS_CHILD | WS_VISIBLE | WS_TABSTOP
END
@ -122,7 +122,7 @@ BEGIN
RTEXT "Dato:", -1, 275, 45, 55, 10
RTEXT "WHQL-Logo:", -1, 275, 55, 55, 10
RTEXT "Andre filer:", -1, 275, 65, 55, 10
RTEXT "Provider:", -1, 275, 75, 55, 10
RTEXT "Fabrikant:", -1, 275, 75, 55, 10
LTEXT "", IDC_STATIC_DSOUND_DRIVER, 335, 25, 100, 10
LTEXT "", IDC_STATIC_DSOUND_VERSION, 335, 35, 100, 10
LTEXT "", IDC_STATIC_DSOUND_DATE, 335, 45, 100, 10
@ -148,9 +148,9 @@ IDD_INPUT_DIALOG DIALOGEX DISCARDABLE 0, 0, 462, 220
STYLE DS_SHELLFONT | DS_CONTROL | WS_CHILD | WS_CLIPCHILDREN
FONT 8, "MS Shell Dlg"
BEGIN
GROUPBOX "DirectInput Enheter", -1, 10, 10, 452, 80
GROUPBOX "Direkteinndata enheter", -1, 10, 10, 452, 80
CONTROL "", IDC_LIST_DEVICE, "SysListView32", LVS_REPORT | WS_CHILD | WS_BORDER | WS_TABSTOP, 20, 22, 432, 60
GROUPBOX "Input Enheter", -1, 10, 100, 452, 60
GROUPBOX "Inndata enheter", -1, 10, 100, 452, 60
CONTROL "", IDC_TREE_PORT, "SysTreeView32", TVS_HASBUTTONS | TVS_HASLINES | TVS_LINESATROOT | TVS_DISABLEDRAGDROP | TVS_SHOWSELALWAYS | WS_VISIBLE | WS_BORDER | WS_TABSTOP, 20, 112, 432, 40, 0x00000200
GROUPBOX "Informasjon", -1, 10, 170, 452, 50
EDITTEXT IDC_RICH_INFO, 20, 182, 432, 30, WS_DISABLED | WS_TABSTOP
@ -160,7 +160,7 @@ IDD_NETWORK_DIALOG DIALOGEX DISCARDABLE 0, 0, 462, 220
STYLE DS_SHELLFONT | DS_CONTROL | WS_CHILD | WS_CLIPCHILDREN
FONT 8, "MS Shell Dlg"
BEGIN
GROUPBOX "Registered DirectPlay Service Provider", -1, 10, 10, 452, 80
GROUPBOX "Registert DirectPlay tjeneste leverandør", -1, 10, 10, 452, 80
CONTROL "", IDC_LIST_PROVIDER, "SysListView32", LVS_REPORT | WS_CHILD | WS_BORDER | WS_TABSTOP, 20, 22, 432, 60
END
@ -177,13 +177,13 @@ BEGIN
IDS_DISPLAY_DIALOG "Skjerm"
IDS_SOUND_DIALOG "Lyd"
IDS_MUSIC_DIALOG "Musikk"
IDS_INPUT_DIALOG "Input"
IDS_INPUT_DIALOG "Inndata"
IDS_NETWORK_DIALOG "Nettverk"
IDS_HELP_DIALOG "Hjelp"
IDS_FORMAT_MB "%I64uMB RAM"
IDS_FORMAT_SWAP "%I64u MB brukt, %I64u MB tilgjengelig"
IDS_FORMAT_UNIPROC "%s (%u CPU)"
IDS_FORMAT_MPPROC "%s (%u CPUs)"
IDS_FORMAT_UNIPROC "%s (%u prosessor)"
IDS_FORMAT_MPPROC "%s (%u prosesorer)"
IDS_VERSION_UNKNOWN "Ukjent versjon"
IDS_DEVICE_STATUS_ATTACHED "Koblet til"
IDS_DEVICE_STATUS_MISSING "Koblet fra"

View file

@ -22,7 +22,7 @@ BEGIN
AUTORADIOBUTTON "En tirer trois", IDC_OPT_DRAWTHREE, 14, 32, 52, 10
AUTOCHECKBOX "Afficher le temp&s", IDC_OPT_SHOWTIME, 7 ,51 ,65 ,10, WS_TABSTOP | WS_DISABLED
AUTOCHECKBOX "Barre de s&tatus", IDC_OPT_STATUSBAR, 7, 66, 64, 10, WS_TABSTOP
AUTOCHECKBOX "Barre de s&tatut", IDC_OPT_STATUSBAR, 7, 66, 64, 10, WS_TABSTOP
DEFPUSHBUTTON "OK", IDOK, 35, 97, 50, 14
PUSHBUTTON "Annuler", IDCANCEL, 101, 97, 50, 14

View file

@ -88,8 +88,8 @@ WinHookProc(int code, WPARAM wParam, LPARAM lParam)
return CallNextHookEx(hWinHook, code, wParam, lParam);
}
BOOL
KbSwitchSetHooks()
BOOL WINAPI
KbSwitchSetHooks(VOID)
{
hKeyboardHook = SetWindowsHookEx(WH_KEYBOARD, KeyboardHookProc, hInstance, 0);
hLangHook = SetWindowsHookEx(WH_GETMESSAGE, LangHookProc, hInstance, 0);
@ -101,8 +101,8 @@ KbSwitchSetHooks()
return FALSE;
}
VOID
KbSwitchDeleteHooks()
VOID WINAPI
KbSwitchDeleteHooks(VOID)
{
if (hKeyboardHook) UnhookWindowsHookEx(hKeyboardHook);
if (hLangHook) UnhookWindowsHookEx(hLangHook);

View file

@ -1,7 +0,0 @@
LIBRARY kbsdll.dll
EXPORTS
KbSwitchSetHooks
KbSwitchDeleteHooks
; EOF

View file

@ -1,15 +1,15 @@
<?xml version="1.0"?>
<!DOCTYPE module SYSTEM "../../../../tools/rbuild/project.dtd">
<module name="kbsdll" type="win32dll" baseaddress="0x74720000" installbase="system32" installname="kbsdll.dll" unicode="yes">
<importlibrary definition="kbsdll.def" />
<importlibrary definition="kbsdll.spec.def" />
<include base="kbsdll">.</include>
<define name="_WIN32_IE">0x0500</define>
<define name="_WIN32_WINNT">0x0600</define>
<define name="WINVER">0x0600</define>
<library>ntdll</library>
<library>kernel32</library>
<library>user32</library>
<library>comctl32</library>
<file>kbsdll.c</file>
<file>kbsdll.rc</file>
<file>kbsdll.spec</file>
</module>

View file

@ -0,0 +1,2 @@
@ stdcall KbSwitchSetHooks()
@ stdcall KbSwitchDeleteHooks()

View file

@ -0,0 +1,11 @@
LANGUAGE LANG_ITALIAN, SUBLANG_NEUTRAL
IDR_POPUP MENU
BEGIN
POPUP "popup"
BEGIN
MENUITEM "&Preferenze...", ID_PREFERENCES
MENUITEM SEPARATOR
MENUITEM "&Esci", ID_EXIT
END
END

View file

@ -4,6 +4,7 @@
#include "lang/en-US.rc"
#include "lang/es-ES.rc"
#include "lang/fr-FR.rc"
#include "lang/it-IT.rc"
#include "lang/lt-LT.rc"
#include "lang/no-NO.rc"
#include "lang/pl-PL.rc"

View file

@ -36,7 +36,7 @@ BEGIN
PUSHBUTTON "Rechercher", IDC_BTN_SYSTEM_FIND, 290, 95, 66, 14
PUSHBUTTON "&Nouveau", IDC_BTN_SYSTEM_NEW, 290, 115, 66, 14
PUSHBUTTON "Édi&ter", IDC_BTN_SYSTEM_EDIT, 290, 135, 66, 14
PUSHBUTTON "M&odifier", IDC_BTN_SYSTEM_EDIT, 290, 135, 66, 14
PUSHBUTTON "Activer tout", IDC_BTN_SYSTEM_ACTIVATE, 123, 155, 66, 14
PUSHBUTTON "Désactiver tout",IDC_BTN_SYSTEM_DEACTIVATE, 195, 155, 66, 14
@ -64,11 +64,11 @@ IDD_GENERAL_PAGE DIALOGEX DISCARDABLE 0, 0, 362, 175
STYLE DS_SHELLFONT | DS_CONTROL | WS_CHILD | WS_CLIPCHILDREN
FONT 8, "MS Shell Dlg"
BEGIN
GROUPBOX "Sélection du Démarrage ", -1, 10, 10, 340, 150,0,WS_EX_TRANSPARENT
CONTROL "Démarrage &Normal - charge tous les drivers et services", IDC_CBX_NORMAL_START, "Button", 0x50010009, 20, 30, 185, 10
CONTROL "Démarrage &Diagnostic - charge les périphériques de base et services seulement", IDC_CBX_DIAGNOSTIC_START, "Button", 0x50010009, 20, 45, 260, 10
CONTROL "Démarrage &Sélectif", IDC_CBX_SELECTIVE_STARTUP, "Button", 0x50010009, 20, 60, 75, 10
AUTOCHECKBOX "T&raiter le fichier SYSTEM.INI", IDC_CBX_SYSTEM_INI, 30, 80, 100, 10
GROUPBOX "Sélection du mode de démarrage ", -1, 10, 10, 340, 150,0,WS_EX_TRANSPARENT
CONTROL "Démarrage &normal - charge tous les pilotes et tous les services", IDC_CBX_NORMAL_START, "Button", 0x50010009, 20, 30, 185, 10
CONTROL "Démarrage en mode &diagnostic - charge les périphériques de base et les services seulement", IDC_CBX_DIAGNOSTIC_START, "Button", 0x50010009, 20, 45, 260, 10
CONTROL "Démarrage &sélectif", IDC_CBX_SELECTIVE_STARTUP, "Button", 0x50010009, 20, 60, 75, 10
AUTOCHECKBOX "T&raiter le fichier System.ini", IDC_CBX_SYSTEM_INI, 30, 80, 100, 10
AUTOCHECKBOX "&Charger les Services Système", IDC_CBX_SYSTEM_SERVICE, 30, 95, 105, 10
AUTOCHECKBOX "Charger les éléments de démarrage", IDC_CBX_STARTUP_ITEM, 30, 110, 75, 10
END
@ -78,7 +78,7 @@ STYLE DS_SHELLFONT | DS_CONTROL | WS_CHILD | WS_CLIPCHILDREN
FONT 8, "MS Shell Dlg"
BEGIN
CONTROL "", IDC_LIST_BOX, "ListBox", 0x50010141, 10, 10, 340, 50, 0x00000200
PUSHBUTTON "&Cocher tous les chemins de démarrage", IDC_BTN_CHECK_BOOT_PATH, 10, 65, 70, 12
PUSHBUTTON "&Vérifier les chemins de démarrage", IDC_BTN_CHECK_BOOT_PATH, 10, 65, 70, 12
PUSHBUTTON "&Par Défaut", IDC_BTN_SET_DEFAULT_BOOT, 100, 65, 70, 12
PUSHBUTTON "&Monter", IDC_BTN_MOVE_UP_BOOT_OPTION, 190, 65, 70, 12
PUSHBUTTON "&Descendre", IDC_BTN_MOVE_DOWN_BOOT_OPTION, 280, 65, 70, 12
@ -91,7 +91,7 @@ BEGIN
PUSHBUTTON "Options A&vancées...", IDC_BTN_ADVANCED_OPTIONS, 100, 150, 70, 12
LTEXT "&Délai:", -1, 280, 91, 30, 10
EDITTEXT IDC_TXT_BOOT_TIMEOUT, 310, 90, 25, 12, ES_LEFT
LTEXT "sec.", -1, 340, 91, 15, 10
LTEXT "secondes", -1, 340, 91, 15, 10
END
IDD_FREELDR_ADVANCED_PAGE DIALOGEX DISCARDABLE 0, 0, 175, 175
@ -133,7 +133,7 @@ END
STRINGTABLE DISCARDABLE
BEGIN
IDS_SERVICES_COLUMN_SERVICE "Service"
IDS_SERVICES_COLUMN_REQ "Requis"
IDS_SERVICES_COLUMN_REQ "Essentiel"
IDS_SERVICES_COLUMN_VENDOR "Fabricant"
IDS_SERVICES_COLUMN_STATUS "État"
END
@ -144,15 +144,15 @@ BEGIN
IDS_TOOLS_COLUMN_DESCR "Description"
IDS_TOOLS_CMD_NAME "Console"
IDS_TOOLS_CMD_DESCR ""
IDS_TOOLS_CMD_DESCR "Ouvre la console."
IDS_TOOLS_CMD_CMD "cmd.exe"
IDS_TOOLS_INFO_NAME "Version"
IDS_TOOLS_INFO_DESCR "Affiche les informations de version."
IDS_TOOLS_INFO_DESCR "Affiche la version de ReactOS."
IDS_TOOLS_INFO_CMD "winver.exe"
IDS_TOOLS_REGEDIT_NAME "Editeur de Registre"
IDS_TOOLS_REGEDIT_DESCR "Ouvre l'éditeur de Registre"
IDS_TOOLS_REGEDIT_NAME "Editeur du Registre"
IDS_TOOLS_REGEDIT_DESCR "Ouvre l'éditeur du Registre"
IDS_TOOLS_REGEDIT_CMD "regedit.exe"
IDS_TOOLS_SYSDM_NAME "Propriétés système"
@ -160,14 +160,14 @@ BEGIN
IDS_TOOLS_SYSDM_CMD "control.exe"
IDS_TOOLS_SYSDM_PARAM "sysdm.cpl"
IDS_STARTUP_COLUMN_ELEMENT "Elément"
IDS_STARTUP_COLUMN_ELEMENT "Élément"
IDS_STARTUP_COLUMN_CMD "Commande"
IDS_STARTUP_COLUMN_PATH "Chemin"
END
STRINGTABLE DISCARDABLE
BEGIN
IDS_SERVICES_STATUS_RUNNING "En cours"
IDS_SERVICES_STATUS_RUNNING "En cours d'exécution"
IDS_SERVICES_STATUS_STOPPED "Arrêté"
IDS_SERVICES_YES "Oui"
IDS_SERVICES_UNKNOWN "Inconnu"

View file

@ -38,8 +38,8 @@ BEGIN
PUSHBUTTON "&Ny", IDC_BTN_SYSTEM_NEW, 290, 115, 66, 14
PUSHBUTTON "Re&diger", IDC_BTN_SYSTEM_EDIT, 290, 135, 66, 14
PUSHBUTTON "A&ktiver Alt", IDC_BTN_SYSTEM_ACTIVATE, 123, 155, 66, 14
PUSHBUTTON "Dektiver A&lt",IDC_BTN_SYSTEM_DEACTIVATE, 195, 155, 66, 14
PUSHBUTTON "A&ktiver alt", IDC_BTN_SYSTEM_ACTIVATE, 123, 155, 66, 14
PUSHBUTTON "D&eaktiver alt",IDC_BTN_SYSTEM_DEACTIVATE, 195, 155, 66, 14
END
IDD_TOOLS_PAGE DIALOGEX DISCARDABLE 0, 0, 362, 175
@ -64,13 +64,13 @@ IDD_GENERAL_PAGE DIALOGEX DISCARDABLE 0, 0, 362, 175
STYLE DS_SHELLFONT | DS_CONTROL | WS_CHILD | WS_CLIPCHILDREN
FONT 8, "MS Shell Dlg"
BEGIN
GROUPBOX "Oppstarts utvalg", -1, 10, 10, 340, 150,0,WS_EX_TRANSPARENT
CONTROL "&Normal oppstart - laste inn alle enhetsdrivere og tjenester", IDC_CBX_NORMAL_START, "Button", 0x50010009, 20, 30, 180, 10
CONTROL "&Diagnose oppstart - last bare inn grunnleggende enheter og tjenester", IDC_CBX_DIAGNOSTIC_START, "Button", 0x50010009, 20, 45, 195, 10
GROUPBOX "Oppstarts valg", -1, 10, 10, 340, 150,0,WS_EX_TRANSPARENT
CONTROL "&Normal oppstart - last inn alle enhetsdrivere og tjenester", IDC_CBX_NORMAL_START, "Button", 0x50010009, 20, 30, 236, 10
CONTROL "&Diagnose oppstart - last bare inn grunnleggende enheter og tjenester", IDC_CBX_DIAGNOSTIC_START, "Button", 0x50010009, 20, 45, 236, 10
CONTROL "&Selektiv oppstart", IDC_CBX_SELECTIVE_STARTUP, "Button", 0x50010009, 20, 60, 70, 10
AUTOCHECKBOX "L&ast inn SYSTEM.INI Filen", IDC_CBX_SYSTEM_INI, 30, 80, 95, 10
AUTOCHECKBOX "&Last inn System tjenester", IDC_CBX_SYSTEM_SERVICE, 30, 95, 90, 10
AUTOCHECKBOX "Las&t inn oppstartselementet", IDC_CBX_STARTUP_ITEM, 30, 110, 75, 10
AUTOCHECKBOX "&Last inn Systemtjenester", IDC_CBX_SYSTEM_SERVICE, 30, 95, 105, 10
AUTOCHECKBOX "Las&t inn oppstartselementet", IDC_CBX_STARTUP_ITEM, 30, 110, 105, 10
END
IDD_FREELDR_PAGE DIALOGEX DISCARDABLE 0, 0, 362, 175
@ -78,20 +78,20 @@ STYLE DS_SHELLFONT | DS_CONTROL | WS_CHILD | WS_CLIPCHILDREN
FONT 8, "MS Shell Dlg"
BEGIN
CONTROL "", IDC_LIST_BOX, "ListBox", 0x50010141, 10, 10, 340, 50, 0x00000200
PUSHBUTTON "&Sjekk alle oppstartsbaner", IDC_BTN_CHECK_BOOT_PATH, 10, 65, 70, 12
PUSHBUTTON "&Sjekk oppstartsbaner", IDC_BTN_CHECK_BOOT_PATH, 10, 65, 75, 12
PUSHBUTTON "&Sett som standard", IDC_BTN_SET_DEFAULT_BOOT, 100, 65, 70, 12
PUSHBUTTON "Flytt &Opp", IDC_BTN_MOVE_UP_BOOT_OPTION, 190, 65, 70, 12
PUSHBUTTON "Flytt &Ned", IDC_BTN_MOVE_DOWN_BOOT_OPTION, 280, 65, 70, 12
GROUPBOX "Oppstarts alternativer", -1, 10, 80, 250, 90,0,WS_EX_TRANSPARENT
CHECKBOX "/Sik&ker oppstart", IDC_CBX_SAFE_BOOT, 15, 90, 50, 10
CHECKBOX "/&Ingen grafisk oppstart", IDC_CBX_NO_GUI_BOOT, 15, 105, 55, 10
CHECKBOX "/&Oppstart logg", IDC_CBX_BOOT_LOG, 15, 120, 50, 10
CHECKBOX "/Enkel& grafikk", IDC_CBX_BASE_VIDEO, 15, 135, 55, 10
PUSHBUTTON "Flytt &opp", IDC_BTN_MOVE_UP_BOOT_OPTION, 190, 65, 70, 12
PUSHBUTTON "Flytt &ned", IDC_BTN_MOVE_DOWN_BOOT_OPTION, 280, 65, 70, 12
GROUPBOX "Oppstarts alternativer", -1, 10, 80, 250, 95,0,WS_EX_TRANSPARENT
CHECKBOX "/Sik&ker oppstart", IDC_CBX_SAFE_BOOT, 15, 90, 95, 10
CHECKBOX "/&Ingen grafisk oppstart", IDC_CBX_NO_GUI_BOOT, 15, 105, 95, 10
CHECKBOX "/&Oppstart logg", IDC_CBX_BOOT_LOG, 15, 120, 80, 10
CHECKBOX "/Enkel &grafikk", IDC_CBX_BASE_VIDEO, 15, 135, 95, 10
CHECKBOX "/H&jelp", IDC_CBX_SOS, 15, 150, 50, 10
PUSHBUTTON "Av&anserte alternativer...", IDC_BTN_ADVANCED_OPTIONS, 100, 150, 70, 12
LTEXT "&Tidsavbrudd:", -1, 280, 91, 30, 10
EDITTEXT IDC_TXT_BOOT_TIMEOUT, 310, 90, 25, 12, ES_LEFT
LTEXT "sek.", -1, 340, 91, 15, 10
PUSHBUTTON "Av&anserte alternativer...", IDC_BTN_ADVANCED_OPTIONS, 100, 150, 93, 12
LTEXT "&Tidsavbrudd:", -1, 280, 91, 70, 10
EDITTEXT IDC_TXT_BOOT_TIMEOUT, 280, 100, 25, 12, ES_LEFT
LTEXT "sekunder", -1, 310, 100, 85, 10
END
IDD_FREELDR_ADVANCED_PAGE DIALOGEX DISCARDABLE 0, 0, 175, 175

View file

@ -68,7 +68,7 @@ BEGIN
IDS_APPNAME "Gestionnaire de périphériques ReactOS"
IDS_HINT_BLANK " "
IDS_HINT_EXIT " Quitte le programme."
IDS_HINT_REFRESH " Actualise la liste des services."
IDS_HINT_REFRESH " Actualise la liste des périphériques."
IDS_HINT_PROP " Ouvre la feuille de propriétés pour la sélection actuelle."
IDS_HINT_HELP " Affiche la fenêtre d'aide."
IDS_HINT_ABOUT " À propos du Gestionnaire de Périphériques de ReactOS."

View file

@ -13,7 +13,7 @@ BEGIN
POPUP "Journa&l"
BEGIN
MENUITEM "&Application", ID_LOG_APPLICATION, CHECKED
MENUITEM "&Securité", ID_LOG_SECURITY
MENUITEM "&Sécurité", ID_LOG_SECURITY
MENUITEM "&Système", ID_LOG_SYSTEM
MENUITEM SEPARATOR
MENUITEM "Quitter", IDM_EXIT
@ -76,7 +76,7 @@ BEGIN
LTEXT "Static",IDC_EVENTUSERSTATIC,56,41,72,8
LTEXT "Ordinateur :",IDC_STATIC,14,54,36,8
LTEXT "Static",IDC_EVENTCOMPUTERSTATIC,56,54,72,8
LTEXT "EventID :",IDC_STATIC,133,15,36,8
LTEXT "Événement :",IDC_STATIC,133,15,36,8
LTEXT "Static",IDC_EVENTIDSTATIC,175,15,87,8
LTEXT "Source :",IDC_STATIC,133,28,36,8
LTEXT "Static",IDC_EVENTSOURCESTATIC,175,28,87,8
@ -86,19 +86,19 @@ BEGIN
LTEXT "Static",IDC_EVENTCATEGORYSTATIC,175,55,87,8
EDITTEXT IDC_EVENTDATAEDIT,14,204,247,44,ES_MULTILINE | ES_READONLY
LTEXT "Données",IDC_STATIC,14,194,20,8
CONTROL "&Bytes",IDC_BYTESRADIO,"Button",BS_AUTORADIOBUTTON,39,194,34,10
CONTROL "&Word",IDC_WORDRADIO,"Button",BS_AUTORADIOBUTTON,77,194,33,10
CONTROL "&Octets",IDC_BYTESRADIO,"Button",BS_AUTORADIOBUTTON,39,194,34,10
CONTROL "&Mots",IDC_WORDRADIO,"Button",BS_AUTORADIOBUTTON,77,194,33,10
END
STRINGTABLE
BEGIN
IDS_APP_TITLE "Visionneuse d'événements"
IDC_EVENTSTRINGIDNOTFOUND "La description pour l'événement d'ID ( %lu ) dans la source ( %s ) ne peut être trouvée. L'ordinateur local pourrait ne pas avoir les informations registres nécéssaires ou les fichiers DLL de message pour afficher les messages depuis un ordinateur distant."
IDC_EVENTLOG_ERROR_TYPE "Error"
IDC_EVENTLOG_WARNING_TYPE "Warning"
IDC_EVENTLOG_INFORMATION_TYPE "Information"
IDC_EVENTLOG_ERROR_TYPE "Erreur"
IDC_EVENTLOG_WARNING_TYPE "Avertissement"
IDC_EVENTLOG_INFORMATION_TYPE "Informations"
IDC_EVENTLOG_AUDIT_SUCCESS "Audit Success"
IDC_EVENTLOG_AUDIT_FAILURE "Audit Failure"
IDC_EVENTLOG_SUCCESS "Success"
IDC_EVENTLOG_UNKNOWN_TYPE "Unknown Event"
IDC_EVENTLOG_SUCCESS "Succès"
IDC_EVENTLOG_UNKNOWN_TYPE "Événement Inconnu"
END

View file

@ -131,7 +131,7 @@ BEGIN
LTEXT "Îïèñàíèå :", IDC_STATIC, 12, 86, 44, 9
PUSHBUTTON "Äîáðå", IDOK, 126, 192, 44, 13
PUSHBUTTON "Îòêàç", IDCANCEL, 176, 192, 46, 13
LTEXT "Допълнителни настройки (натиснете 'Помощ' за подробности)", IDC_STATIC, 10, 151, 134, 9
LTEXT "Допълнителни настройки (натиснете „Помощ“ за подробности)", IDC_STATIC, 10, 151, 134, 9
PUSHBUTTON "Ïîìîù", ID_CREATE_HELP, 10, 192, 44, 13
END

View file

@ -15,8 +15,8 @@ BEGIN
MENUITEM SEPARATOR
MENUITEM "Démarrer", ID_START, GRAYED
MENUITEM "Arrêter", ID_STOP, GRAYED
MENUITEM "Pause", ID_PAUSE, GRAYED
MENUITEM "Relancer", ID_RESUME, GRAYED
MENUITEM "Suspendre", ID_PAUSE, GRAYED
MENUITEM "Reprendre", ID_RESUME, GRAYED
MENUITEM "Redémarrer", ID_RESTART, GRAYED
MENUITEM SEPARATOR
MENUITEM "Rafraîchir", ID_REFRESH
@ -27,7 +27,7 @@ BEGIN
MENUITEM SEPARATOR
MENUITEM "Propriétés...", ID_PROP, GRAYED
END
POPUP "Vue"
POPUP "Affichage"
BEGIN
MENUITEM "Grandes Icônes", ID_VIEW_LARGE
MENUITEM "Petites Icônes", ID_VIEW_SMALL
@ -49,8 +49,8 @@ BEGIN
BEGIN
MENUITEM "Démarrer", ID_START, GRAYED
MENUITEM "Arrêter", ID_STOP, GRAYED
MENUITEM "Pause", ID_PAUSE, GRAYED
MENUITEM "Relancer", ID_RESUME, GRAYED
MENUITEM "Suspendre", ID_PAUSE, GRAYED
MENUITEM "Reprendre", ID_RESUME, GRAYED
MENUITEM "Redémarrer", ID_RESTART, GRAYED
MENUITEM SEPARATOR
MENUITEM "Rafraîchir", ID_REFRESH
@ -87,17 +87,17 @@ BEGIN
COMBOBOX IDC_START_TYPE, 70, 107, 176, 40, WS_CHILD | WS_VISIBLE | WS_TABSTOP | CBS_DROPDOWNLIST
PUSHBUTTON "Démarrer", IDC_START, 6, 155, 54, 15, WS_DISABLED
PUSHBUTTON "Arrêter", IDC_STOP, 68, 155, 54, 15, WS_DISABLED
PUSHBUTTON "Pause", IDC_PAUSE , 130, 155, 54, 15, WS_DISABLED
PUSHBUTTON "Relancer", IDC_RESUME, 192, 155, 54, 15, WS_DISABLED
PUSHBUTTON "Suspendre", IDC_PAUSE , 130, 155, 54, 15, WS_DISABLED
PUSHBUTTON "Reprendre", IDC_RESUME, 192, 155, 54, 15, WS_DISABLED
LTEXT "Nom du service :", IDC_STATIC, 4, 11, 53, 11
LTEXT "Nom long :", IDC_STATIC, 4, 29, 53, 11
LTEXT "Nom complet :", IDC_STATIC, 4, 29, 53, 11
LTEXT "Description :", IDC_STATIC, 4, 51, 53, 11
LTEXT "Répertoire de l'exécutable :", IDC_STATIC, 6, 73, 82, 9
LTEXT "Démarrage :", IDC_STATIC, 6, 108, 53, 11
LTEXT "État du service :", IDC_STATIC, 4, 138, 53, 11
LTEXT "Type de démarrage :", IDC_STATIC, 6, 108, 53, 11
LTEXT "Statut du service :", IDC_STATIC, 4, 138, 53, 11
LTEXT "", IDC_SERV_STATUS, 70, 138, 176, 11, WS_CHILD | WS_VISIBLE
LTEXT "Vous pouvez définir les paramètres passés au service lorsque vous le démarrez.",IDC_STATIC, 6,177,240,15
LTEXT "Paramètres :", IDC_STATIC, 6, 200, 58, 11
LTEXT "Paramètres de démarrage :", IDC_STATIC, 6, 200, 58, 11
EDITTEXT IDC_START_PARAM, 68, 199, 178, 13, WS_CHILD | WS_VISIBLE | WS_TABSTOP
PUSHBUTTON "Éditer", IDC_EDIT, 192, 215, 54, 15, WS_DISABLED
END
@ -109,8 +109,8 @@ STYLE DS_SHELLFONT | WS_BORDER | WS_VISIBLE | WS_DLGFRAME | WS_SYSMENU | WS_THIC
BEGIN
CONTROL "", IDC_DEPEND_TREE1, "SysTreeView32" ,0x50010007, 8, 70, 236, 68, 0x00000200
CONTROL "", IDC_DEPEND_TREE2, "SysTreeView32", 0x50010007, 8, 151, 234, 67, 0x00000200
LTEXT "Certains services dépendent d'autres services, de pilotes système ou de leur groupe de démarrage. Si un composant système est arrêté ou ne fonctionne pas correctement, les services qui en dépendent peuvent être affectés.", IDC_STATIC,8, 7, 238, 36
LTEXT "Ce service dépend des composants suivants", IDC_STATIC, 8, 57, 236, 9
LTEXT "Certains services dépendent d'autres services, pilotes système et groupes d'ordre de chargement. Si un composant système est arrêté ou ne fonctionne pas correctement, les services dépendants peuvent être affectés.", IDC_STATIC,8, 7, 238, 36
LTEXT "Ce service dépend des composants système suivants", IDC_STATIC, 8, 57, 236, 9
LTEXT "", IDC_DEPEND_SERVICE, 8, 38, 236, 13
END
@ -125,12 +125,12 @@ BEGIN
EDITTEXT IDC_CREATE_DESC, 10, 97, 210, 48, WS_CHILD | WS_VISIBLE
EDITTEXT IDC_CREATE_OPTIONS, 10, 162, 210, 13, WS_CHILD | WS_VISIBLE
LTEXT "*Nom du service :", IDC_STATIC, 12, 12, 54, 9
LTEXT "*Nom long :", IDC_STATIC, 12, 33, 54, 9
LTEXT "*Nom complet :", IDC_STATIC, 12, 33, 54, 9
LTEXT "*Répertoire de l'exécutable :", IDC_STATIC, 10, 51, 68, 9
LTEXT "Description :", IDC_STATIC, 12, 86, 44, 9
PUSHBUTTON "OK", IDOK, 126, 192, 44, 13
PUSHBUTTON "Annuler", IDCANCEL, 176, 192, 46, 13
LTEXT "Options supplémentaires (clicker sur aide pour plus de détails)", IDC_STATIC, 10, 151, 134, 9
LTEXT "Options supplémentaires (cliquer sur aide pour plus de détails)", IDC_STATIC, 10, 151, 134, 9
PUSHBUTTON "Aide", ID_CREATE_HELP, 10, 192, 44, 13
END
@ -171,7 +171,7 @@ END
STRINGTABLE DISCARDABLE
BEGIN
IDS_APPNAME "Gestionnaire de Service ReactOS"
IDS_APPNAME "Gestionnaire de Services ReactOS"
END
STRINGTABLE DISCARDABLE
@ -195,7 +195,7 @@ END
STRINGTABLE DISCARDABLE
BEGIN
IDS_NUM_SERVICES "Services: %d"
IDS_LICENSE "Ce programme est un logiciel libre ; vous pouvez le redistribuer et/ou le modifier tout en respectant les termes de la ""GNU General Public License"" publiée par la Free Software Foundation; dans sa version 2 (ou selon votre préférence) toute version ultérieure.\r\n\r\nCe programme est distribué dans l'espoir qu'il sera utile, cependant SANS GARANTIE D'AUCUNE SORTE; sans même une garantie implicite de COMMERCIABILITE ou DE CONFORMITE A UNE UTILISATION PARTICULIERE. \r\n\r\nVoir la Licence Publique Générale GNU pour plus de détails. Vous devriez avoir reçu un exemplaire de la Licence Publique Générale GNU avec ce programme ; si ce n'est pas le cas, écrivez à la Free Software Foundation Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA."
IDS_LICENSE "Ce programme est un logiciel libre ; vous pouvez le redistribuer et/ou le modifier tout en respectant les termes de la ""GNU General Public License"" publiée par la Free Software Foundation; dans sa version 2 (ou selon votre préférence) toute version ultérieure.\r\n\r\nCe programme est distribué dans l'espoir qu'il sera utile, cependant SANS GARANTIE D'AUCUNE SORTE; sans même une garantie implicite de COMMERCIABILITÉ ou DE CONFORMITÉ A UNE UTILISATION PARTICULIÈRE. \r\n\r\nVoir la Licence Publique Générale GNU pour plus de détails. Vous devriez avoir reçu un exemplaire de la Licence Publique Générale GNU avec ce programme ; si ce n'est pas le cas, écrivez à la Free Software Foundation Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA."
END
STRINGTABLE DISCARDABLE

View file

@ -31,8 +31,8 @@ BEGIN
COMBOBOX IDC_BPPCOMBO,56,102,128,80, CBS_DROPDOWNLIST | CBS_AUTOHSCROLL | WS_VSCROLL | WS_TABSTOP
CONTROL "",IDC_COLORIMAGE,"Static",SS_OWNERDRAW | SS_SUNKEN, 56,121,127,10
LTEXT "OBS: Innstillingen på den eksterne datamaskinen kan overstyre denne innstillingen.",IDC_STATIC,56,143,165,18
LTEXT "Mindre",IDC_STATIC,35,42,15,8
LTEXT "Større",IDC_STATIC,189,42,17,8
LTEXT "Mindre",IDC_STATIC,35,42,22,8
LTEXT "Større",IDC_STATIC,189,42,19,8
LTEXT "", IDC_SETTINGS_RESOLUTION_TEXT, 56, 62, 120, 10, SS_CENTER
END

View file

@ -53,7 +53,7 @@ BEGIN
\n \
For Setclassid, fjernes ClassId hvis det ikke angis en ClassId.\n \
\n \
Examples:\n \
Eksempler:\n \
> ipconfig ... Vis informasjon.\n \
> ipconfig /all ... Vis detaljert informasjon\n \
> ipconfig /renew ... Forny alle kort\n \

View file

@ -541,6 +541,7 @@ static BOOL Ping(VOID)
}
if (Status == SOCKET_ERROR)
{
LostCount++;
if (WSAGetLastError() == WSAEHOSTUNREACH)
printf("Destination host unreachable.\n");
else
@ -567,6 +568,8 @@ static BOOL Ping(VOID)
printf("\n");
#endif /* !NDEBUG */
}
else
LostCount++;
if (Status == SOCKET_ERROR)
{
if (WSAGetLastError() != WSAETIMEDOUT)
@ -581,7 +584,6 @@ static BOOL Ping(VOID)
if (Status == 0)
{
printf("Request timed out.\n");
LostCount++;
GlobalFree(Buffer);
return TRUE;
}
@ -644,9 +646,13 @@ int main(int argc, char* argv[])
printf("\nPing statistics for %s:\n", TargetIP);
printf(" Packets: Sent = %d, Received = %d, Lost = %d (%d%% loss),\n",
SentCount, SentCount - LostCount, LostCount, Count);
printf("Approximate round trip times in milli-seconds:\n");
printf(" Minimum = %s, Maximum = %s, Average = %s\n",
MinTime, MaxTime, AvgTime);
/* Print approximate times or NO approximate times if 100% loss */
if ((SentCount - LostCount) > 0)
{
printf("Approximate round trip times in milli-seconds:\n");
printf(" Minimum = %s, Maximum = %s, Average = %s\n",
MinTime, MaxTime, AvgTime);
}
}
return 0;
}

View file

@ -396,11 +396,7 @@ DecodeResponse(PAPPINFO pInfo)
DebugPrint(_T("Rouge packet: header id, process id %d"), TTLExceedHdr->OrigIcmpHeader.id, GetCurrentProcessId());
return -1;
}
#ifndef _WIN64
_tprintf(_T("%3lld ms"), (pInfo->lTimeEnd - pInfo->lTimeStart) / pInfo->TicksPerMs.QuadPart);
#else
_tprintf(_T("%3I64d ms"), (pInfo->lTimeEnd - pInfo->lTimeStart) / pInfo->TicksPerMs.QuadPart);
#endif
return 0;
case ECHO_REPLY :
@ -411,11 +407,7 @@ DecodeResponse(PAPPINFO pInfo)
DebugPrint(_T("Rouge packet: header id %d, process id %d"), IcmpHdr->icmpheader.id, GetCurrentProcessId());
return -1;
}
#ifndef _WIN64
_tprintf(_T("%3lld ms"), (pInfo->lTimeEnd - pInfo->lTimeStart) / pInfo->TicksPerMs.QuadPart);
#else
_tprintf(_T("%3I64d ms"), (pInfo->lTimeEnd - pInfo->lTimeStart) / pInfo->TicksPerMs.QuadPart);
#endif
return 1;
case DEST_UNREACHABLE :

View file

@ -1,7 +1,7 @@
<?xml version="1.0"?>
<!DOCTYPE group SYSTEM "../../../tools/rbuild/project.dtd">
<group xmlns:xi="http://www.w3.org/2001/XInclude">
<module name="regedit" type="win32gui" installname="regedit.exe" allowwarnings="true">
<module name="regedit" type="win32gui" installname="regedit.exe">
<include base="regedit">.</include>
<define name="UNICODE" />
<define name="_UNICODE" />
@ -12,6 +12,7 @@
<library>user32</library>
<library>gdi32</library>
<library>advapi32</library>
<library>comdlg32</library>
<library>ole32</library>
<library>shell32</library>
<library>comctl32</library>

View file

@ -227,17 +227,11 @@ Query(LPCTSTR *ServiceArgs,
LPCTSTR ServiceName = *ServiceArgs;
pStatus = QueryService(ServiceName);
if (bExtended)
if (pStatus)
{
PrintService(ServiceName,
pStatus,
TRUE);
}
else
{
PrintService(ServiceName,
pStatus,
FALSE);
bExtended);
}
}

View file

@ -0,0 +1,21 @@
/*
*Korean Translation by Seungju Kim(www.manatails007.org) manatails007*
*/
LANGUAGE LANG_KOREAN, SUBLANG_DEFAULT
DLG_SCRNSAVECONFIGURE DIALOGEX 0, 0, 273, 178
STYLE DS_SHELLFONT | DS_MODALFRAME | DS_CENTER | WS_POPUP | WS_CAPTION | WS_SYSMENU
CAPTION "3D 텍스트 화면 보호기 설정"
FONT 8, "MS Shell Dlg", 400, 0, 0x1
BEGIN
DEFPUSHBUTTON "확인",IDOK,216,7,50,14
PUSHBUTTON "취소",IDCANCEL,216,24,50,14
EDITTEXT IDC_MESSAGE_TEXT,18,28,122,14,ES_AUTOHSCROLL
LTEXT "커스텀 텍스트",IDC_STATIC,18,17,65,8
END
STRINGTABLE DISCARDABLE
BEGIN
IDS_DESCRIPTION "3D 텍스트 화면 보호기"
END

View file

@ -18,6 +18,7 @@ LANGUAGE LANG_NEUTRAL, SUBLANG_NEUTRAL
#include "lang/eu-ES.rc"
#include "lang/fr-FR.rc"
#include "lang/it-IT.rc"
#include "lang/ko-KR.rc"
#include "lang/lt-LT.rc"
#include "lang/no-NO.rc"
#include "lang/pl-PL.rc"

View file

@ -0,0 +1,11 @@
/*
*Korean Translation by Seungju Kim(www.manatails007.org) manatails007*
*/
LANGUAGE LANG_KOREAN, SUBLANG_DEFAULT
STRINGTABLE DISCARDABLE
BEGIN
IDS_DESCRIPTION "로그온 화면 보호기"
IDS_TEXT "설정할 것이 없습니다."
END

View file

@ -20,6 +20,7 @@ IDB_SERVER BITMAP DISCARDABLE "res/1.bmp"
#include "lang/es-ES.rc"
#include "lang/eu-ES.rc"
#include "lang/fr-FR.rc"
#include "lang/ko-KR.rc"
#include "lang/lt-LT.rc"
#include "lang/nl-NL.rc"
#include "lang/no-NO.rc"

View file

@ -0,0 +1,14 @@
LANGUAGE LANG_ITALIAN, SUBLANG_NEUTRAL
STRINGTABLE DISCARDABLE
BEGIN
IDS_USAGE, "Uso: shutdown [-?] [-l | -s | -r] [-f]\n\n\
Senza parametri o con -?\tvisualizza questo messaggio\n\
-l\t\t\tChiude la sessione\n\
-s\t\t\tSpegnimento del computer\n\
-r\t\t\tRiavvio del computer\n\
-f\t\t\tArresta le applicazioni senza nessun avviso\n\
\t\t\tSe non viene specificato nessun altro parametro verrà\n\
\t\t\tchiusa la sessione"
END

View file

@ -6,6 +6,7 @@
#include "lang/el-GR.rc"
#include "lang/en-US.rc"
#include "lang/fr-FR.rc"
#include "lang/it-IT.rc"
#include "lang/ko-KR.rc"
#include "lang/lt-LT.rc"
#include "lang/no-NO.rc"

View file

@ -0,0 +1,46 @@
/*
*Korean Translation by Seungju Kim(www.manatails007.org) manatails007*
*/
LANGUAGE LANG_KOREAN, SUBLANG_DEFAULT
IDM_MAINMENU MENU DISCARDABLE
BEGIN
POPUP "옵션(&P)"
BEGIN
MENUITEM "속성(&R)", IDC_PROPERTIES
MENUITEM "고급 컨트롤(&A)", IDC_ADVANCED_CONTROLS
MENUITEM SEPARATOR
MENUITEM "종료(&X)", IDC_EXIT
END
POPUP "도움말(&H)"
BEGIN
MENUITEM "도움말 항목(&H)", IDC_HELP_TOPICS
MENUITEM SEPARATOR
MENUITEM "볼륨 컨트롤 정보(&A)", IDC_ABOUT
END
END
STRINGTABLE DISCARDABLE
BEGIN
IDS_SNDVOL32 "볼륨 컨트롤"
IDS_NOMIXERDEVICES "사용 가능한 믹서 장치가 없습니다! 이 프로그램은 종료됩니다."
END
IDD_PREFERENCES DIALOGEX 0, 0, 224, 250
STYLE DS_SHELLFONT | DS_MODALFRAME | DS_CONTEXTHELP | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
CAPTION "속성"
FONT 8, "MS Shell Dlg", 0, 0, 0x0
BEGIN
LTEXT "믹서 장치(&M):", -1, 7,8,48,9
COMBOBOX IDC_MIXERDEVICE, 55,8,162,80, CBS_DROPDOWNLIST | WS_TABSTOP
GROUPBOX "볼륨 조절:", -1, 7,25,211,77
PUSHBUTTON "재생(&P)", IDC_PLAYBACK, 13,43,47,8, BS_AUTORADIOBUTTON
PUSHBUTTON "녹음(&R)", IDC_RECORDING, 13,61,47,8, BS_AUTORADIOBUTTON
PUSHBUTTON "기타(&O):", IDC_OTHER, 13,80,42,8, BS_AUTORADIOBUTTON | WS_DISABLED
COMBOBOX IDC_LINE, 55,80,155,50, CBS_DROPDOWNLIST | WS_TABSTOP | WS_DISABLED
LTEXT "다음 볼륨 컨트롤 표시:", IDC_LABELCONTROLS, 7, 109, 162, 8
CONTROL "", IDC_CONTROLS, "SysListView32", LVS_REPORT | LVS_NOCOLUMNHEADER | WS_TABSTOP | WS_BORDER, 7, 122, 211, 96
PUSHBUTTON "확인", IDOK, 114,226,50,14
PUSHBUTTON "취소", IDCANCEL, 168,226,50,14
END

View file

@ -17,6 +17,7 @@ IDI_MAINAPP ICON DISCARDABLE resources/sndvol32.ico
#include "lang/it-IT.rc"
#include "lang/ja-JP.rc"
#include "lang/lt-LT.rc"
#include "lang/ko-KR.rc"
#include "lang/nl-NL.rc"
#include "lang/no-NO.rc"
#include "lang/pl-PL.rc"

View file

@ -80,7 +80,7 @@ BEGIN
MENUITEM "Sorter &vertikalt", ID_WINDOWS_TILEVERTICALLY
MENUITEM "&Minimer", ID_WINDOWS_MINIMIZE
MENUITEM "Ma&ksimer", ID_WINDOWS_MAXIMIZE
MENUITEM "&Cascade", ID_WINDOWS_CASCADE
MENUITEM "&Overlappet", ID_WINDOWS_CASCADE
MENUITEM "&Plasser lengst frem", ID_WINDOWS_BRINGTOFRONT
END
@ -193,8 +193,8 @@ BEGIN
CONTROL "Liste2",IDC_APPLIST,"SysListView32",LVS_REPORT |
LVS_SHOWSELALWAYS | WS_BORDER | WS_TABSTOP,7,7,233,177
PUSHBUTTON "&Ny oppgave...",IDC_NEWTASK,187,189,53,14
PUSHBUTTON "&Bytt til",IDC_SWITCHTO,131,189,53,14,WS_DISABLED
PUSHBUTTON "&Avslutt oppgave",IDC_ENDTASK,75,189,53,14,WS_DISABLED
PUSHBUTTON "&Bytt til",IDC_SWITCHTO,129,189,53,14,WS_DISABLED
PUSHBUTTON "&Avslutt oppgave",IDC_ENDTASK,60,189,65,14,WS_DISABLED
END
IDD_PROCESS_PAGE DIALOGEX DISCARDABLE 0, 0, 247, 210
@ -214,8 +214,8 @@ IDD_PERFORMANCE_PAGE DIALOGEX DISCARDABLE 0, 0, 247, 210
STYLE DS_SHELLFONT | DS_CONTROL | WS_CHILD | WS_CLIPCHILDREN
FONT 8, "MS Shell Dlg"
BEGIN
GROUPBOX "Bruk av CPU",IDC_CPU_USAGE_FRAME,5,5,60,54,WS_TABSTOP, WS_EX_TRANSPARENT
GROUPBOX "Bruk av vekslefil",IDC_MEM_USAGE_FRAME,5,63,60,54,BS_LEFTTEXT, WS_EX_TRANSPARENT
GROUPBOX "Prosessorbruk",IDC_CPU_USAGE_FRAME,5,5,70,54,WS_TABSTOP, WS_EX_TRANSPARENT
GROUPBOX "Minnebruk",IDC_MEM_USAGE_FRAME,5,63,60,54,BS_LEFTTEXT, WS_EX_TRANSPARENT
GROUPBOX "Totalt",IDC_TOTALS_FRAME,5,122,111,39,0,WS_EX_TRANSPARENT
GROUPBOX "Tildelt minne (kb)",IDC_COMMIT_CHARGE_FRAME,5,166,111,39,0,WS_EX_TRANSPARENT
GROUPBOX "Fysisk minne (kb)",IDC_PHYSICAL_MEMORY_FRAME,131,122,111,39,0,WS_EX_TRANSPARENT
@ -241,30 +241,30 @@ BEGIN
LTEXT "Totalt",IDS_PHYSICAL_MEMORY_TOTAL,137,131,27,8
LTEXT "Tilgjengelig",IDS_PHYSICAL_MEMORY_AVAILABLE,137,140,40,8
LTEXT "Systembuffer",IDS_PHYSICAL_MEMORY_SYSTEM_CACHE,137,149,46,8
EDITTEXT IDC_PHYSICAL_MEMORY_TOTAL,185,131,48,8,ES_RIGHT |
EDITTEXT IDC_PHYSICAL_MEMORY_TOTAL,187,131,48,8,ES_RIGHT |
ES_READONLY | ES_NUMBER | NOT WS_BORDER
EDITTEXT IDC_PHYSICAL_MEMORY_AVAILABLE,185,140,48,8,ES_RIGHT |
EDITTEXT IDC_PHYSICAL_MEMORY_AVAILABLE,187,140,48,8,ES_RIGHT |
ES_READONLY | ES_NUMBER | NOT WS_BORDER
EDITTEXT IDC_PHYSICAL_MEMORY_SYSTEM_CACHE,185,149,48,8,ES_RIGHT |
EDITTEXT IDC_PHYSICAL_MEMORY_SYSTEM_CACHE,187,149,48,8,ES_RIGHT |
ES_READONLY | ES_NUMBER | NOT WS_BORDER
LTEXT "Totalt",IDS_KERNEL_MEMORY_TOTAL,137,174,27,8
LTEXT "Sidevekslet",IDS_KERNEL_MEMORY_PAGED,137,184,50,8
LTEXT "Ikke sidevekslet",IDS_KERNEL_MEMORY_NONPAGED,137,193,75,8
EDITTEXT IDC_KERNEL_MEMORY_TOTAL,185,174,48,8,ES_RIGHT |
LTEXT "Sidevekslet",IDS_KERNEL_MEMORY_PAGED,137,184,54,8
LTEXT "Ikke sidevekslet",IDS_KERNEL_MEMORY_NONPAGED,137,193,85,8
EDITTEXT IDC_KERNEL_MEMORY_TOTAL,187,174,48,8,ES_RIGHT |
ES_READONLY | ES_NUMBER | NOT WS_BORDER
EDITTEXT IDC_KERNEL_MEMORY_PAGED,185,184,48,8,ES_RIGHT |
EDITTEXT IDC_KERNEL_MEMORY_PAGED,187,184,48,8,ES_RIGHT |
ES_READONLY | ES_NUMBER | NOT WS_BORDER
EDITTEXT IDC_KERNEL_MEMORY_NONPAGED,185,193,48,8,ES_RIGHT |
EDITTEXT IDC_KERNEL_MEMORY_NONPAGED,187,193,48,8,ES_RIGHT |
ES_READONLY | ES_NUMBER | NOT WS_BORDER
GROUPBOX "Bruk av CPU",IDC_CPU_USAGE_HISTORY_FRAME,74,5,168,54,0,WS_EX_TRANSPARENT
GROUPBOX "Logg for bruk av sidevekslingsfil",IDC_MEMORY_USAGE_HISTORY_FRAME,74,63,168,54,0,WS_EX_TRANSPARENT
PUSHBUTTON "Vis bruk av CPU",IDC_CPU_USAGE_GRAPH,12,17,47,37,0,
GROUPBOX "Logg for bruk av prosessor",IDC_CPU_USAGE_HISTORY_FRAME,74,5,168,54,0,WS_EX_TRANSPARENT
GROUPBOX "Logg for bruk av fysisk minne",IDC_MEMORY_USAGE_HISTORY_FRAME,74,63,168,54,0,WS_EX_TRANSPARENT
PUSHBUTTON "Vis prosessorbruk",IDC_CPU_USAGE_GRAPH,12,17,47,37,0,
WS_EX_CLIENTEDGE
PUSHBUTTON "Vis bruk av MEM",IDC_MEM_USAGE_GRAPH,12,75,47,37,0,
PUSHBUTTON "Vis minnebruk",IDC_MEM_USAGE_GRAPH,12,75,47,37,0,
WS_EX_CLIENTEDGE
PUSHBUTTON "Logg for bruk av CPU",IDC_CPU_USAGE_HISTORY_GRAPH,81,17,
PUSHBUTTON "Logg for prosessorbruk",IDC_CPU_USAGE_HISTORY_GRAPH,81,17,
153,37,0,WS_EX_CLIENTEDGE
PUSHBUTTON "MEM bruk historie",IDC_MEM_USAGE_HISTORY_GRAPH,81,75,
PUSHBUTTON "Minne bruk historie",IDC_MEM_USAGE_HISTORY_GRAPH,81,75,
153,37,0,WS_EX_CLIENTEDGE
END
@ -356,21 +356,21 @@ END
IDD_COLUMNS_DIALOG DIALOGEX DISCARDABLE 0, 0, 195, 199
STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU
CAPTION "Velg spaltevis"
CAPTION "Velg kolonnene"
FONT 8, "MS Shell Dlg"
BEGIN
DEFPUSHBUTTON "OK",IDOK,84,178,50,14
PUSHBUTTON "Avbryt",IDCANCEL,138,178,50,14
LTEXT "Velg spaltevis det vil oppstå på Prosess side av oppgavebehandler.",
LTEXT "Velg kolonnene som skal vises på prosesssiden i Oppgavebehandling.",
IDC_STATIC,7,7,181,17
CONTROL "&Bilde navn",IDC_IMAGENAME,"Button",BS_AUTOCHECKBOX |
CONTROL "&Bildenavn",IDC_IMAGENAME,"Button",BS_AUTOCHECKBOX |
WS_DISABLED | WS_TABSTOP,7,28,56,10
CONTROL "&PID (Prosess identifikator)",IDC_PID,"Button",
BS_AUTOCHECKBOX | WS_TABSTOP,7,39,88,10
CONTROL "&CPU brukt",IDC_CPUUSAGE,"Button",BS_AUTOCHECKBOX |
WS_TABSTOP,7,50,53,10
CONTROL "CPU Ti&d",IDC_CPUTIME,"Button",BS_AUTOCHECKBOX |
WS_TABSTOP,7,61,48,10
CONTROL "&PID (prosessidentifikator)",IDC_PID,"Button",
BS_AUTOCHECKBOX | WS_TABSTOP,7,39,93,10
CONTROL "&Prosessorbruk",IDC_CPUUSAGE,"Button",BS_AUTOCHECKBOX |
WS_TABSTOP,7,50,60,10
CONTROL "Prosessorti&d",IDC_CPUTIME,"Button",BS_AUTOCHECKBOX |
WS_TABSTOP,7,61,52,10
CONTROL "&Minne brukt",IDC_MEMORYUSAGE,"Button",BS_AUTOCHECKBOX |
WS_TABSTOP,7,72,63,10
CONTROL "Minne brukt &Delta",IDC_MEMORYUSAGEDELTA,"Button",
@ -378,40 +378,40 @@ BEGIN
CONTROL "Ma&ks minne bruk",IDC_PEAKMEMORYUSAGE,"Button",
BS_AUTOCHECKBOX | WS_TABSTOP,7,94,82,10
CONTROL "Side &mangeler",IDC_PAGEFAULTS,"Button",BS_AUTOCHECKBOX |
WS_TABSTOP,7,105,53,10
WS_TABSTOP,7,105,56,10
CONTROL "&Bruker objekt",IDC_USEROBJECTS,"Button",BS_AUTOCHECKBOX |
WS_TABSTOP,7,116,62,10
CONTROL "I/O Leser",IDC_IOREADS,"Button",BS_AUTOCHECKBOX |
CONTROL "I/O Lest",IDC_IOREADS,"Button",BS_AUTOCHECKBOX |
WS_TABSTOP,7,127,49,10
CONTROL "I/O Leser Bytes",IDC_IOREADBYTES,"Button",
CONTROL "I/O skrevet",IDC_IOREADBYTES,"Button",
BS_AUTOCHECKBOX | WS_TABSTOP,7,138,65,10
CONTROL "&Sesjon ID",IDC_SESSIONID,"Button",BS_AUTOCHECKBOX |
CONTROL "&Økt ID",IDC_SESSIONID,"Button",BS_AUTOCHECKBOX |
WS_TABSTOP,7,149,50,10
CONTROL "Bruker &Navn",IDC_USERNAME,"Button",BS_AUTOCHECKBOX |
CONTROL "Bruker&navn",IDC_USERNAME,"Button",BS_AUTOCHECKBOX |
WS_TABSTOP,7,160,51,10
CONTROL "Side &mangel Delta",IDC_PAGEFAULTSDELTA,"Button",
BS_AUTOCHECKBOX | WS_TABSTOP,107,28,72,10
CONTROL "&Virtuelt minne Størrelse",IDC_VIRTUALMEMORYSIZE,"Button",
BS_AUTOCHECKBOX | WS_TABSTOP,107,39,77,10
CONTROL "&Virtuelt minne størrelse",IDC_VIRTUALMEMORYSIZE,"Button",
BS_AUTOCHECKBOX | WS_TABSTOP,107,39,86,10
CONTROL "Si&de innsats",IDC_PAGEDPOOL,"Button",BS_AUTOCHECKBOX |
WS_TABSTOP,107,50,53,10
CONTROL "I&ngen-side innsats",IDC_NONPAGEDPOOL,"Button",
BS_AUTOCHECKBOX | WS_TABSTOP,107,61,67,10
CONTROL "Base P&rioritet",IDC_BASEPRIORITY,"Button",
BS_AUTOCHECKBOX | WS_TABSTOP,107,61,72,10
CONTROL "Basisp&rioritet",IDC_BASEPRIORITY,"Button",
BS_AUTOCHECKBOX | WS_TABSTOP,107,72,55,10
CONTROL "&Handle regne",IDC_HANDLECOUNT,"Button",BS_AUTOCHECKBOX |
WS_TABSTOP,107,83,59,10
CONTROL "&Tråd medregne",IDC_THREADCOUNT,"Button",BS_AUTOCHECKBOX |
WS_TABSTOP,107,94,59,10
WS_TABSTOP,107,94,65,10
CONTROL "GDI Objekt",IDC_GDIOBJECTS,"Button",BS_AUTOCHECKBOX |
WS_TABSTOP,107,105,55,10
CONTROL "I/O skriver",IDC_IOWRITES,"Button",BS_AUTOCHECKBOX |
CONTROL "I/O skrevet",IDC_IOWRITES,"Button",BS_AUTOCHECKBOX |
WS_TABSTOP,107,116,49,10
CONTROL "I/O skriver Bytes",IDC_IOWRITEBYTES,"Button",
BS_AUTOCHECKBOX | WS_TABSTOP,107,127,65,10
CONTROL "I/O skrevne byte",IDC_IOWRITEBYTES,"Button",
BS_AUTOCHECKBOX | WS_TABSTOP,107,127,70,10
CONTROL "I/O Annet",IDC_IOOTHER,"Button",BS_AUTOCHECKBOX |
WS_TABSTOP,107,138,46,10
CONTROL "I/O Annet Byte",IDC_IOOTHERBYTES,"Button",
CONTROL "I/O Andre byte",IDC_IOOTHERBYTES,"Button",
BS_AUTOCHECKBOX | WS_TABSTOP,107,149,65,10
END
@ -544,39 +544,39 @@ END
STRINGTABLE DISCARDABLE
BEGIN
ID_FILE_NEW "Kjør et nytt program"
ID_OPTIONS_ALWAYSONTOP "Oppgavebehandler fortsette å være forran av alle andre vinduer uten minimert"
ID_OPTIONS_ALWAYSONTOP "Oppgavebehandler fortsette å være over alle andre vinduer med mindre de er minimert"
ID_OPTIONS_MINIMIZEONUSE
"Oppgavebehandelen er minimert når en SwitchTo operasjon er oppført"
"Oppgavebehandling er minimert når en 'Skift til' operasjon utføres"
ID_OPTIONS_HIDEWHENMINIMIZED "Skjule oppgavebehandelen når det er minimert"
ID_VIEW_REFRESH "Nødvendighet for oppgavebehandelen å oppdateres nå, hensynsløs av oppdatering hastighet innstillingen"
ID_VIEW_LARGE "Vis oppgavene ved å bruke store ikoner"
ID_VIEW_SMALL "Vis oppgavene ved å bruke små ikoner"
ID_VIEW_DETAILS "Vis informasjon om hver oppgave"
ID_VIEW_REFRESH "Oppdater nå, uahengig av innstillingene for oppdatering hastighet"
ID_VIEW_LARGE "Viser oppgavene ved å bruke store ikoner"
ID_VIEW_SMALL "Viser oppgavene ved å bruke små ikoner"
ID_VIEW_DETAILS "Viser informasjon om hver oppgave"
ID_VIEW_UPDATESPEED_HIGH "Oppdater skjermen to ganger per sekund"
ID_VIEW_UPDATESPEED_NORMAL "Oppdater skjermen hver to sekunds"
ID_VIEW_UPDATESPEED_LOW "Oppdater skjermen hver fire sekund"
ID_VIEW_UPDATESPEED_NORMAL "Oppdater skjermen annenhver sekund"
ID_VIEW_UPDATESPEED_LOW "Oppdater skjermen hvert fjerde sekund"
END
STRINGTABLE DISCARDABLE
BEGIN
ID_VIEW_UPDATESPEED_PAUSED "Kan ikke automatisk oppdateres"
ID_VIEW_UPDATESPEED_PAUSED "Skjermen oppdaterer ikke automatisk"
ID_WINDOWS_TILEHORIZONTALLY
"Tittel vindu horisontalt på skrivebordet"
ID_WINDOWS_TILEVERTICALLY "Tittel vindu vertikalt på skrivebordet"
"Viser tittel vindu horisontalt på skrivebordet"
ID_WINDOWS_TILEVERTICALLY "Viser tittel vindu vertikalt på skrivebordet"
ID_WINDOWS_MINIMIZE "Minimalisere vinduet"
ID_WINDOWS_MAXIMIZE "Maksimere vinduet"
ID_WINDOWS_CASCADE "Cascades vinduet diagonalt på skrivebordet"
ID_WINDOWS_BRINGTOFRONT "Bringe vinduet front, men kan ikke bryter til det"
ID_HELP_TOPICS "Vis oppgavebehandler emner i hjelp"
ID_HELP_ABOUT "Vis program informasjon, versjon nummer, og enerett"
ID_FILE_EXIT "Avslutt oppgavebehandler applikasjon"
ID_WINDOWS_CASCADE "Overlapper vinduet diagonalt på skrivebordet"
ID_WINDOWS_BRINGTOFRONT "Legger vinduet øverst, men kan ikke skifte til det"
ID_HELP_TOPICS "Viser emner i hjelp for oppgavebehandling"
ID_HELP_ABOUT "Viser program informasjon, versjon nummer, og enerett"
ID_FILE_EXIT "Avslutter oppgavebehandling"
ID_OPTIONS_SHOW16BITTASKS
"Vis 16-bit oppgaver under assosiert ntvdm.exe"
ID_VIEW_SELECTCOLUMNS "Velg hva kolonner vil bli synlig på Prosess side"
ID_VIEW_SHOWKERNELTIMES "Vis kernel tid i utførelse diagramer"
"Viser 16-biters oppgaver under tilknyttende ntvdm.exe"
ID_VIEW_SELECTCOLUMNS "Velg hvilken kolonner som vil bli synlig på prosess siden"
ID_VIEW_SHOWKERNELTIMES "Viser kjerne tid i ytelses grafene"
ID_VIEW_CPUHISTORY_ONEGRAPHALL
"En singel historie graf viser totalt CPU bruk"
ID_VIEW_CPUHISTORY_ONEGRAPHPERCPU "Hver CPU har dems egene historie graf"
"En enkelt logg graf viser totalt prosessorbruk"
ID_VIEW_CPUHISTORY_ONEGRAPHPERCPU "Hver prosessor har sin egen logg graf"
ID_APPLICATION_PAGE_SWITCHTO
"Skaffe en oppgave til forgrunn, endre fokus til den oppgaven"
END
@ -617,10 +617,10 @@ BEGIN
IDS_TAB_PID "PID"
IDS_TAB_USERNAME "Brukernavn"
IDS_TAB_SESSIONID "Sesjon ID"
IDS_TAB_CPU "CPU"
IDS_TAB_CPUTIME "CPU Tid"
IDS_TAB_MEMUSAGE "Bruk av vekslefil"
IDS_TAB_PEAKMEMUSAGE "Maks bruk av Mem"
IDS_TAB_CPU "Prosessor"
IDS_TAB_CPUTIME "Prosessor tid"
IDS_TAB_MEMUSAGE "Minnebruk"
IDS_TAB_PEAKMEMUSAGE "Maks minnebruk"
IDS_TAB_MEMDELTA "Mem Delta"
IDS_TAB_PAGEFAULT "Side mangel"
IDS_TAB_PFDELTA "PF Delta"
@ -638,21 +638,21 @@ BEGIN
IDS_TAB_IOREADBYTES "I/O Leser Byte"
IDS_TAB_IOWRITESBYTES "I/O Skriver Byte"
IDS_TAB_IOOTHERBYTES "I/O Annet Byte"
IDS_MENU_SELECTCOLUMNS "&Velg kollone..."
IDS_MENU_SELECTCOLUMNS "&Velg kolonner..."
IDS_MENU_16BITTASK "&Vis 16-biter oppgave"
IDS_MENU_WINDOWS "&Vinduer"
IDS_MENU_LARGEICONS "St&ore Ikoner"
IDS_MENU_SMALLICONS "S&må Ikoner"
IDS_MENU_LARGEICONS "St&ore ikoner"
IDS_MENU_SMALLICONS "S&må ikoner"
IDS_MENU_DETAILS "&Detaljer"
IDS_MENU_ONEGRAPHALLCPUS "&En Graf, Alle CPU"
IDS_MENU_ONEGRAPHPERCPU "En Graf &Per CPU"
IDS_MENU_CPUHISTORY "&CPU Historie"
IDS_MENU_SHOWKERNELTIMES "&Vis Kernel tider"
IDS_MENU_ONEGRAPHALLCPUS "&En Graf, alle prosessorer"
IDS_MENU_ONEGRAPHPERCPU "En Graf &per prosessor"
IDS_MENU_CPUHISTORY "&Prosessor Historie"
IDS_MENU_SHOWKERNELTIMES "&Vis Kjerne tider"
IDS_CREATENEWTASK "Opprett ny oppgave"
IDS_CREATENEWTASK_DESC "Skriv navnet av et program, mappe, dokument, eller Internett-ressursen, og oppgavebehandelen vil åpne det for deg."
IDS_MSG_ACCESSPROCESSAFF "Ikke i stand til tilgang eller sette Prosess slektskap"
IDS_CREATENEWTASK_DESC "Skriv navnet på et program, mappe, dokument, eller Internett-ressursen, som oppgavebehandelen vil åpne for deg."
IDS_MSG_ACCESSPROCESSAFF "Ikke mulig å fo tilgang eller sette prosess slektskap"
IDS_MSG_PROCESSONEPRO "Prosessen må ha tiltrekning med minst en prosessor."
IDS_MSG_INVALIDOPTION "Ugyldig Operasjon"
IDS_MSG_INVALIDOPTION "Ugyldig operasjon"
IDS_MSG_UNABLEDEBUGPROCESS "Ute av stand til feilsøking prosess"
IDS_MSG_WARNINGDEBUG "ADVARSEL: Feilretning denne prosess kan følge å miste data.\nEr du sikker du vil tilknytte feilsøkingsprogramet?"
IDS_MSG_TASKMGRWARNING "Oppgavebehandler advarsel"
@ -660,7 +660,7 @@ BEGIN
IDS_MSG_UNABLETERMINATEPRO "Ikke i stand til å avslutte prosess"
IDS_MSG_UNABLECHANGEPRIORITY "Ikke i stand til endre prioritet"
IDS_MSG_WARNINGCHANGEPRIORITY "ADVARSEL: Endring av prioritet klasse av denne prosess kan\nforutsake uønsket resultat inkluderer systemet kan bli ustabilt. Er du\nsikker på at du vil endre prioritet klassen?"
IDS_MSG_TRAYICONCPUUSAGE "Bruk av CPU : %d%%"
IDS_MSG_TRAYICONCPUUSAGE "Bruk av CPU: %d%%"
IDS_STATUS_MEMUSAGE "Tildelt minne: %dK / %dK"
IDS_STATUS_CPUUSAGE "Bruk av CPU: %3d%%"
IDS_STATUS_PROCESSES "Prosesser: %d"

View file

@ -1,9 +1,10 @@
<?xml version="1.0"?>
<!DOCTYPE module SYSTEM "../../../tools/rbuild/project.dtd">
<module name="taskmgr" type="win32gui" installbase="system32" installname="taskmgr.exe" unicode="yes" allowwarnings="true">
<module name="taskmgr" type="win32gui" installbase="system32" installname="taskmgr.exe" unicode="yes">
<include base="taskmgr">.</include>
<define name="_WIN32_IE">0x0501</define>
<define name="_WIN32_WINNT">0x0501</define>
<library>msvcrt</library>
<library>ntdll</library>
<library>kernel32</library>
<library>advapi32</library>

View file

@ -10,6 +10,7 @@
<library>shell32</library>
<library>user32</library>
<library>gdi32</library>
<library>msvcrt</library>
<library>advapi32</library>
<library>kernel32</library>
<library>comctl32</library>

View file

@ -108,7 +108,7 @@ HKEY FindAdapterKey( PDHCP_ADAPTER Adapter ) {
PCHAR TargetKeyName = NULL;
PCHAR *EnumKeysLinkage = GetSubkeyNames( EnumKeyName, "\\Linkage" );
PCHAR *EnumKeysTop = GetSubkeyNames( EnumKeyName, "" );
PCHAR RootDevice = NULL, DriverDesc = NULL;
PCHAR RootDevice = NULL;
HKEY EnumKey, OutKey = NULL;
DWORD Error = ERROR_SUCCESS;
@ -121,12 +121,9 @@ HKEY FindAdapterKey( PDHCP_ADAPTER Adapter ) {
for( i = 0; EnumKeysLinkage[i]; i++ ) {
RootDevice = RegReadString
( EnumKey, EnumKeysLinkage[i], "RootDevice" );
DriverDesc = RegReadString
( EnumKey, EnumKeysTop[i], "DriverDesc" );
if( DriverDesc &&
RootDevice &&
!strcmp( DriverDesc, Adapter->DhclientInfo.name ) ) {
if( RootDevice &&
!strcmp( RootDevice, Adapter->DhclientInfo.name ) ) {
TargetKeyName =
(CHAR*) malloc( strlen( TargetKeyNameStart ) +
strlen( RootDevice ) +
@ -138,13 +135,11 @@ HKEY FindAdapterKey( PDHCP_ADAPTER Adapter ) {
break;
} else {
free( RootDevice ); RootDevice = 0;
free( DriverDesc ); DriverDesc = 0;
}
}
cleanup:
if( RootDevice ) free( RootDevice );
if( DriverDesc ) free( DriverDesc );
if( EnumKeysLinkage ) free( EnumKeysLinkage );
if( EnumKeysTop ) free( EnumKeysTop );
if( TargetKeyName ) free( TargetKeyName );

View file

@ -13,6 +13,9 @@
<directory name="rpcss">
<xi:include href="rpcss/rpcss.rbuild" />
</directory>
<directory name="spoolsv">
<xi:include href="spoolsv/spoolsv.rbuild" />
</directory>
<directory name="svchost">
<xi:include href="svchost/svchost.rbuild" />
</directory>

View file

@ -0,0 +1,87 @@
/*
* COPYRIGHT: See COPYING in the top level directory
* PROJECT: ReactOS kernel
* FILE: services/spoolsv/spoolsv.c
* PURPOSE: Printer spooler
* PROGRAMMER: Eric Kohl
*/
/* INCLUDES *****************************************************************/
#define WIN32_NO_STATUS
#include <windows.h>
#define NDEBUG
#include <debug.h>
/* GLOBALS ******************************************************************/
#define SERVICE_NAME TEXT("Spooler")
SERVICE_STATUS_HANDLE ServiceStatusHandle;
/* FUNCTIONS *****************************************************************/
static DWORD WINAPI
ServiceControlHandler(DWORD dwControl,
DWORD dwEventType,
LPVOID lpEventData,
LPVOID lpContext)
{
switch (dwControl)
{
case SERVICE_CONTROL_STOP:
case SERVICE_CONTROL_SHUTDOWN:
return ERROR_SUCCESS;
default :
return ERROR_CALL_NOT_IMPLEMENTED;
}
}
static VOID CALLBACK
ServiceMain(DWORD argc, LPTSTR *argv)
{
UNREFERENCED_PARAMETER(argc);
UNREFERENCED_PARAMETER(argv);
DPRINT("ServiceMain() called\n");
ServiceStatusHandle = RegisterServiceCtrlHandlerExW(SERVICE_NAME,
ServiceControlHandler,
NULL);
DPRINT("ServiceMain() done\n");
}
int
wmain(int argc, WCHAR *argv[])
{
SERVICE_TABLE_ENTRY ServiceTable[2] =
{
{SERVICE_NAME, ServiceMain},
{NULL, NULL}
};
UNREFERENCED_PARAMETER(argc);
UNREFERENCED_PARAMETER(argv);
DPRINT("Spoolsv: main() started\n");
StartServiceCtrlDispatcher(ServiceTable);
DPRINT("Spoolsv: main() done\n");
ExitThread(0);
return 0;
}
/* EOF */

View file

@ -0,0 +1,13 @@
<?xml version="1.0"?>
<!DOCTYPE module SYSTEM "../../../tools/rbuild/project.dtd">
<module name="spoolsv" type="win32cui" installbase="system32" installname="spoolsv.exe" unicode="yes">
<include base="spoolsv">.</include>
<define name="WINVER">0x600</define>
<define name="_WIN32_IE">0x0500</define>
<define name="_WIN32_WINNT">0x0600</define>
<library>ntdll</library>
<library>kernel32</library>
<library>advapi32</library>
<file>spoolsv.c</file>
<file>spoolsv.rc</file>
</module>

View file

@ -0,0 +1,4 @@
#define REACTOS_STR_FILE_DESCRIPTION "Spooler-Service\0"
#define REACTOS_STR_INTERNAL_NAME "Spoolsv\0"
#define REACTOS_STR_ORIGINAL_FILENAME "Spoolsv.exe\0"
#include <reactos/version.rc>

View file

@ -142,7 +142,7 @@ BOOL PrepareService(LPCTSTR ServiceName)
return TRUE;
}
VOID FreeServices()
VOID FreeServices(VOID)
{
while (FirstService)
{

View file

@ -32,16 +32,16 @@ SendLine(SOCKET sock, LPSTR lpLine)
}
else
{
LogEvent(_T("Chargen: Not sent enough bytes"), 0, 0, LOG_FILE);
LogEvent(L"Chargen: Not sent enough bytes", 0, 0, LOG_FILE);
}
}
else if (retVal == SOCKET_ERROR)
{
LogEvent(_T("Chargen: Socket error\n"), WSAGetLastError(), 0, LOG_ERROR);
LogEvent(L"Chargen: Socket error\n", WSAGetLastError(), 0, LOG_ERROR);
}
else
{
LogEvent(_T("Chargen: unknown error\n"), WSAGetLastError(), 0, LOG_ERROR);
LogEvent(L"Chargen: unknown error\n", WSAGetLastError(), 0, LOG_ERROR);
}
return bRet;;
@ -100,21 +100,21 @@ ChargenHandler(VOID* sock_)
if (!GenerateChars(sock))
{
LogEvent(_T("Chargen: Char generation failed"), 0, 0, LOG_FILE);
LogEvent(L"Chargen: Char generation failed", 0, 0, LOG_FILE);
retVal = 1;
}
LogEvent(_T("Chargen: Shutting connection down..."), 0, 0, LOG_FILE);
LogEvent(L"Chargen: Shutting connection down...", 0, 0, LOG_FILE);
if (ShutdownConnection(sock, FALSE))
{
LogEvent(_T("Chargen: Connection is down"), 0, 0, LOG_FILE);
LogEvent(L"Chargen: Connection is down", 0, 0, LOG_FILE);
}
else
{
LogEvent(_T("Chargen: Connection shutdown failed"), 0, 0, LOG_FILE);
LogEvent(L"Chargen: Connection shutdown failed", 0, 0, LOG_FILE);
retVal = 1;
}
LogEvent(_T("Chargen: Terminating thread"), 0, 0, LOG_FILE);
LogEvent(L"Chargen: Terminating thread", 0, 0, LOG_FILE);
ExitThread(retVal);
}

View file

@ -15,7 +15,7 @@ SendTime(SOCKET sock, CHAR *time)
DWORD stringSize = strlen(time) + 1;
if (send(sock, time, stringSize, 0) == SOCKET_ERROR)
{
LogEvent(_T("DayTime: Error sending data"), WSAGetLastError(), 0, LOG_ERROR);
LogEvent(L"DayTime: Error sending data", WSAGetLastError(), 0, LOG_ERROR);
return FALSE;
}
@ -41,15 +41,15 @@ DaytimeHandler(VOID* Sock_)
retVal = 1;
}
LogEvent(_T("DayTime: Shutting connection down"), 0, 0, LOG_FILE);
LogEvent(L"DayTime: Shutting connection down", 0, 0, LOG_FILE);
if (ShutdownConnection(Sock, FALSE))
LogEvent(_T("DayTime: Connection is down"), 0, 0, LOG_FILE);
LogEvent(L"DayTime: Connection is down", 0, 0, LOG_FILE);
else
{
LogEvent(_T("DayTime: Connection shutdown failed"), 0, 0, LOG_FILE);
LogEvent(L"DayTime: Connection shutdown failed", 0, 0, LOG_FILE);
retVal = 1;
}
LogEvent(_T("DayTime: Terminating thread"), 0, 0, LOG_FILE);
LogEvent(L"DayTime: Terminating thread", 0, 0, LOG_FILE);
ExitThread(retVal);
}

View file

@ -14,7 +14,7 @@
static BOOL
RecieveIncomingPackets(SOCKET sock)
{
char readBuffer[BUFSIZE];
CHAR readBuffer[BUFSIZE];
INT readBytes;
do
@ -24,18 +24,18 @@ RecieveIncomingPackets(SOCKET sock)
{
TCHAR logBuf[256];
_stprintf(logBuf, _T("Discard: Received %d bytes from client"), readBytes);
_swprintf(logBuf, L"Discard: Received %d bytes from client", readBytes);
LogEvent(logBuf, 0, 0, LOG_FILE);
}
else if (readBytes == SOCKET_ERROR)
{
LogEvent(_T("Discard: Socket Error"), WSAGetLastError(), 0, LOG_ERROR);
LogEvent(L"Discard: Socket Error", WSAGetLastError(), 0, LOG_ERROR);
return FALSE;
}
} while ((readBytes > 0) && (!bShutdown));
if (!bShutdown)
LogEvent(_T("Discard: Connection closed by peer"), 0, 0, LOG_FILE);
LogEvent(L"Discard: Connection closed by peer", 0, 0, LOG_FILE);
return TRUE;
}
@ -48,21 +48,21 @@ DiscardHandler(VOID* sock_)
if (!RecieveIncomingPackets(sock))
{
LogEvent(_T("Discard: RecieveIncomingPackets failed"), 0, 0, LOG_FILE);
LogEvent(L"Discard: RecieveIncomingPackets failed", 0, 0, LOG_FILE);
retVal = 1;
}
LogEvent(_T("Discard: Shutting connection down"), 0, 0, LOG_FILE);
LogEvent(L"Discard: Shutting connection down", 0, 0, LOG_FILE);
if (ShutdownConnection(sock, TRUE))
{
LogEvent(_T("Discard: Connection is down."), 0, 0, LOG_FILE);
LogEvent(L"Discard: Connection is down.", 0, 0, LOG_FILE);
}
else
{
LogEvent(_T("Discard: Connection shutdown failed"), 0, 0, LOG_FILE);
LogEvent(L"Discard: Connection shutdown failed", 0, 0, LOG_FILE);
retVal = 1;
}
LogEvent(_T("Discard: Terminating thread"), 0, 0, LOG_FILE);
LogEvent(L"Discard: Terminating thread", 0, 0, LOG_FILE);
ExitThread(retVal);
}

View file

@ -15,7 +15,7 @@ static BOOL
EchoIncomingPackets(SOCKET sock)
{
CHAR readBuffer[RECV_BUF];
TCHAR logBuf[256];
WCHAR logBuf[256];
INT totalSentBytes;
INT readBytes;
INT retVal;
@ -25,7 +25,7 @@ EchoIncomingPackets(SOCKET sock)
readBytes = recv(sock, readBuffer, RECV_BUF, 0);
if (readBytes > 0)
{
_stprintf(logBuf, _T("Received %d bytes from client"), readBytes);
_swprintf(logBuf, L"Received %d bytes from client", readBytes);
LogEvent(logBuf, 0, 0, LOG_FILE);
totalSentBytes = 0;
@ -34,33 +34,33 @@ EchoIncomingPackets(SOCKET sock)
retVal = send(sock, readBuffer + totalSentBytes, readBytes - totalSentBytes, 0);
if (retVal > 0)
{
_stprintf(logBuf, _T("Sent %d bytes back to client"), retVal);
_swprintf(logBuf, L"Sent %d bytes back to client", retVal);
LogEvent(logBuf, 0, 0, LOG_FILE);
totalSentBytes += retVal;
}
else if (retVal == SOCKET_ERROR)
{
LogEvent(_T("Echo: socket error"), WSAGetLastError(), 0, LOG_ERROR);
LogEvent(L"Echo: socket error", WSAGetLastError(), 0, LOG_ERROR);
return FALSE;
}
else
{
/* Client closed connection before we could reply to
all the data it sent, so quit early. */
LogEvent(_T("Peer unexpectedly dropped connection!"), 0, 0, LOG_FILE);
LogEvent(L"Peer unexpectedly dropped connection!", 0, 0, LOG_FILE);
return FALSE;
}
}
}
else if (readBytes == SOCKET_ERROR)
{
LogEvent(_T("Echo: socket error"), WSAGetLastError(), 0, LOG_ERROR);
LogEvent(L"Echo: socket error", WSAGetLastError(), 0, LOG_ERROR);
return FALSE;
}
} while ((readBytes != 0) && (!bShutdown));
if (!bShutdown)
LogEvent(_T("Echo: Connection closed by peer"), 0, 0, LOG_FILE);
LogEvent(L"Echo: Connection closed by peer", 0, 0, LOG_FILE);
return TRUE;
}
@ -73,22 +73,22 @@ EchoHandler(VOID* sock_)
if (!EchoIncomingPackets(sock))
{
LogEvent(_T("Echo: EchoIncomingPackets failed"), 0, 0, LOG_FILE);
LogEvent(L"Echo: EchoIncomingPackets failed", 0, 0, LOG_FILE);
retVal = 1;
}
LogEvent(_T("Echo: Shutting connection down"), 0, 0, LOG_FILE);
LogEvent(L"Echo: Shutting connection down", 0, 0, LOG_FILE);
if (ShutdownConnection(sock, TRUE))
{
LogEvent(_T("Echo: Connection is down"), 0, 0, LOG_FILE);
LogEvent(L"Echo: Connection is down", 0, 0, LOG_FILE);
}
else
{
LogEvent(_T("Echo: Connection shutdown failed"), 0, 0, LOG_FILE);
LogEvent(L"Echo: Connection shutdown failed", 0, 0, LOG_FILE);
retVal = 1;
}
LogEvent(_T("Echo: Terminating thread"), 0, 0, LOG_FILE);
LogEvent(L"Echo: Terminating thread", 0, 0, LOG_FILE);
ExitThread(retVal);
}

View file

@ -11,31 +11,34 @@
#define DEBUG
static LPTSTR lpEventSource = _T("tcpsvcs");
static LPCTSTR lpLogFileName = _T("C:\\tcpsvcs_log.log");
static HANDLE hLogFile;
static LPWSTR lpEventSource = L"tcpsvcs";
static LPCWSTR lpLogFileName = L"C:\\tcpsvcs_log.log";
static HANDLE hLogFile = NULL;
static OVERLAPPED olWrite;
// needs work
static VOID
LogToEventLog(LPCTSTR lpMsg,
LogToEventLog(LPCWSTR lpMsg,
DWORD errNum,
DWORD exitCode,
UINT flags)
{
HANDLE hEventLog;
hEventLog = RegisterEventSource(NULL, lpEventSource);
hEventLog = RegisterEventSourceW(NULL, lpEventSource);
if (hEventLog)
{
ReportEvent(hEventLog,
(flags & LOG_ERROR) ? EVENTLOG_ERROR_TYPE : EVENTLOG_SUCCESS,
0,
0,
NULL,
1,
0,
&lpMsg,
NULL);
ReportEventW(hEventLog,
(flags & LOG_ERROR) ? EVENTLOG_ERROR_TYPE : EVENTLOG_SUCCESS,
0,
0,
NULL,
1,
0,
&lpMsg,
NULL);
CloseEventLog(hEventLog);
}
@ -44,45 +47,45 @@ LogToEventLog(LPCTSTR lpMsg,
static BOOL
OpenLogFile()
{
hLogFile = CreateFile(lpLogFileName,
GENERIC_WRITE,
0,
NULL,
OPEN_ALWAYS,
FILE_ATTRIBUTE_NORMAL,
NULL);
if (hLogFile == INVALID_HANDLE_VALUE)
hLogFile = CreateFileW(lpLogFileName,
GENERIC_WRITE,
FILE_SHARE_READ,
NULL,
OPEN_ALWAYS,
FILE_ATTRIBUTE_NORMAL | FILE_FLAG_OVERLAPPED,
NULL);
if (hLogFile == INVALID_HANDLE_VALUE)
{
hLogFile = NULL;
return FALSE;
}
return TRUE;
}
static VOID
LogToFile(LPCTSTR lpMsg,
LogToFile(LPCWSTR lpMsg,
DWORD errNum,
DWORD exitCode,
UINT flags)
{
LPTSTR lpFullMsg = NULL;
LPWSTR lpFullMsg = NULL;
DWORD msgLen;
if (!OpenLogFile())
return;
msgLen = _tcslen(lpMsg) + 1;
msgLen = wcslen(lpMsg) + 1;
if (flags & LOG_ERROR)
{
LPVOID lpSysMsg;
DWORD eMsgLen;
eMsgLen = FormatMessage(FORMAT_MESSAGE_ALLOCATE_BUFFER | FORMAT_MESSAGE_FROM_SYSTEM,
NULL,
errNum,
MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT),
(LPTSTR)&lpSysMsg,
0,
NULL);
eMsgLen = FormatMessageW(FORMAT_MESSAGE_ALLOCATE_BUFFER | FORMAT_MESSAGE_FROM_SYSTEM,
NULL,
errNum,
MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT),
(LPTSTR)&lpSysMsg,
0,
NULL);
msgLen = msgLen + eMsgLen + 40;
@ -91,9 +94,9 @@ LogToFile(LPCTSTR lpMsg,
msgLen * sizeof(TCHAR));
if (lpFullMsg)
{
_sntprintf(lpFullMsg,
_snwprintf(lpFullMsg,
msgLen,
_T("%s : %s\tErrNum = %lu ExitCode = %lu\r\n"),
L"%s : %s\tErrNum = %lu ExitCode = %lu\r\n",
lpMsg,
lpSysMsg,
errNum,
@ -112,9 +115,9 @@ LogToFile(LPCTSTR lpMsg,
msgLen * sizeof(TCHAR));
if (lpFullMsg)
{
_sntprintf(lpFullMsg,
_snwprintf(lpFullMsg,
msgLen,
_T("%s\r\n"),
L"%s\r\n",
lpMsg);
}
}
@ -122,17 +125,50 @@ LogToFile(LPCTSTR lpMsg,
if (lpFullMsg)
{
DWORD bytesWritten;
DWORD dwRet;
BOOL bRet;
SetFilePointer(hLogFile, 0, NULL, FILE_END);
WriteFile(hLogFile,
lpFullMsg,
_tcslen(lpFullMsg) * sizeof(TCHAR),
&bytesWritten,
NULL);
if (bytesWritten == 0)
bRet = WriteFile(hLogFile,
lpFullMsg,
wcslen(lpFullMsg) * sizeof(WCHAR),
&bytesWritten,
&olWrite);
if (!bRet)
{
LogToEventLog(_T("Failed to write to log file"),
if (GetLastError() != ERROR_IO_PENDING)
{
bRet = FALSE;
}
else
{
// Write is pending
dwRet = WaitForSingleObject(olWrite.hEvent, INFINITE);
switch (dwRet)
{
// event has been signaled
case WAIT_OBJECT_0:
{
bRet = GetOverlappedResult(hLogFile,
&olWrite,
&bytesWritten,
FALSE);
break;
}
default:
// An error has occurred in WaitForSingleObject.
// This usually indicates a problem with the
// OVERLAPPED structure's event handle.
bRet = FALSE;
break;
}
}
}
if (!bRet || bytesWritten == 0)
{
LogToEventLog(L"Failed to write to log file",
GetLastError(),
0,
LOG_EVENTLOG | LOG_ERROR);
@ -143,8 +179,6 @@ LogToFile(LPCTSTR lpMsg,
lpFullMsg);
}
CloseHandle(hLogFile);
if (exitCode > 0)
ExitProcess(exitCode);
}
@ -152,7 +186,7 @@ LogToFile(LPCTSTR lpMsg,
VOID
LogEvent(LPCTSTR lpMsg,
LogEvent(LPCWSTR lpMsg,
DWORD errNum,
DWORD exitCode,
UINT flags)
@ -165,39 +199,64 @@ LogEvent(LPCTSTR lpMsg,
LogToEventLog(lpMsg, errNum, exitCode, flags);
}
VOID
BOOL
InitLogging()
{
WCHAR wcBom = 0xFEFF;
#ifdef DEBUG
BOOL bRet = FALSE;
DeleteFile(lpLogFileName);
#ifdef _UNICODE
if (OpenLogFile())
ZeroMemory(&olWrite, sizeof(OVERLAPPED));
olWrite.Offset = 0xFFFFFFFF;
olWrite.OffsetHigh = 0xFFFFFFFF;
olWrite.hEvent = CreateEvent(NULL, TRUE, FALSE, NULL);
if (olWrite.hEvent)
{
DWORD bytesWritten;
DeleteFileW(lpLogFileName);
WriteFile(hLogFile,
&wcBom,
sizeof(WCHAR),
&bytesWritten,
NULL);
if (bytesWritten == 0)
if (OpenLogFile())
{
LogToEventLog(_T("Failed to write to log file"),
GetLastError(),
0,
LOG_EVENTLOG | LOG_ERROR);
}
WCHAR wcBom = 0xFEFF;
DWORD bytesWritten;
CloseHandle(hLogFile);
bRet = WriteFile(hLogFile,
&wcBom,
sizeof(WCHAR),
&bytesWritten,
&olWrite);
if (!bRet)
{
if (GetLastError() != ERROR_IO_PENDING)
{
LogToEventLog(L"Failed to write to log file",
GetLastError(),
0,
LOG_EVENTLOG | LOG_ERROR);
}
else
{
bRet = TRUE;
}
}
}
}
return bRet;
#else
return TRUE;
#endif
}
VOID
UninitLogging()
{
FlushFileBuffers(hLogFile);
CloseHandle(hLogFile);
if (hLogFile)
{
FlushFileBuffers(hLogFile);
CloseHandle(hLogFile);
}
if (olWrite.hEvent)
{
CloseHandle(olWrite.hEvent);
}
}

View file

@ -9,7 +9,7 @@
#include "tcpsvcs.h"
static LPCTSTR lpFilePath = _T("\\drivers\\etc\\quotes");
static WCHAR szFilePath[] = L"\\drivers\\etc\\quotes";
static BOOL
SendQuote(SOCKET sock, char* Quote)
@ -25,33 +25,33 @@ static BOOL
RetrieveQuote(SOCKET sock)
{
HANDLE hFile;
TCHAR lpFullPath[MAX_PATH + 20];
WCHAR szFullPath[MAX_PATH + 20];
DWORD dwBytesRead;
LPSTR lpQuotes;
LPSTR lpStr;
DWORD quoteNum;
DWORD NumQuotes = 0;
INT quoteNum;
INT NumQuotes = 0;
INT i;
if(!GetSystemDirectory(lpFullPath, MAX_PATH))
if(!GetSystemDirectoryW(szFullPath, MAX_PATH))
{
LogEvent(_T("QOTD: Getting system path failed"), GetLastError(), 0, LOG_FILE);
LogEvent(L"QOTD: Getting system path failed", GetLastError(), 0, LOG_FILE);
return FALSE;
}
_tcscat(lpFullPath, lpFilePath);
wcscat(szFullPath, szFilePath);
LogEvent(_T("QOTD: Opening quotes file"), 0, 0, LOG_FILE);
hFile = CreateFile(lpFullPath,
GENERIC_READ,
0,
NULL,
OPEN_EXISTING,
FILE_ATTRIBUTE_NORMAL,
NULL);
LogEvent(L"QOTD: Opening quotes file", 0, 0, LOG_FILE);
hFile = CreateFileW(szFullPath,
GENERIC_READ,
0,
NULL,
OPEN_EXISTING,
FILE_ATTRIBUTE_NORMAL,
NULL);
if (hFile == INVALID_HANDLE_VALUE)
{
LogEvent(_T("QOTD: Error opening quotes file"), GetLastError(), 0, LOG_FILE);
LogEvent(L"QOTD: Error opening quotes file", GetLastError(), 0, LOG_FILE);
}
else
{
@ -105,7 +105,7 @@ RetrieveQuote(SOCKET sock)
/* send the quote */
if (!SendQuote(sock, lpStart))
LogEvent(_T("QOTD: Error sending data"), 0, 0, LOG_FILE);
LogEvent(L"QOTD: Error sending data", 0, 0, LOG_FILE);
break;
}
else
@ -133,22 +133,22 @@ QotdHandler(VOID* sock_)
if (!RetrieveQuote(sock))
{
LogEvent(_T("QOTD: Error retrieving quote"), 0, 0, LOG_FILE);
LogEvent(L"QOTD: Error retrieving quote", 0, 0, LOG_FILE);
retVal = 1;
}
LogEvent(_T("QOTD: Shutting connection down"), 0, 0, LOG_FILE);
LogEvent(L"QOTD: Shutting connection down", 0, 0, LOG_FILE);
if (ShutdownConnection(sock, FALSE))
{
LogEvent(_T("QOTD: Connection is down"), 0, 0, LOG_FILE);
LogEvent(L"QOTD: Connection is down", 0, 0, LOG_FILE);
}
else
{
LogEvent(_T("QOTD: Connection shutdown failed"), 0, 0, LOG_FILE);
LogEvent(_T("QOTD: Terminating thread"), 0, 0, LOG_FILE);
LogEvent(L"QOTD: Connection shutdown failed", 0, 0, LOG_FILE);
LogEvent(L"QOTD: Terminating thread", 0, 0, LOG_FILE);
retVal = 1;
}
LogEvent(_T("QOTD: Terminating thread"), 0, 0, LOG_FILE);
LogEvent(L"QOTD: Terminating thread", 0, 0, LOG_FILE);
ExitThread(retVal);
}

View file

@ -33,17 +33,17 @@ SetUpListener(USHORT Port)
}
else
{
LogEvent(_T("listen() failed"), WSAGetLastError(), 0, LOG_ERROR);
LogEvent(L"listen() failed", WSAGetLastError(), 0, LOG_ERROR);
}
}
else
{
LogEvent(_T("bind() failed"), WSAGetLastError(), 0, LOG_ERROR);
LogEvent(L"bind() failed", WSAGetLastError(), 0, LOG_ERROR);
}
}
else
{
LogEvent(_T("socket() failed"), WSAGetLastError(), 0, LOG_ERROR);
LogEvent(L"socket() failed", WSAGetLastError(), 0, LOG_ERROR);
}
return bSetup ? sock : INVALID_SOCKET;
@ -53,14 +53,14 @@ SetUpListener(USHORT Port)
static VOID
AcceptConnections(SOCKET listeningSocket,
LPTHREAD_START_ROUTINE lpService,
LPTSTR lpName)
LPWSTR lpName)
{
SOCKADDR_IN client;
SOCKET sock;
HANDLE hThread;
TIMEVAL timeVal;
FD_SET readFD;
TCHAR logBuf[256];
WCHAR logBuf[256];
INT timeOut = 2000;
timeVal.tv_sec = timeOut / 1000;
@ -83,14 +83,14 @@ AcceptConnections(SOCKET listeningSocket,
sock = accept(listeningSocket, (SOCKADDR*)&client, &addrSize);
if (sock != INVALID_SOCKET)
{
_stprintf(logBuf,
_T("Accepted connection to %s server from %s:%d"),
_swprintf(logBuf,
L"Accepted connection to %s server from %S:%d",
lpName,
inet_ntoa(client.sin_addr),
ntohs(client.sin_port));
LogEvent(logBuf, 0, 0, LOG_FILE);
_stprintf(logBuf, _T("Creating worker thread for %s"), lpName);
_swprintf(logBuf, L"Creating worker thread for %s", lpName);
LogEvent(logBuf, 0, 0, LOG_FILE);
if (!bShutdown)
@ -102,7 +102,7 @@ AcceptConnections(SOCKET listeningSocket,
}
else
{
_stprintf(logBuf, _T("Failed to start worker thread for the %s server"),
_swprintf(logBuf, L"Failed to start worker thread for the %s server",
lpName);
LogEvent(logBuf, 0, 0, LOG_FILE);
}
@ -110,13 +110,13 @@ AcceptConnections(SOCKET listeningSocket,
}
else
{
LogEvent(_T("accept failed"), WSAGetLastError(), 0, LOG_ERROR);
LogEvent(L"accept failed", WSAGetLastError(), 0, LOG_ERROR);
}
}
}
else if (selRet == SOCKET_ERROR)
{
LogEvent(_T("select failed"), WSAGetLastError(), 0, LOG_ERROR);
LogEvent(L"select failed", WSAGetLastError(), 0, LOG_ERROR);
}
}
}
@ -125,14 +125,14 @@ BOOL
ShutdownConnection(SOCKET sock,
BOOL bRec)
{
TCHAR logBuf[256];
WCHAR logBuf[256];
/* Disallow any further data sends. This will tell the other side
that we want to go away now. If we skip this step, we don't
shut the connection down nicely. */
if (shutdown(sock, SD_SEND) == SOCKET_ERROR)
{
LogEvent(_T("Error in shutdown()"), WSAGetLastError(), 0, LOG_ERROR);
LogEvent(L"Error in shutdown()", WSAGetLastError(), 0, LOG_ERROR);
return FALSE;
}
@ -148,7 +148,7 @@ ShutdownConnection(SOCKET sock,
ret = recv(sock, readBuffer, BUF, 0);
if (ret >= 0)
{
_stprintf(logBuf, _T("FYI, received %d unexpected bytes during shutdown"), ret);
_swprintf(logBuf, L"FYI, received %d unexpected bytes during shutdown", ret);
LogEvent(logBuf, 0, 0, LOG_FILE);
}
} while (ret > 0);
@ -169,7 +169,7 @@ StartServer(LPVOID lpParam)
pServices = (PSERVICES)lpParam;
_stprintf(logBuf, _T("Starting %s server"), pServices->Name);
_swprintf(logBuf, L"Starting %s server", pServices->lpName);
LogEvent(logBuf, 0, 0, LOG_FILE);
if (!bShutdown)
@ -177,23 +177,23 @@ StartServer(LPVOID lpParam)
listeningSocket = SetUpListener(htons(pServices->Port));
if (!bShutdown && listeningSocket != INVALID_SOCKET)
{
_stprintf(logBuf,
_T("%s is waiting for connections on port %d"),
pServices->Name,
_swprintf(logBuf,
L"%s is waiting for connections on port %d",
pServices->lpName,
pServices->Port);
LogEvent(logBuf, 0, 0, LOG_FILE);
AcceptConnections(listeningSocket, pServices->Service, pServices->Name);
AcceptConnections(listeningSocket, pServices->lpService, pServices->lpName);
}
else
{
LogEvent(_T("Socket error when setting up listener"), 0, 0, LOG_FILE);
LogEvent(L"Socket error when setting up listener", 0, 0, LOG_FILE);
}
}
_stprintf(logBuf,
_T("Exiting %s thread"),
pServices->Name);
_swprintf(logBuf,
L"Exiting %s thread",
pServices->lpName);
LogEvent(logBuf, 0, 0, LOG_FILE);
ExitThread(0);
}

View file

@ -9,7 +9,7 @@
#include "tcpsvcs.h"
static LPTSTR ServiceName = _T("tcpsvcs");
static WCHAR ServiceName[] = L"tcpsvcs";
volatile BOOL bShutdown = FALSE;
volatile BOOL bPause = FALSE;
@ -23,11 +23,11 @@ typedef struct _ServiceInfo
static SERVICES
Services[NUM_SERVICES] =
{
{ECHO_PORT, _T("Echo"), EchoHandler},
{DISCARD_PORT, _T("Discard"), DiscardHandler},
{DAYTIME_PORT, _T("Daytime"), DaytimeHandler},
{QOTD_PORT, _T("QOTD"), QotdHandler},
{CHARGEN_PORT, _T("Chargen"), ChargenHandler}
{ECHO_PORT, L"Echo", EchoHandler},
{DISCARD_PORT, L"Discard", DiscardHandler},
{DAYTIME_PORT, L"Daytime", DaytimeHandler},
{QOTD_PORT, L"QOTD", QotdHandler},
{CHARGEN_PORT, L"Chargen", ChargenHandler}
};
@ -36,7 +36,7 @@ UpdateStatus(PSERVICEINFO pServInfo,
DWORD NewStatus,
DWORD Check)
{
TCHAR szSet[50];
WCHAR szSet[50];
if (Check > 0)
pServInfo->servStatus.dwCheckPoint += Check;
@ -46,15 +46,15 @@ UpdateStatus(PSERVICEINFO pServInfo,
if (NewStatus > 0)
pServInfo->servStatus.dwCurrentState = NewStatus;
_sntprintf(szSet,
_snwprintf(szSet,
49,
_T("Service state 0x%lu, CheckPoint %lu"),
L"Service state 0x%lu, CheckPoint %lu",
pServInfo->servStatus.dwCurrentState,
pServInfo->servStatus.dwCheckPoint);
LogEvent(szSet, 0, 0, LOG_FILE);
if (!SetServiceStatus(pServInfo->hStatus, &pServInfo->servStatus))
LogEvent(_T("Cannot set service status"), GetLastError(), 0, LOG_ALL);
LogEvent(L"Cannot set service status", GetLastError(), 0, LOG_ALL);
}
@ -64,25 +64,25 @@ CreateServers(PSERVICEINFO pServInfo)
DWORD dwThreadId[NUM_SERVICES];
HANDLE hThread[NUM_SERVICES];
WSADATA wsaData;
TCHAR buf[256];
WCHAR buf[256];
INT i;
DWORD RetVal;
if ((RetVal = WSAStartup(MAKEWORD(2, 2), &wsaData)) != 0)
{
_stprintf(buf, _T("WSAStartup() failed : %lu\n"), RetVal);
_swprintf(buf, L"WSAStartup() failed : %lu\n", RetVal);
LogEvent(buf, 0, 100, LOG_ALL);
return FALSE;
}
UpdateStatus(pServInfo, 0, 1);
LogEvent(_T("\nCreating server Threads"), 0, 0, LOG_FILE);
LogEvent(L"\nCreating server Threads", 0, 0, LOG_FILE);
/* Create worker threads. */
for(i = 0; i < NUM_SERVICES; i++)
for (i = 0; i < NUM_SERVICES; i++)
{
_stprintf(buf, _T("Creating thread for %s server"), Services[i].Name);
_swprintf(buf, L"Creating thread for %s server", Services[i].lpName);
LogEvent(buf, 0, 0, LOG_FILE);
hThread[i] = CreateThread(NULL,
@ -94,29 +94,30 @@ CreateServers(PSERVICEINFO pServInfo)
if (hThread[i] == NULL)
{
_stprintf(buf, _T("\nFailed to start %s server\n"), Services[i].Name);
_swprintf(buf, L"\nError creating %s server thread\n", Services[i].lpName);
LogEvent(buf, GetLastError(), 0, LOG_ALL);
return FALSE;
}
UpdateStatus(pServInfo, 0, 1);
}
LogEvent(_T("Setting service status to running"), 0, 0, LOG_FILE);
LogEvent(L"Setting service status to running", 0, 0, LOG_FILE);
UpdateStatus(pServInfo, SERVICE_RUNNING, 0);
/* Wait until all threads have terminated. */
WaitForMultipleObjects(NUM_SERVICES, hThread, TRUE, INFINITE);
for(i = 0; i < NUM_SERVICES; i++)
for (i = 0; i < NUM_SERVICES; i++)
{
if (hThread[i] != NULL)
CloseHandle(hThread[i]);
}
LogEvent(_T("Detaching Winsock2"), 0, 0, LOG_FILE);
LogEvent(L"Detaching Winsock2", 0, 0, LOG_FILE);
WSACleanup();
return 0;
return TRUE;
}
VOID WINAPI
@ -131,7 +132,7 @@ ServerCtrlHandler(DWORD dwControl,
{
case SERVICE_CONTROL_SHUTDOWN:
case SERVICE_CONTROL_STOP:
LogEvent(_T("\nSetting the service to SERVICE_STOP_PENDING"), 0, 0, LOG_FILE);
LogEvent(L"\nSetting the service to SERVICE_STOP_PENDING", 0, 0, LOG_FILE);
InterlockedExchange((LONG *)&bShutdown, TRUE);
pServInfo->servStatus.dwWin32ExitCode = 0;
pServInfo->servStatus.dwWaitHint = 0;
@ -139,13 +140,13 @@ ServerCtrlHandler(DWORD dwControl,
break;
case SERVICE_CONTROL_PAUSE: /* not yet implemented */
LogEvent(_T("Setting the service to SERVICE_PAUSED"), 0, 0, LOG_FILE);
LogEvent(L"Setting the service to SERVICE_PAUSED", 0, 0, LOG_FILE);
InterlockedExchange((LONG *)&bPause, TRUE);
UpdateStatus(pServInfo, SERVICE_PAUSED, 0);
break;
case SERVICE_CONTROL_CONTINUE:
LogEvent(_T("Setting the service to SERVICE_RUNNING"), 0, 0, LOG_FILE);
LogEvent(L"Setting the service to SERVICE_RUNNING", 0, 0, LOG_FILE);
InterlockedExchange((LONG *)&bPause, FALSE);
UpdateStatus(pServInfo, SERVICE_RUNNING, 0);
break;
@ -155,19 +156,19 @@ ServerCtrlHandler(DWORD dwControl,
default:
if (dwControl > 127 && dwControl < 256) /* user defined */
LogEvent(_T("User defined control code"), 0, 0, LOG_FILE);
LogEvent(L"User defined control code", 0, 0, LOG_FILE);
else
LogEvent(_T("ERROR: Bad control code"), 0, 0, LOG_FILE);
LogEvent(L"ERROR: Bad control code", 0, 0, LOG_FILE);
break;
}
}
VOID WINAPI
ServiceMain(DWORD argc, LPTSTR argv[])
ServiceMain(DWORD argc, LPWSTR argv[])
{
SERVICEINFO servInfo;
LogEvent (_T("Entering ServiceMain."), 0, 0, LOG_FILE);
LogEvent(L"Entering ServiceMain.", 0, 0, LOG_FILE);
servInfo.servStatus.dwServiceType = SERVICE_WIN32_OWN_PROCESS;
servInfo.servStatus.dwCurrentState = SERVICE_STOPPED;
@ -177,43 +178,45 @@ ServiceMain(DWORD argc, LPTSTR argv[])
servInfo.servStatus.dwCheckPoint = 0;
servInfo.servStatus.dwWaitHint = 2 * CS_TIMEOUT;
LogEvent(_T("Registering service control handler"), 0, 0, LOG_FILE);
servInfo.hStatus = RegisterServiceCtrlHandlerEx(ServiceName,
(LPHANDLER_FUNCTION_EX)ServerCtrlHandler,
&servInfo);
LogEvent(L"Registering service control handler", 0, 0, LOG_FILE);
servInfo.hStatus = RegisterServiceCtrlHandlerExW(ServiceName,
(LPHANDLER_FUNCTION_EX)ServerCtrlHandler,
&servInfo);
if (!servInfo.hStatus)
LogEvent(_T("Failed to register service\n"), GetLastError(), 100, LOG_ALL);
LogEvent(L"Failed to register service", GetLastError(), 100, LOG_ALL);
UpdateStatus(&servInfo, SERVICE_START_PENDING, 1);
if (!CreateServers(&servInfo))
{
LogEvent(L"Error creating servers", GetLastError(), 1, LOG_ALL);
servInfo.servStatus.dwServiceSpecificExitCode = 1;
UpdateStatus(&servInfo, SERVICE_STOPPED, 0);
return;
}
LogEvent(_T("Service threads shut down. Set SERVICE_STOPPED status"), 0, 0, LOG_FILE);
LogEvent(L"Service threads shut down. Set SERVICE_STOPPED status", 0, 0, LOG_FILE);
UpdateStatus(&servInfo, SERVICE_STOPPED, 0);
LogEvent(_T("Leaving ServiceMain\n"), 0, 0, LOG_FILE);
LogEvent(L"Leaving ServiceMain\n", 0, 0, LOG_FILE);
}
int _tmain (int argc, LPTSTR argv [])
{
SERVICE_TABLE_ENTRY ServiceTable[] =
SERVICE_TABLE_ENTRYW ServiceTable[] =
{
{ServiceName, ServiceMain},
{NULL, NULL }
};
InitLogging();
if (InitLogging())
{
if (!StartServiceCtrlDispatcherW(ServiceTable))
LogEvent(L"failed to start the service control dispatcher", GetLastError(), 101, LOG_ALL);
if (!StartServiceCtrlDispatcher(ServiceTable))
LogEvent(_T("failed to start the service control dispatcher"), GetLastError(), 101, LOG_ALL);
UninitLogging();
UninitLogging();
}
return 0;
}

View file

@ -3,6 +3,10 @@
#include <tchar.h>
#include <time.h>
#ifndef _MSC_VER
#define _swprintf swprintf
#endif
#define LOG_FILE 1
#define LOG_EVENTLOG 2
#define LOG_ERROR 4
@ -20,19 +24,20 @@
/* data structure to pass to threads */
typedef struct _Services {
typedef struct _Services
{
USHORT Port;
TCHAR *Name;
LPTHREAD_START_ROUTINE Service;
LPWSTR lpName;
LPTHREAD_START_ROUTINE lpService;
} SERVICES, *PSERVICES;
extern volatile BOOL bShutdown;
extern volatile BOOL bPause;
/* logging functions */
VOID InitLogging();
BOOL InitLogging();
VOID UninitLogging();
VOID LogEvent(LPCTSTR lpMsg, DWORD errNum, DWORD exitCode, UINT flags);
VOID LogEvent(LPCWSTR lpMsg, DWORD errNum, DWORD exitCode, UINT flags);
/* skelserver functions */
DWORD WINAPI StartServer(LPVOID lpParam);

View file

@ -2165,7 +2165,7 @@ PnpEventThread(LPVOID lpParameter)
/* Process the pnp event */
DPRINT("Received PnP Event\n");
if (UuidEqual(&PnpEvent->EventGuid, (UUID*)&GUID_DEVICE_ARRIVAL, &RpcStatus))
if (UuidEqual(&PnpEvent->EventGuid, (UUID*)&GUID_DEVICE_ENUMERATED, &RpcStatus))
{
DeviceInstallParams* Params;
DWORD len;

View file

@ -2,11 +2,128 @@
LANGUAGE LANG_NORWEGIAN, SUBLANG_NEUTRAL
/* String Tables */
STRINGTABLE DISCARDABLE
IDD_STARTPAGE DIALOGEX DISCARDABLE 0, 0, 317, 193
STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
CAPTION "ReactOS installering"
FONT 8, "MS Shell Dlg"
BEGIN
IDS_CAPTION "ReactOS Installering"
IDS_TEXT "Du kan ikke installere ReactOS direkte fra denne CD!\n\nVennligst restart din datamaskin fra denne CD i anvisning for å installere ReactOS."
LTEXT "Velkommen til ReactOS installering veiviseren.", IDC_STARTTITLE, 115, 8, 220, 24
LTEXT "Du kan ennå ikke installere ReactOS direkte fra denne CD-en! "\
"Vennligst start datamaskinen på nytt og start fra denne platen for å "\
"installere ReactOS.", IDC_STATIC, 115, 40, 195, 100
LTEXT "Trykk på Fullført for å avslutte installeringen.", IDC_STATIC, 115, 169, 195, 17
END
IDD_LANGSELPAGE DIALOGEX DISCARDABLE 0, 0, 317, 193
STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
CAPTION "ReactOS installering"
FONT 8, "MS Shell Dlg"
BEGIN
CONTROL "IDB_LOGO", IDB_ROSLOGO, "Static", WS_CHILD | WS_VISIBLE | SS_OWNERDRAW, 18, 0, 290, 99
CONTROL "Installering språk:", IDC_STATIC, "Static", WS_CHILD | WS_VISIBLE | WS_GROUP | SS_RIGHT, 20, 109, 106, 11
CONTROL "", IDC_LANGUAGES, "ComboBox", WS_VSCROLL | WS_TABSTOP | CBS_DROPDOWNLIST, 132, 107, 176, 142
CONTROL "Tastatur eller inndataspråk:", IDC_STATIC, "Static", WS_CHILD | WS_VISIBLE | WS_GROUP | SS_RIGHT, 20, 142, 106, 11
CONTROL "", IDC_KEYLAYOUT, "ComboBox", WS_VSCROLL | WS_TABSTOP | CBS_DROPDOWNLIST, 132, 141, 176, 81
LTEXT "Trykk på Neste for å velge installering type.", IDC_STATIC, 10, 180 ,297, 10
END
IDD_TYPEPAGE DIALOGEX DISCARDABLE 0, 0, 317, 193
STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
CAPTION "ReactOS installering"
FONT 8, "MS Shell Dlg"
BEGIN
CONTROL "Installeringsvalg", IDC_STATIC, "Button", BS_GROUPBOX, 10,0,297,172
CONTROL "Installere ReactOS", IDC_INSTALL, "Button", BS_AUTORADIOBUTTON | WS_TABSTOP, 20, 15, 277, 10
CONTROL "Reparere eller oppdatere en installert ReactOS", IDC_SETUP, "Button", BS_AUTORADIOBUTTON | WS_TABSTOP | WS_DISABLED , 20, 30, 277, 10
LTEXT "Trykk på Neste for installere enhetene.", IDC_STATIC, 10, 180 ,297, 10
END
IDD_DEVICEPAGE DIALOGEX DISCARDABLE 0, 0, 317, 193
STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
CAPTION "ReactOS installering"
FONT 8, "MS Shell Dlg"
BEGIN
CONTROL "Enhetsinnstillinger", IDC_STATIC, "Button", BS_GROUPBOX, 10,0,297,172
LTEXT "Datamaskin:", IDC_STATIC, 20,15, 80, 10
CONTROL "", IDC_COMPUTER, "ComboBox", WS_TABSTOP | CBS_DROPDOWNLIST , 100, 15, 150, 80
LTEXT "Skjerm:", IDC_STATIC, 20,35, 80, 10
CONTROL "", IDC_DISPLAY, "ComboBox", WS_TABSTOP | CBS_DROPDOWNLIST , 100, 35, 150, 80
LTEXT "Tastatur:", IDC_STATIC, 20,55, 80, 10
CONTROL "", IDC_KEYBOARD, "ComboBox", WS_TABSTOP | CBS_DROPDOWNLIST , 100, 55, 150, 80
LTEXT "Trykk på Neste for å installere enhetene.", IDC_STATIC, 10, 180 ,277, 20
END
IDD_DRIVEPAGE DIALOGEX DISCARDABLE 0, 0, 317, 193
STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
CAPTION "ReactOS installering"
FONT 8, "MS Shell Dlg"
BEGIN
CONTROL "ReactOS partisjon installasjon", IDC_STATIC, "Button", BS_GROUPBOX, 10,1,298,176
LISTBOX IDC_PARTITION, 20,12,278,142,LBS_HASSTRINGS | WS_VSCROLL
PUSHBUTTON "&Opprett", IDC_PARTCREATE, 20,155,50,15
PUSHBUTTON "&Slett", IDC_PARTDELETE, 76,155,50,15
PUSHBUTTON "&Avansert valg...", IDC_PARTMOREOPTS, 218,155,80,15
LTEXT "Trykk på Neste for å starte installasjon prosessen.", IDC_STATIC, 10, 180 ,277, 20
END
IDD_BOOTOPTIONS DIALOGEX DISCARDABLE 0, 0, 305, 105
STYLE WS_VISIBLE|WS_CAPTION|WS_SYSMENU|WS_THICKFRAME
CAPTION "Avansert partisjon innstillinger"
FONT 8, "MS Shell Dlg"
BEGIN
CONTROL "Installasjon mappe", IDC_STATIC, "Button", BS_GROUPBOX, 4,1,298,30
EDITTEXT IDC_PATH, 10,11,278,13, WS_VISIBLE
CONTROL "Oppstartslaster installasjon", IDC_STATIC, "Button", BS_GROUPBOX, 4,36,298,41
CONTROL "Installer oppstartslaster på harddiskens (MBR)", IDC_INSTFREELDR, "Button", BS_AUTORADIOBUTTON | WS_TABSTOP, 10,46,278,11
CONTROL "Ikke installer oppstartslaster", IDC_NOINSTFREELDR, "Button", BS_AUTORADIOBUTTON | WS_TABSTOP | WS_DISABLED , 10,57,278,11
END
IDD_PROCESSPAGE DIALOGEX 0, 0, 317, 193
STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
CAPTION "ReactOS installering"
FONT 8, "MS Shell Dlg"
BEGIN
CONTROL "Installasjon handling", IDC_ACTION, "Button", BS_GROUPBOX, 10,0,297,172
LTEXT "Installer filer...", IDC_ACTIVITY, 20, 50, 277, 10
LTEXT "test.txt", IDC_ITEM, 30, 80, 257, 10
CONTROL "", IDC_PROCESSPROGRESS, "msctls_progress32",
PBS_SMOOTH | WS_CHILD | WS_VISIBLE | WS_BORDER, 20, 120, 277, 8
END
IDD_RESTARTPAGE DIALOGEX DISCARDABLE 0, 0, 317, 193
STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
CAPTION "Fullfører ReactOS installering"
FONT 8, "MS Shell Dlg"
BEGIN
CONTROL "Fullfører første steget av ReactOS installering", IDC_FINISHTITLE, "Button", BS_GROUPBOX, 10,0,297,172
LTEXT "Du har nå fullført første steget av ReactOS installering.", IDC_STATIC, 20, 50, 277, 10
LTEXT "Når du trykker Fullført, vil din datamaskin starte på nytt.", IDC_STATIC, 20, 80, 277, 10
CONTROL "", IDC_RESTART_PROGRESS, "msctls_progress32", PBS_SMOOTH | WS_CHILD | WS_VISIBLE | WS_BORDER, 20, 120, 277, 8
LTEXT "Hvis du fortsatt har CD platen i stasjon, fjern denne. Også, for å starte "\
"din datamaskin på nytt, trykk på Fullført.", IDC_STATIC, 10, 180, 297, 20
END
STRINGTABLE
BEGIN
IDS_LANGTITLE "Språk valg"
IDS_LANGSUBTITLE "Velg språk for installering og til ferdig system."
IDS_TYPETITLE "Velkommen til ReactOS installering"
IDS_TYPESUBTITLE "Velg installering type."
IDS_DEVICETITLE "Installer grunnleggende enheter"
IDS_DEVICESUBTITLE "Velg innstillingene til skjermen og tastaturet."
IDS_DRIVETITLE "Valg av installasjon partisjon og system mappe"
IDS_DRIVESUBTITLE "Forbrede installasjon partisjon, system mappe og oppstartslaster."
IDS_PROCESSTITLE "Forbrede partisjon, kopiere filer og installere system"
IDS_PROCESSSUBTITLE "Opprett og formater partisjon, kopier filer, installere og sett opp oppstartlaster"
IDS_RESTARTTITLE "Første steget av installering er fullført"
IDS_RESTARTSUBTITLE "Første steget av installering har blitt fullført, start på nytt for å fortsette til andre steget"
IDS_ABORTSETUP "ReactOS er ikke fullstendig installert på datamaskinen. Hvis du avslutter nå, trenger du å kjøre installeringen på nytt for å installere Reactos. Vil du virkelig avslutte?"
IDS_ABORTSETUP2 "Avbryt installasjonen?"
END
/* EOF */

View file

@ -7,6 +7,7 @@
#include "lang/de-DE.rc"
//#include "lang/el-GR.rc"
#include "lang/en-US.rc"
#include "lang/no-NO.rc"
/*#include "lang/es-ES.rc"
#include "lang/fi-FI.rc"*/
#include "lang/fr-FR.rc"
@ -15,7 +16,6 @@
#include "lang/it-IT.rc"
#include "lang/ja-JP.rc"
#include "lang/lt-LT.rc"
#include "lang/no-NO.rc"
#include "lang/nl-NL.rc"*/
#include "lang/pl-PL.rc"
/*#include "lang/pt-BR.rc"*/

View file

@ -387,6 +387,13 @@ CreateFreeLoaderIniForReactos(PWCHAR IniPath,
INSERT_LAST,
L"ReactOS_WinLdr",
L"\"ReactOS (WinLdr)\"");
/* ReactOS_Ram="ReactOS (RAM Disk)" */
IniCacheInsertKey(IniSection,
NULL,
INSERT_LAST,
L"ReactOS_Ram",
L"\"ReactOS (RAM Disk)\"");
#endif
/* Create "ReactOS" section */
@ -444,7 +451,7 @@ CreateFreeLoaderIniForReactos(PWCHAR IniPath,
IniSection = IniCacheAppendSection(IniCache,
L"ReactOS_WinLdr");
/* BootType=ReactOS */
/* BootType=Windows2003 */
IniCacheInsertKey(IniSection,
NULL,
INSERT_LAST,
@ -464,6 +471,31 @@ CreateFreeLoaderIniForReactos(PWCHAR IniPath,
INSERT_LAST,
L"Options",
L"/DEBUG /DEBUGPORT=COM1 /BAUDRATE=115200 /SOS");
/* Create "ReactOS_WinLdr" section */
IniSection = IniCacheAppendSection(IniCache,
L"ReactOS_Ram");
/* BootType=ReactOS */
IniCacheInsertKey(IniSection,
NULL,
INSERT_LAST,
L"BootType",
L"ReactOS");
/* SystemPath=ramdisk(0)\\ReactOS */
IniCacheInsertKey(IniSection,
NULL,
INSERT_LAST,
L"SystemPath",
L"ramdisk(0)\\ReactOS");
/* Options=/DEBUG /DEBUGPORT=COM1 /BAUDRATE=115200 /SOS /RDIMAGEPATH=reactos.img /RDIMAGEOFFSET=32256*/
IniCacheInsertKey(IniSection,
NULL,
INSERT_LAST,
L"Options",
L"/DEBUG /DEBUGPORT=COM1 /BAUDRATE=115200 /SOS /RDIMAGEPATH=reactos.img /RDIMAGEOFFSET=32256");
#endif
/* Save the ini file */
@ -947,7 +979,6 @@ InstallFat32BootCodeToFile(PWSTR SrcPath,
NtClose(FileHandle);
if (!NT_SUCCESS(Status))
{
CHECKPOINT1;
RtlFreeHeap(ProcessHeap, 0, OrigBootSector);
return(Status);
}

View file

@ -366,7 +366,7 @@ EventThread(IN LPVOID lpParameter)
/* Process the pnp event */
DPRINT("Received PnP Event\n");
if (IsEqualIID(&PnpEvent->EventGuid, (REFGUID)&GUID_DEVICE_ARRIVAL))
if (IsEqualIID(&PnpEvent->EventGuid, (REFGUID)&GUID_DEVICE_ENUMERATED))
{
DPRINT1("Device arrival event: %S\n", PnpEvent->TargetDevice.DeviceIds);
InstallDevice(hInf, hEnum, hServices, PnpEvent->TargetDevice.DeviceIds);

View file

@ -699,7 +699,7 @@ SetupStartPage(PINPUT_RECORD Ir)
INFCONTEXT Context;
PWCHAR Value;
UINT ErrorLine;
ULONG ReturnSize;
SIZE_T ReturnSize;
CONSOLE_SetStatusText(MUIGetString(STRING_PLEASEWAIT));
@ -3752,10 +3752,6 @@ RunUSetup(VOID)
}
}
/// THE FOLLOWING DPRINT IS FOR THE SYSTEM REGRESSION TOOL
/// DO NOT REMOVE!!!
DPRINT1("SYSREG_CHECKPOINT:USETUP_COMPLETE\n");
FreeConsole();
/* Avoid bugcheck */

View file

@ -4,6 +4,8 @@
MUI_LAYOUTS bgBGLayouts[] =
{
{ L"0402", L"00000402" },
{ L"0402", L"00020402" },
{ L"0402", L"00030402" },
{ L"0409", L"00000409" },
{ NULL, NULL }
};
@ -1086,7 +1088,7 @@ static MUI_ENTRY bgBGLayoutSettingsEntries[] =
{
6,
8,
"Please select a layout to be installed by default.",
"ˆ§¡¥à¥â¥ ¯®¤à §¡¨à ­  ª« ¢¨ âãà­  ¯®¤à¥¤¡ .",
TEXT_STYLE_NORMAL
},
{

View file

@ -906,7 +906,7 @@ CreatePartitionList (SHORT Left,
OBJECT_ATTRIBUTES ObjectAttributes;
SYSTEM_DEVICE_INFORMATION Sdi;
IO_STATUS_BLOCK Iosb;
ULONG ReturnSize;
SIZE_T ReturnSize;
NTSTATUS Status;
ULONG DiskNumber;
WCHAR Buffer[MAX_PATH];

View file

@ -260,6 +260,7 @@ IsVmwSVGAEnabled(VOID)
{
return FALSE;
}
Size = sizeof(DWORD);
if(RegQueryValueEx(hReg, L"Start", 0, &Type, (BYTE*)&Value, &Size) != ERROR_SUCCESS ||
Type != REG_DWORD)
{
@ -503,7 +504,7 @@ done:
}
cleanup:
hThread = (HANDLE)(ULONG_PTR)InterlockedExchange((LONG*)&hInstallationThread, 0);
hThread = (HANDLE)InterlockedExchange((LONG*)&hInstallationThread, 0);
if(hThread != NULL)
{
CloseHandle(hThread);

View file

@ -139,7 +139,7 @@ VOID ExpandAlias (LPTSTR cmd, INT maxlen)
}
INT CommandAlias (LPTSTR cmd, LPTSTR param)
INT CommandAlias (LPTSTR param)
{
LPTSTR ptr;

View file

@ -188,7 +188,7 @@ ChangeAttribute (LPTSTR pszPath, LPTSTR pszFile, DWORD dwMask,
}
INT CommandAttrib (LPTSTR cmd, LPTSTR param)
INT CommandAttrib (LPTSTR param)
{
LPTSTR *arg;
INT argc, i;

View file

@ -194,6 +194,9 @@ VOID ExitBatch (LPTSTR msg)
if (bc->ffind)
cmd_free(bc->ffind);
UndoRedirection(bc->RedirList, NULL);
FreeRedirection(bc->RedirList);
/* Preserve echo state across batch calls */
bEcho = bc->bEcho;
@ -213,10 +216,9 @@ VOID ExitBatch (LPTSTR msg)
*
*/
BOOL Batch (LPTSTR fullname, LPTSTR firstword, LPTSTR param)
BOOL Batch (LPTSTR fullname, LPTSTR firstword, LPTSTR param, BOOL forcenew)
{
HANDLE hFile;
LPTSTR tmp;
SetLastError(0);
hFile = CreateFile (fullname, GENERIC_READ, FILE_SHARE_WRITE | FILE_SHARE_READ | FILE_SHARE_DELETE, NULL,
OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL |
@ -235,7 +237,7 @@ BOOL Batch (LPTSTR fullname, LPTSTR firstword, LPTSTR param)
while (bc && bc->forvar)
ExitBatch (NULL);
if (bc == NULL)
if (bc == NULL || forcenew)
{
/* No curent batch file, create a new context */
LPBATCH_CONTEXT n = (LPBATCH_CONTEXT)cmd_alloc (sizeof(BATCH_CONTEXT));
@ -248,9 +250,7 @@ BOOL Batch (LPTSTR fullname, LPTSTR firstword, LPTSTR param)
n->prev = bc;
bc = n;
bc->In[0] = _T('\0');
bc->Out[0] = _T('\0');
bc->Err[0] = _T('\0');
bc->RedirList = NULL;
}
else if (bc->hBatchFile != INVALID_HANDLE_VALUE)
{
@ -263,16 +263,13 @@ BOOL Batch (LPTSTR fullname, LPTSTR firstword, LPTSTR param)
cmd_free (bc->raw_params);
}
GetFullPathName(fullname, sizeof(bc->BatchFilePath), bc->BatchFilePath, &tmp);
*tmp = '\0';
GetFullPathName(fullname, sizeof(bc->BatchFilePath) / sizeof(TCHAR), bc->BatchFilePath, NULL);
bc->hBatchFile = hFile;
SetFilePointer (bc->hBatchFile, 0, NULL, FILE_BEGIN);
bc->bEcho = bEcho; /* Preserve echo across batch calls */
bc->shiftlevel = 0;
bc->bCmdBlock = -1;
bc->lCallPosition = 0;
bc->lCallPositionHigh = 0;
bc->ffind = NULL;
bc->forvar = _T('\0');
@ -300,17 +297,23 @@ BOOL Batch (LPTSTR fullname, LPTSTR firstword, LPTSTR param)
return TRUE;
}
VOID AddBatchRedirection(TCHAR * ifn, TCHAR * ofn, TCHAR * efn)
VOID AddBatchRedirection(REDIRECTION **RedirList)
{
REDIRECTION **ListEnd;
if(!bc)
return;
if(_tcslen(ifn))
_tcscpy(bc->In,ifn);
if(_tcslen(ofn))
_tcscpy(bc->Out,ofn);
if(_tcslen(efn))
_tcscpy(bc->Err,efn);
/* Prepend the list to the batch context's list */
ListEnd = RedirList;
while (*ListEnd)
ListEnd = &(*ListEnd)->Next;
*ListEnd = bc->RedirList;
bc->RedirList = *RedirList;
/* Null out the pointer so that the list will not be cleared prematurely.
* These redirections should persist until the batch file exits. */
*RedirList = NULL;
}
/*
@ -325,10 +328,9 @@ VOID AddBatchRedirection(TCHAR * ifn, TCHAR * ofn, TCHAR * efn)
* Set eflag to 0 if line is not to be echoed else 1
*/
LPTSTR ReadBatchLine (LPBOOL bLocalEcho)
LPTSTR ReadBatchLine ()
{
LPTSTR first;
LPTSTR ip;
/* No batch */
if (bc == NULL)
@ -421,8 +423,6 @@ LPTSTR ReadBatchLine (LPBOOL bLocalEcho)
*dp = _T('\0');
*bLocalEcho = bEcho;
return textline;
}
@ -439,14 +439,7 @@ LPTSTR ReadBatchLine (LPBOOL bLocalEcho)
}
TRACE ("ReadBatchLine(): textline: \'%s\'\n", debugstr_aw(textline));
/* Strip leading spaces and trailing space/control chars */
for (first = textline; _istspace (*first); first++)
;
for (ip = first + _tcslen (first) - 1; _istspace (*ip) || _istcntrl (*ip); ip--)
;
*++ip = _T('\0');
first = textline;
/* cmd block over multiple lines (..) */
if (bc->bCmdBlock >= 0)
@ -481,22 +474,6 @@ LPTSTR ReadBatchLine (LPBOOL bLocalEcho)
}
}
/* ignore labels and empty lines */
if (*first == _T(':') || *first == 0)
continue;
if (*first == _T('@'))
{
/* don't echo this line */
do
first++;
while (_istspace (*first));
*bLocalEcho = 0;
}
else
*bLocalEcho = bEcho;
break;
}

View file

@ -19,14 +19,10 @@ typedef struct tagBATCHCONTEXT
INT shiftlevel;
BOOL bEcho; /* Preserve echo flag across batch calls */
HANDLE hFind; /* Preserve find handle when doing a for */
TCHAR In[MAX_PATH];
TCHAR Out[MAX_PATH];
TCHAR Err[MAX_PATH];
REDIRECTION *RedirList;
TCHAR forvar;
INT bCmdBlock;
BOOL bExecuteBlock[MAX_PATH];
LONG lCallPosition; /* store position where to return to after Call :Label */
LONG lCallPositionHigh;
} BATCH_CONTEXT, *LPBATCH_CONTEXT;
@ -45,8 +41,8 @@ extern TCHAR textline[BATCH_BUFFSIZE]; /* Buffer for reading Batch file lines */
LPTSTR FindArg (INT);
LPTSTR BatchParams (LPTSTR, LPTSTR);
VOID ExitBatch (LPTSTR);
BOOL Batch (LPTSTR, LPTSTR, LPTSTR);
LPTSTR ReadBatchLine (LPBOOL);
VOID AddBatchRedirection(TCHAR *, TCHAR *, TCHAR *);
BOOL Batch (LPTSTR, LPTSTR, LPTSTR, BOOL);
LPTSTR ReadBatchLine();
VOID AddBatchRedirection(REDIRECTION **);
#endif /* _BATCH_H_INCLUDED_ */

View file

@ -29,7 +29,7 @@
#ifdef INCLUDE_CMD_BEEP
INT cmd_beep (LPTSTR cmd, LPTSTR param)
INT cmd_beep (LPTSTR param)
{
if (_tcsncmp (param, _T("/?"), 2) == 0)
{

View file

@ -40,11 +40,11 @@
* context block.
*/
INT cmd_call (LPTSTR cmd, LPTSTR param)
INT cmd_call (LPTSTR param)
{
LPBATCH_CONTEXT n = NULL;
TRACE ("cmd_call: (\'%s\',\'%s\')\n", debugstr_aw(cmd), debugstr_aw(param));
TRACE ("cmd_call: (\'%s\')\n", debugstr_aw(param));
if (!_tcsncmp (param, _T("/?"), 2))
{
ConOutResPaging(TRUE,STRING_CALL_HELP);
@ -53,9 +53,18 @@ INT cmd_call (LPTSTR cmd, LPTSTR param)
if (*param == _T(':') && (bc))
{
bc->lCallPosition = SetFilePointer(bc->hBatchFile, 0, &bc->lCallPositionHigh, FILE_CURRENT);
cmd_goto(_T("goto"), param);
return 0;
TCHAR *first = param;
while (*param && !_istspace(*param))
param++;
if (*param)
{
*param++ = _T('\0');
while (_istspace(*param))
param++;
}
if (!Batch(bc->BatchFilePath, first, param, TRUE))
return 1;
return cmd_goto(first);
}
nErrorLevel = 0;
@ -76,19 +85,8 @@ INT cmd_call (LPTSTR cmd, LPTSTR param)
bc->shiftlevel = 0;
bc->forvar = 0; /* HBP004 */
bc->forproto = NULL; /* HBP004 */
bc->RedirList = NULL;
ParseCommandLine (param);
if (bc->prev)
{
_tcscpy(bc->In, bc->prev->In);
_tcscpy(bc->Out, bc->prev->Out);
_tcscpy(bc->Err, bc->prev->Err);
}
else
{
bc->In[0] = _T('\0');
bc->Out[0] = _T('\0');
bc->Err[0] = _T('\0');
}
/* Wasn't a batch file so remove conext */

View file

@ -17,7 +17,7 @@
#ifdef INCLUDE_CMD_CHCP
INT CommandChcp (LPTSTR cmd, LPTSTR param)
INT CommandChcp (LPTSTR param)
{
LPTSTR *arg;
INT args;

View file

@ -100,7 +100,7 @@ IsKeyInString (LPTSTR lpString, TCHAR cKey, BOOL bCaseSensitive)
INT
CommandChoice (LPTSTR cmd, LPTSTR param)
CommandChoice (LPTSTR param)
{
LPTSTR lpOptions;
TCHAR Options[6];

View file

@ -30,7 +30,7 @@
#ifdef INCLUDE_CMD_CLS
INT cmd_cls (LPTSTR cmd, LPTSTR param)
INT cmd_cls (LPTSTR param)
{
CONSOLE_SCREEN_BUFFER_INFO csbi;
COORD coPos;

View file

@ -307,10 +307,10 @@ static BOOL RunFile(LPTSTR filename)
ret = (hShExt)(NULL, _T("open"), filename, NULL, NULL, SW_SHOWNORMAL);
TRACE ("RunFile: ShellExecuteA/W returned %d\n", ret);
TRACE ("RunFile: ShellExecuteA/W returned %d\n", (DWORD)ret);
FreeLibrary(hShell32);
return (PtrToUlong(ret) > 32);
return (((DWORD)ret) > 32);
}
@ -323,7 +323,7 @@ static BOOL RunFile(LPTSTR filename)
* Rest - rest of command line
*/
static VOID
static BOOL
Execute (LPTSTR Full, LPTSTR First, LPTSTR Rest)
{
TCHAR *szFullName=NULL;
@ -345,7 +345,7 @@ Execute (LPTSTR Full, LPTSTR First, LPTSTR Rest)
{
error_out_of_memory();
nErrorLevel = 1;
return ;
return FALSE;
}
rest = cmd_alloc ( (_tcslen(Rest) + 512) * sizeof(TCHAR));
@ -354,7 +354,7 @@ Execute (LPTSTR Full, LPTSTR First, LPTSTR Rest)
cmd_free (first);
error_out_of_memory();
nErrorLevel = 1;
return ;
return FALSE;
}
full = cmd_alloc ( (_tcslen(Full) + 512) * sizeof(TCHAR));
@ -364,7 +364,7 @@ Execute (LPTSTR Full, LPTSTR First, LPTSTR Rest)
cmd_free (rest);
error_out_of_memory();
nErrorLevel = 1;
return ;
return FALSE;
}
szFullName = cmd_alloc ( (_tcslen(Full) + 512) * sizeof(TCHAR));
@ -375,7 +375,7 @@ Execute (LPTSTR Full, LPTSTR First, LPTSTR Rest)
cmd_free (full);
error_out_of_memory();
nErrorLevel = 1;
return ;
return FALSE;
}
@ -446,7 +446,7 @@ Execute (LPTSTR Full, LPTSTR First, LPTSTR Rest)
cmd_free (full);
cmd_free (szFullName);
nErrorLevel = 1;
return;
return working;
}
/* get the PATH environment variable and parse it */
@ -459,7 +459,7 @@ Execute (LPTSTR Full, LPTSTR First, LPTSTR Rest)
cmd_free (full);
cmd_free (szFullName);
nErrorLevel = 1;
return;
return FALSE;
}
@ -470,7 +470,7 @@ Execute (LPTSTR Full, LPTSTR First, LPTSTR Rest)
if (dot && (!_tcsicmp (dot, _T(".bat")) || !_tcsicmp (dot, _T(".cmd"))))
{
TRACE ("[BATCH: %s %s]\n", debugstr_aw(szFullName), debugstr_aw(rest));
Batch (szFullName, first, rest);
Batch (szFullName, first, rest, FALSE);
}
else
{
@ -554,6 +554,7 @@ Execute (LPTSTR Full, LPTSTR First, LPTSTR Rest)
cmd_free(rest);
cmd_free(full);
cmd_free (szFullName);
return nErrorLevel == 0;
}
@ -566,7 +567,7 @@ Execute (LPTSTR Full, LPTSTR First, LPTSTR Rest)
*
*/
VOID
BOOL
DoCommand (LPTSTR line)
{
TCHAR *com = NULL; /* the first word in the command */
@ -575,6 +576,7 @@ DoCommand (LPTSTR line)
LPTSTR rest; /* pointer to the rest of the command line */
INT cl;
LPCOMMAND cmdptr;
BOOL ret = TRUE;
TRACE ("DoCommand: (\'%s\')\n", debugstr_aw(line));
@ -582,7 +584,7 @@ DoCommand (LPTSTR line)
if (com == NULL)
{
error_out_of_memory();
return;
return FALSE;
}
cp = com;
@ -640,13 +642,13 @@ DoCommand (LPTSTR line)
/* If end of table execute ext cmd */
if (cmdptr->name == NULL)
{
Execute (line, com, rest);
ret = Execute (line, com, rest);
break;
}
if (!_tcscmp (com, cmdptr->name))
{
cmdptr->func (com, rest);
cmdptr->func (rest);
break;
}
@ -667,16 +669,14 @@ DoCommand (LPTSTR line)
{
/* OK its one of the specials...*/
/* Terminate first word properly */
com[cl] = _T('\0');
/* Call with new rest */
cmdptr->func (com, cstart + cl);
cmdptr->func (cstart + cl);
break;
}
}
}
cmd_free(com);
return ret;
}
@ -687,30 +687,28 @@ DoCommand (LPTSTR line)
VOID ParseCommandLine (LPTSTR cmd)
{
TCHAR cmdline[CMDLINE_LENGTH];
LPTSTR s;
PARSED_COMMAND *Cmd = ParseCommand(cmd);
if (Cmd)
{
ExecuteCommand(Cmd);
FreeCommand(Cmd);
}
}
static VOID
ExecutePipeline(PARSED_COMMAND *Cmd)
{
#ifdef FEATURE_REDIRECTION
TCHAR in[CMDLINE_LENGTH] = _T("");
TCHAR out[CMDLINE_LENGTH] = _T("");
TCHAR err[CMDLINE_LENGTH] = _T("");
TCHAR szTempPath[MAX_PATH] = _T(".\\");
TCHAR szFileName[2][MAX_PATH] = {_T(""), _T("")};
HANDLE hFile[2] = {INVALID_HANDLE_VALUE, INVALID_HANDLE_VALUE};
LPTSTR t = NULL;
INT num = 0;
INT nRedirFlags = 0;
INT Length;
UINT Attributes;
BOOL bNewBatch = TRUE;
HANDLE hOldConIn;
HANDLE hOldConOut;
HANDLE hOldConErr;
#endif /* FEATURE_REDIRECTION */
_tcscpy (cmdline, cmd);
s = &cmdline[0];
TRACE ("ParseCommandLine: (\'%s\')\n", debugstr_aw(s));
//TRACE ("ParseCommandLine: (\'%s\')\n", debugstr_aw(s));
#ifdef FEATURE_REDIRECTION
/* find the temp path to store temporary files */
@ -731,72 +729,16 @@ VOID ParseCommandLine (LPTSTR cmd)
if (szTempPath[_tcslen (szTempPath) - 1] != _T('\\'))
_tcscat (szTempPath, _T("\\"));
/* get the redirections from the command line */
num = GetRedirection (s, in, out, err, &nRedirFlags);
/* more efficient, but do we really need to do this? */
for (t = in; _istspace (*t); t++)
;
_tcscpy (in, t);
for (t = out; _istspace (*t); t++)
;
_tcscpy (out, t);
for (t = err; _istspace (*t); t++)
;
_tcscpy (err, t);
if(bc && !_tcslen (in) && _tcslen (bc->In))
_tcscpy(in, bc->In);
if(bc && !out[0] && _tcslen(bc->Out))
{
nRedirFlags |= OUTPUT_APPEND;
_tcscpy(out, bc->Out);
}
if(bc && !_tcslen (err) && _tcslen (bc->Err))
{
nRedirFlags |= ERROR_APPEND;
_tcscpy(err, bc->Err);
}
/* Set up the initial conditions ... */
/* preserve STDIN, STDOUT and STDERR handles */
/* preserve STDIN and STDOUT handles */
hOldConIn = GetStdHandle (STD_INPUT_HANDLE);
hOldConOut = GetStdHandle (STD_OUTPUT_HANDLE);
hOldConErr = GetStdHandle (STD_ERROR_HANDLE);
/* redirect STDIN */
if (in[0])
{
HANDLE hFile;
SECURITY_ATTRIBUTES sa = {sizeof(SECURITY_ATTRIBUTES), NULL, TRUE};
/* we need make sure the LastError msg is zero before calling CreateFile */
SetLastError(0);
/* Set up pipe for the standard input handler */
hFile = CreateFile (in, GENERIC_READ, FILE_SHARE_READ, &sa, OPEN_EXISTING,
FILE_ATTRIBUTE_NORMAL, NULL);
if (hFile == INVALID_HANDLE_VALUE)
{
ConErrResPrintf(STRING_CMD_ERROR1, in);
return;
}
if (!SetStdHandle (STD_INPUT_HANDLE, hFile))
{
ConErrResPrintf(STRING_CMD_ERROR1, in);
return;
}
TRACE ("Input redirected from: %s\n", debugstr_aw(in));
}
/* Now do all but the last pipe command */
*szFileName[0] = _T('\0');
hFile[0] = INVALID_HANDLE_VALUE;
while (num-- > 1)
while (Cmd->Type == C_PIPE)
{
SECURITY_ATTRIBUTES sa = {sizeof(SECURITY_ATTRIBUTES), NULL, TRUE};
@ -818,7 +760,7 @@ VOID ParseCommandLine (LPTSTR cmd)
SetStdHandle (STD_OUTPUT_HANDLE, hFile[1]);
DoCommand (s);
ExecuteCommand(Cmd->Subcommands);
/* close stdout file */
SetStdHandle (STD_OUTPUT_HANDLE, hOldConOut);
@ -851,138 +793,18 @@ VOID ParseCommandLine (LPTSTR cmd)
OPEN_EXISTING, FILE_ATTRIBUTE_TEMPORARY, NULL);
SetStdHandle (STD_INPUT_HANDLE, hFile[0]);
s = s + _tcslen (s) + 1;
Cmd = Cmd->Subcommands->Next;
}
/* Now set up the end conditions... */
/* redirect STDOUT */
if (out[0])
{
/* Final output to here */
HANDLE hFile;
SECURITY_ATTRIBUTES sa = {sizeof(SECURITY_ATTRIBUTES), NULL, TRUE};
SetStdHandle(STD_OUTPUT_HANDLE, hOldConOut);
/* we need make sure the LastError msg is zero before calling CreateFile */
SetLastError(0);
hFile = CreateFile (out, GENERIC_WRITE, FILE_SHARE_WRITE | FILE_SHARE_READ | FILE_SHARE_DELETE, &sa,
(nRedirFlags & OUTPUT_APPEND) ? OPEN_ALWAYS : CREATE_ALWAYS,
FILE_ATTRIBUTE_NORMAL | FILE_FLAG_WRITE_THROUGH, NULL);
if (hFile == INVALID_HANDLE_VALUE)
{
INT size = _tcslen(out)-1;
if (out[size] != _T(':'))
{
ConErrResPrintf(STRING_CMD_ERROR3, out);
return;
}
out[size]=_T('\0');
hFile = CreateFile (out, GENERIC_WRITE, FILE_SHARE_WRITE | FILE_SHARE_READ | FILE_SHARE_DELETE, &sa,
(nRedirFlags & OUTPUT_APPEND) ? OPEN_ALWAYS : CREATE_ALWAYS,
FILE_ATTRIBUTE_NORMAL | FILE_FLAG_WRITE_THROUGH, NULL);
if (hFile == INVALID_HANDLE_VALUE)
{
ConErrResPrintf(STRING_CMD_ERROR3, out);
return;
}
}
if (!SetStdHandle (STD_OUTPUT_HANDLE, hFile))
{
ConErrResPrintf(STRING_CMD_ERROR3, out);
return;
}
if (nRedirFlags & OUTPUT_APPEND)
{
LONG lHighPos = 0;
if (GetFileType (hFile) == FILE_TYPE_DISK)
SetFilePointer (hFile, 0, &lHighPos, FILE_END);
}
TRACE ("Output redirected to: %s\n", debugstr_aw(out));
}
else if (hOldConOut != INVALID_HANDLE_VALUE)
{
/* Restore original stdout */
HANDLE hOut = GetStdHandle (STD_OUTPUT_HANDLE);
SetStdHandle (STD_OUTPUT_HANDLE, hOldConOut);
if (hOldConOut != hOut)
CloseHandle (hOut);
hOldConOut = INVALID_HANDLE_VALUE;
}
/* redirect STDERR */
if (err[0])
{
/* Final output to here */
HANDLE hFile;
SECURITY_ATTRIBUTES sa = {sizeof(SECURITY_ATTRIBUTES), NULL, TRUE};
if (!_tcscmp (err, out))
{
TRACE ("Stdout and stderr will use the same file!!\n");
DuplicateHandle (GetCurrentProcess (),
GetStdHandle (STD_OUTPUT_HANDLE),
GetCurrentProcess (),
&hFile, 0, TRUE, DUPLICATE_SAME_ACCESS);
}
else
{
hFile = CreateFile (err,
GENERIC_WRITE,
FILE_SHARE_WRITE | FILE_SHARE_READ | FILE_SHARE_DELETE,
&sa,
(nRedirFlags & ERROR_APPEND) ? OPEN_ALWAYS : CREATE_ALWAYS,
FILE_ATTRIBUTE_NORMAL | FILE_FLAG_WRITE_THROUGH,
NULL);
if (hFile == INVALID_HANDLE_VALUE)
{
ConErrResPrintf(STRING_CMD_ERROR3, err);
return;
}
}
if (!SetStdHandle (STD_ERROR_HANDLE, hFile))
{
ConErrResPrintf(STRING_CMD_ERROR3, err);
return;
}
if (nRedirFlags & ERROR_APPEND)
{
LONG lHighPos = 0;
if (GetFileType (hFile) == FILE_TYPE_DISK)
SetFilePointer (hFile, 0, &lHighPos, FILE_END);
}
TRACE ("Error redirected to: %s\n", debugstr_aw(err));
}
else if (hOldConErr != INVALID_HANDLE_VALUE)
{
/* Restore original stderr */
HANDLE hErr = GetStdHandle (STD_ERROR_HANDLE);
SetStdHandle (STD_ERROR_HANDLE, hOldConErr);
if (hOldConErr != hErr)
CloseHandle (hErr);
hOldConErr = INVALID_HANDLE_VALUE;
}
if(bc)
bNewBatch = FALSE;
#endif
/* process final command */
DoCommand (s);
ExecuteCommand(Cmd);
#ifdef FEATURE_REDIRECTION
if(bNewBatch && bc)
AddBatchRedirection(in, out, err);
/* close old stdin file */
#if 0 /* buggy implementation */
SetStdHandle (STD_INPUT_HANDLE, hOldConIn);
@ -1038,30 +860,55 @@ VOID ParseCommandLine (LPTSTR cmd)
}
}
}
/* Restore original STDOUT */
if (hOldConOut != INVALID_HANDLE_VALUE)
{
HANDLE hOut = GetStdHandle (STD_OUTPUT_HANDLE);
SetStdHandle (STD_OUTPUT_HANDLE, hOldConOut);
if (hOldConOut != hOut)
CloseHandle (hOut);
hOldConOut = INVALID_HANDLE_VALUE;
}
/* Restore original STDERR */
if (hOldConErr != INVALID_HANDLE_VALUE)
{
HANDLE hErr = GetStdHandle (STD_ERROR_HANDLE);
SetStdHandle (STD_ERROR_HANDLE, hOldConErr);
if (hOldConErr != hErr)
CloseHandle (hErr);
hOldConErr = INVALID_HANDLE_VALUE;
}
#endif /* FEATURE_REDIRECTION */
}
BOOL
ExecuteCommand(PARSED_COMMAND *Cmd)
{
BOOL bNewBatch = TRUE;
PARSED_COMMAND *Sub;
BOOL Success = TRUE;
if (!PerformRedirection(Cmd->Redirections))
return FALSE;
switch (Cmd->Type)
{
case C_COMMAND:
if(bc)
bNewBatch = FALSE;
Success = DoCommand(Cmd->CommandLine);
if(bNewBatch && bc)
AddBatchRedirection(&Cmd->Redirections);
break;
case C_QUIET:
case C_BLOCK:
case C_MULTI:
for (Sub = Cmd->Subcommands; Sub; Sub = Sub->Next)
Success = ExecuteCommand(Sub);
break;
case C_IFFAILURE:
case C_IFSUCCESS:
Sub = Cmd->Subcommands;
Success = ExecuteCommand(Sub);
if (Success == (Cmd->Type - C_IFFAILURE))
{
Sub = Sub->Next;
Success = ExecuteCommand(Sub);
}
break;
case C_PIPE:
ExecutePipeline(Cmd);
break;
}
UndoRedirection(Cmd->Redirections, NULL);
return Success;
}
BOOL
GrowIfNecessary_dbg ( UINT needed, LPTSTR* ret, UINT* retlen, const char *file, int line )
{
@ -1177,14 +1024,16 @@ GetEnvVarOrSpecial ( LPCTSTR varName )
return NULL;
}
LPCTSTR
GetBatchVar ( LPCTSTR varName, UINT* varNameLen )
{
static LPTSTR ret = NULL;
static UINT retlen = 0;
DWORD len;
if ( varNameLen )
*varNameLen = 1;
*varNameLen = 1;
switch ( *varName )
{
@ -1192,10 +1041,35 @@ GetBatchVar ( LPCTSTR varName, UINT* varNameLen )
varName++;
if (_tcsncicmp(varName, _T("dp0"), 3) == 0)
{
if ( varNameLen )
*varNameLen = 4;
return bc->BatchFilePath;
*varNameLen = 4;
len = _tcsrchr(bc->BatchFilePath, _T('\\')) + 1 - bc->BatchFilePath;
if (!GrowIfNecessary(len + 1, &ret, &retlen))
return NULL;
memcpy(ret, bc->BatchFilePath, len * sizeof(TCHAR));
ret[len] = _T('\0');
return ret;
}
*varNameLen = 2;
if (*varName >= _T('0') && *varName <= _T('9')) {
LPTSTR arg = FindArg(*varName - _T('0'));
if (*arg != _T('"'))
return arg;
/* Exclude the leading and trailing quotes */
arg++;
len = _tcslen(arg);
if (arg[len - 1] == _T('"'))
len--;
if (!GrowIfNecessary(len + 1, &ret, &retlen))
return NULL;
memcpy(ret, arg, len * sizeof(TCHAR));
ret[len] = _T('\0');
return ret;
}
break;
case _T('0'):
case _T('1'):
case _T('2'):
@ -1216,16 +1090,6 @@ GetBatchVar ( LPCTSTR varName, UINT* varNameLen )
case _T('%'):
return _T("%");
case _T('?'):
/* TODO FIXME 10 is only max size for 32-bit */
if ( !GrowIfNecessary ( 11, &ret, &retlen ) )
return NULL;
_sntprintf ( ret, retlen, _T("%u"), nErrorLevel);
ret[retlen-1] = 0;
if ( varNameLen )
*varNameLen = 1;
return ret;
}
return NULL;
}
@ -1389,60 +1253,86 @@ too_long:
*
*/
BOOL bNoInteractive;
BOOL bIsBatch;
BOOL
ReadLine (TCHAR *commandline, BOOL bMore)
{
TCHAR readline[CMDLINE_LENGTH];
LPTSTR ip;
/* if no batch input then... */
if (!(ip = ReadBatchLine()))
{
if (bNoInteractive)
{
bExit = TRUE;
return FALSE;
}
if (bMore)
{
ConOutPrintf(_T("More? "));
}
else
{
/* JPP 19980807 - if echo off, don't print prompt */
if (bEcho)
PrintPrompt();
}
ReadCommand (readline, CMDLINE_LENGTH - 1);
if (CheckCtrlBreak(BREAK_INPUT))
{
ConOutPuts(_T("\n"));
return FALSE;
}
ip = readline;
bIsBatch = FALSE;
}
else
{
bIsBatch = TRUE;
}
if (!SubstituteVars(ip, commandline, _T('%'), bIsBatch))
return FALSE;
/* FIXME: !vars! should be substituted later, after parsing. */
if (!SubstituteVars(commandline, readline, _T('!'), bIsBatch))
return FALSE;
_tcscpy(commandline, readline);
return TRUE;
}
static INT
ProcessInput (BOOL bFlag)
{
TCHAR commandline[CMDLINE_LENGTH];
TCHAR readline[CMDLINE_LENGTH];
LPTSTR ip;
BOOL bEchoThisLine;
BOOL bIsBatch;
PARSED_COMMAND *Cmd;
bNoInteractive = bFlag;
do
{
/* if no batch input then... */
if (!(ip = ReadBatchLine (&bEchoThisLine)))
{
if (bFlag)
return nErrorLevel;
ReadCommand (readline, CMDLINE_LENGTH);
ip = readline;
bEchoThisLine = FALSE;
bIsBatch = FALSE;
}
else
{
bIsBatch = TRUE;
}
/* skip leading blanks */
while ( _istspace(*ip) )
++ip;
if (!SubstituteVars(ip, commandline, _T('%'), bIsBatch))
Cmd = ParseCommand(NULL);
if (!Cmd)
continue;
/* JPP 19980807 */
/* Echo batch file line */
if (bEchoThisLine)
if (bIsBatch && bEcho && Cmd->Type != C_QUIET)
{
PrintPrompt ();
ConOutPuts (commandline);
EchoCommand(Cmd);
ConOutChar(_T('\n'));
}
/* FIXME: !vars! should be substituted later, after parsing. */
if (!SubstituteVars(commandline, readline, _T('!'), bIsBatch))
continue;
_tcscpy(commandline, readline);
if (!CheckCtrlBreak(BREAK_INPUT) && *commandline)
{
ParseCommandLine (commandline);
if (bEcho && !bIgnoreEcho && (!bIsBatch || bEchoThisLine))
ConOutChar ('\n');
bIgnoreEcho = FALSE;
}
ExecuteCommand(Cmd);
if (bEcho && !bIgnoreEcho && (!bIsBatch || Cmd->Type != C_QUIET))
ConOutChar ('\n');
FreeCommand(Cmd);
bIgnoreEcho = FALSE;
}
while (!bCanExit || !bExit);
@ -1665,10 +1555,10 @@ Initialize (int argc, const TCHAR* argv[])
if (!IsExistingFile (_T("\\autoexec.bat")))
{
#ifdef INCLUDE_CMD_DATE
cmd_date (_T(""), _T(""));
cmd_date (_T(""));
#endif
#ifdef INCLUDE_CMD_TIME
cmd_time (_T(""), _T(""));
cmd_time (_T(""));
#endif
}
else

View file

@ -68,39 +68,42 @@ extern OSVERSIONINFO osvi;
/* Prototypes for ALIAS.C */
VOID ExpandAlias (LPTSTR, INT);
INT CommandAlias (LPTSTR, LPTSTR);
INT CommandAlias (LPTSTR);
/* Prototypes for ATTRIB.C */
INT CommandAttrib (LPTSTR, LPTSTR);
INT CommandAttrib (LPTSTR);
/* Prototypes for BEEP.C */
INT cmd_beep (LPTSTR, LPTSTR);
INT cmd_beep (LPTSTR);
/* Prototypes for CALL.C */
INT cmd_call (LPTSTR, LPTSTR);
INT cmd_call (LPTSTR);
/* Prototypes for CHCP.C */
INT CommandChcp (LPTSTR, LPTSTR);
INT CommandChcp (LPTSTR);
/* Prototypes for CHOICE.C */
INT CommandChoice (LPTSTR, LPTSTR);
INT CommandChoice (LPTSTR);
/* Prototypes for CLS.C */
INT cmd_cls (LPTSTR, LPTSTR);
INT cmd_cls (LPTSTR);
/* Prototypes for CMD.C */
INT ConvertULargeInteger (ULARGE_INTEGER num, LPTSTR des, INT len, BOOL bPutSeperator);
VOID ParseCommandLine (LPTSTR);
struct _PARSED_COMMAND;
BOOL ExecuteCommand(struct _PARSED_COMMAND *Cmd);
LPCTSTR GetEnvVarOrSpecial ( LPCTSTR varName );
VOID AddBreakHandler (VOID);
VOID RemoveBreakHandler (VOID);
VOID DoCommand (LPTSTR line);
BOOL DoCommand (LPTSTR line);
BOOL ReadLine(TCHAR *commandline, BOOL bMore);
int cmd_main (int argc, const TCHAR *argv[]);
extern HANDLE CMD_ModuleHandle;
@ -119,7 +122,7 @@ typedef struct tagCOMMAND
{
LPTSTR name;
INT flags;
INT (*func) (LPTSTR, LPTSTR);
INT (*func)(LPTSTR);
} COMMAND, *LPCOMMAND;
extern COMMAND cmds[]; /* The internal command table */
@ -132,7 +135,7 @@ LPCTSTR GetParsedEnvVar ( LPCTSTR varName, UINT* varNameLen, BOOL ModeSetA );
/* Prototypes for COLOR.C */
VOID SetScreenColor(WORD wArgColor, BOOL bFill);
INT CommandColor (LPTSTR, LPTSTR);
INT CommandColor (LPTSTR);
VOID ConInDummy (VOID);
VOID ConInDisable (VOID);
@ -166,39 +169,39 @@ VOID ConErrResPrintf (UINT resID, ...);
VOID ConOutResPaging(BOOL NewPage, UINT resID);
/* Prototypes for COPY.C */
INT cmd_copy (LPTSTR, LPTSTR);
INT cmd_copy (LPTSTR);
/* Prototypes for DATE.C */
INT cmd_date (LPTSTR, LPTSTR);
INT cmd_date (LPTSTR);
/* Prototypes for DEL.C */
INT CommandDelete (LPTSTR, LPTSTR);
INT CommandDelete (LPTSTR);
/* Prototypes for DELAY.C */
INT CommandDelay (LPTSTR, LPTSTR);
INT CommandDelay (LPTSTR);
/* Prototypes for DIR.C */
INT CommandDir (LPTSTR, LPTSTR);
INT CommandDir (LPTSTR);
/* Prototypes for DIRSTACK.C */
VOID InitDirectoryStack (VOID);
VOID DestroyDirectoryStack (VOID);
INT GetDirectoryStackDepth (VOID);
INT CommandPushd (LPTSTR, LPTSTR);
INT CommandPopd (LPTSTR, LPTSTR);
INT CommandDirs (LPTSTR, LPTSTR);
INT CommandPushd (LPTSTR);
INT CommandPopd (LPTSTR);
INT CommandDirs (LPTSTR);
/* Prototypes for ECHO.C */
INT CommandEcho (LPTSTR, LPTSTR);
INT CommandEchos (LPTSTR, LPTSTR);
INT CommandEchoerr (LPTSTR, LPTSTR);
INT CommandEchoserr (LPTSTR, LPTSTR);
INT CommandEcho (LPTSTR);
INT CommandEchos (LPTSTR);
INT CommandEchoerr (LPTSTR);
INT CommandEchoserr (LPTSTR);
/* Prototypes for ERROR.C */
@ -232,15 +235,15 @@ VOID CompleteFilename (LPTSTR, BOOL, LPTSTR, UINT);
/* Prototypes for FOR.C */
INT cmd_for (LPTSTR, LPTSTR);
INT cmd_for (LPTSTR);
/* Prototypes for FREE.C */
INT CommandFree (LPTSTR, LPTSTR);
INT CommandFree (LPTSTR);
/* Prototypes for GOTO.C */
INT cmd_goto (LPTSTR, LPTSTR);
INT cmd_goto (LPTSTR);
/* Prototypes for HISTORY.C */
@ -251,23 +254,23 @@ VOID History_move_to_bottom(VOID);/*F3*/
VOID InitHistory(VOID);
VOID CleanHistory(VOID);
VOID History_del_current_entry(LPTSTR str);/*CTRL-D*/
INT CommandHistory (LPTSTR cmd, LPTSTR param);
INT CommandHistory (LPTSTR param);
#endif
/* Prototypes for INTERNAL.C */
VOID InitLastPath (VOID);
VOID FreeLastPath (VOID);
INT cmd_chdir (LPTSTR, LPTSTR);
INT cmd_mkdir (LPTSTR, LPTSTR);
INT cmd_rmdir (LPTSTR, LPTSTR);
INT CommandExit (LPTSTR, LPTSTR);
INT CommandRem (LPTSTR, LPTSTR);
INT CommandShowCommands (LPTSTR, LPTSTR);
INT CommandShowCommandsDetail (LPTSTR, LPTSTR);
INT cmd_chdir (LPTSTR);
INT cmd_mkdir (LPTSTR);
INT cmd_rmdir (LPTSTR);
INT CommandExit (LPTSTR);
INT CommandRem (LPTSTR);
INT CommandShowCommands (LPTSTR);
INT CommandShowCommandsDetail (LPTSTR);
/* Prototypes for LABEL.C */
INT cmd_label (LPTSTR, LPTSTR);
INT cmd_label (LPTSTR);
/* Prototypes for LOCALE.C */
@ -289,7 +292,7 @@ extern UINT InputCodePage;
extern UINT OutputCodePage;
/* Prototypes for MEMORY.C */
INT CommandMemory (LPTSTR, LPTSTR);
INT CommandMemory (LPTSTR);
/* Prototypes for MISC.C */
@ -301,6 +304,7 @@ BOOL add_entry (LPINT ac, LPTSTR **arg, LPCTSTR entry);
LPTSTR *split (LPTSTR, LPINT, BOOL);
VOID freep (LPTSTR *);
LPTSTR _stpcpy (LPTSTR, LPCTSTR);
VOID StripQuotes(LPTSTR);
BOOL IsValidPathName (LPCTSTR);
BOOL IsExistingFile (LPCTSTR);
BOOL IsExistingDirectory (LPCTSTR);
@ -318,50 +322,73 @@ INT FilePromptYNA (UINT);
/* Prototypes for MOVE.C */
INT cmd_move (LPTSTR, LPTSTR);
INT cmd_move (LPTSTR);
/* Prototypes for MSGBOX.C */
INT CommandMsgbox (LPTSTR, LPTSTR);
INT CommandMsgbox (LPTSTR);
/* Prototypes from PARSER.C */
enum { C_COMMAND, C_QUIET, C_BLOCK, C_MULTI, C_IFFAILURE, C_IFSUCCESS, C_PIPE };
typedef struct _PARSED_COMMAND
{
struct _PARSED_COMMAND *Subcommands;
struct _PARSED_COMMAND *Next;
struct _REDIRECTION *Redirections;
TCHAR *Tail;
BYTE Type;
TCHAR CommandLine[];
} PARSED_COMMAND;
PARSED_COMMAND *ParseCommand(LPTSTR Line);
VOID EchoCommand(PARSED_COMMAND *Cmd);
VOID FreeCommand(PARSED_COMMAND *Cmd);
/* Prototypes from PATH.C */
INT cmd_path (LPTSTR, LPTSTR);
INT cmd_path (LPTSTR);
/* Prototypes from PROMPT.C */
VOID PrintPrompt (VOID);
INT cmd_prompt (LPTSTR, LPTSTR);
INT cmd_prompt (LPTSTR);
/* Prototypes for REDIR.C */
#define INPUT_REDIRECTION 1
#define OUTPUT_REDIRECTION 2
#define OUTPUT_APPEND 4
#define ERROR_REDIRECTION 8
#define ERROR_APPEND 16
INT GetRedirection (LPTSTR, LPTSTR, LPTSTR, LPTSTR, LPINT);
enum { REDIR_READ, REDIR_WRITE, REDIR_APPEND };
typedef struct _REDIRECTION
{
struct _REDIRECTION *Next;
HANDLE OldHandle;
BYTE Number;
BYTE Type;
TCHAR Filename[];
} REDIRECTION;
BOOL PerformRedirection(REDIRECTION *);
VOID UndoRedirection(REDIRECTION *, REDIRECTION *End);
INT GetRedirection(LPTSTR, REDIRECTION **);
VOID FreeRedirection(REDIRECTION *);
/* Prototypes for REN.C */
INT cmd_rename (LPTSTR, LPTSTR);
INT cmd_rename (LPTSTR);
/* Prototypes for REN.C */
INT cmd_replace (LPTSTR, LPTSTR);
INT cmd_replace (LPTSTR);
/* Prototypes for SCREEN.C */
INT CommandScreen (LPTSTR, LPTSTR);
INT CommandScreen (LPTSTR);
/* Prototypes for SET.C */
INT cmd_set (LPTSTR, LPTSTR);
INT cmd_set (LPTSTR);
/* Prototypes for SETLOCAL.C */
INT cmd_setlocal (LPTSTR, LPTSTR);
INT cmd_endlocal (LPTSTR, LPTSTR);
INT cmd_setlocal (LPTSTR);
INT cmd_endlocal (LPTSTR);
/* Prototypes for START.C */
INT cmd_start (LPTSTR, LPTSTR);
INT cmd_start (LPTSTR);
/* Prototypes for STRTOCLR.C */
@ -369,45 +396,45 @@ BOOL StringToColor (LPWORD, LPTSTR *);
/* Prototypes for TIME.C */
INT cmd_time (LPTSTR, LPTSTR);
INT cmd_time (LPTSTR);
/* Prototypes for TIMER.C */
INT CommandTimer (LPTSTR cmd, LPTSTR param);
INT CommandTimer (LPTSTR param);
/* Prototypes for TITLE.C */
INT cmd_title (LPTSTR, LPTSTR);
INT cmd_title (LPTSTR);
/* Prototypes for TYPE.C */
INT cmd_type (LPTSTR, LPTSTR);
INT cmd_type (LPTSTR);
/* Prototypes for VER.C */
VOID ShortVersion (VOID);
INT cmd_ver (LPTSTR, LPTSTR);
INT cmd_ver (LPTSTR);
/* Prototypes for VERIFY.C */
INT cmd_verify (LPTSTR, LPTSTR);
INT cmd_verify (LPTSTR);
/* Prototypes for VOL.C */
INT cmd_vol (LPTSTR, LPTSTR);
INT cmd_vol (LPTSTR);
/* Prototypes for WHERE.C */
BOOL SearchForExecutable (LPCTSTR, LPTSTR);
/* Prototypes for WINDOW.C */
INT CommandActivate (LPTSTR, LPTSTR);
INT CommandWindow (LPTSTR, LPTSTR);
INT CommandActivate (LPTSTR);
INT CommandWindow (LPTSTR);
/* The MSDOS Batch Commands [MS-DOS 5.0 User's Guide and Reference p359] */
int cmd_if(TCHAR *, TCHAR *);
int cmd_pause(TCHAR *, TCHAR *);
int cmd_shift(TCHAR *, TCHAR *);
int cmd_if(TCHAR *);
int cmd_pause(TCHAR *);
int cmd_shift(TCHAR *);
#endif /* _CMD_H_INCLUDED_ */

View file

@ -44,6 +44,7 @@
<file>misc.c</file>
<file>move.c</file>
<file>msgbox.c</file>
<file>parser.c</file>
<file>path.c</file>
<file>pause.c</file>
<file>prompt.c</file>

View file

@ -152,10 +152,6 @@ VOID ReadCommand (LPTSTR str, INT maxlen)
/* get screen size */
GetScreenSize (&maxx, &maxy);
/* JPP 19980807 - if echo off, don't print prompt */
if (bEcho)
PrintPrompt();
GetCursorXY (&orgx, &orgy);
GetCursorXY (&curx, &cury);
@ -431,6 +427,8 @@ VOID ReadCommand (LPTSTR str, INT maxlen)
if (str[0])
History (0, str);
#endif
str[charcount++] = _T('\n');
str[charcount] = _T('\0');
ConInDummy ();
ConOutChar (_T('\n'));
bReturn = TRUE;

View file

@ -93,11 +93,9 @@ COMMAND cmds[] =
{_T("dirs"), 0, CommandDirs},
#endif
{_T("echo"), 0, CommandEcho},
{_T("echo."), CMD_HIDE, CommandEcho},
{_T("echo"), CMD_SPECIAL, CommandEcho},
{_T("echos"), 0, CommandEchos},
{_T("echoerr"), 0, CommandEchoerr},
{_T("echoerr."), CMD_HIDE, CommandEchoerr},
{_T("echoerr"), CMD_SPECIAL, CommandEchoerr},
{_T("echoserr"), 0, CommandEchoserr},
{_T("endlocal"), 0, cmd_endlocal},

View file

@ -63,7 +63,7 @@ VOID SetScreenColor (WORD wColor, BOOL bNoFill)
*
* internal dir command
*/
INT CommandColor (LPTSTR first, LPTSTR rest)
INT CommandColor (LPTSTR rest)
{
if (_tcsncmp (rest, _T("/?"), 2) == 0)
{

View file

@ -290,7 +290,7 @@ static INT CopyOverwrite (LPTSTR fn)
}
INT cmd_copy (LPTSTR cmd, LPTSTR param)
INT cmd_copy (LPTSTR param)
{
LPTSTR *arg;
INT argc, i, nFiles, nOverwrite = 0, nSrc = -1, nDes = -1;

View file

@ -176,7 +176,7 @@ ParseDate (LPTSTR s)
}
INT cmd_date (LPTSTR cmd, LPTSTR param)
INT cmd_date (LPTSTR param)
{
LPTSTR *arg;
INT argc;

View file

@ -354,7 +354,7 @@ ProcessDirectory(LPTSTR FileName, DWORD* dwFlags, DWORD dwAttrFlags)
INT CommandDelete (LPTSTR cmd, LPTSTR param)
INT CommandDelete (LPTSTR param)
{
/*cmd is the command that was given, in this case it will always be "del" or "delete"
param is whatever is given after the command*/

View file

@ -14,7 +14,7 @@
#ifdef INCLUDE_CMD_DELAY
INT CommandDelay (LPTSTR cmd, LPTSTR param)
INT CommandDelay (LPTSTR param)
{
DWORD val;
DWORD mul=1000;

View file

@ -1789,7 +1789,7 @@ ULARGE_INTEGER u64Temp; /* A temporary counter */
* internal dir command
*/
INT
CommandDir(LPTSTR first, LPTSTR rest)
CommandDir(LPTSTR rest)
{
TCHAR dircmd[256]; /* A variable to store the DIRCMD enviroment variable */
TCHAR path[MAX_PATH];

View file

@ -140,7 +140,7 @@ INT GetDirectoryStackDepth (VOID)
/*
* pushd command
*/
INT CommandPushd (LPTSTR first, LPTSTR rest)
INT CommandPushd (LPTSTR rest)
{
TCHAR curPath[MAX_PATH];
TCHAR newPath[MAX_PATH];
@ -174,7 +174,7 @@ INT CommandPushd (LPTSTR first, LPTSTR rest)
/*
* popd command
*/
INT CommandPopd (LPTSTR first, LPTSTR rest)
INT CommandPopd (LPTSTR rest)
{
TCHAR szPath[MAX_PATH];
@ -201,7 +201,7 @@ INT CommandPopd (LPTSTR first, LPTSTR rest)
/*
* dirs command
*/
INT CommandDirs (LPTSTR first, LPTSTR rest)
INT CommandDirs (LPTSTR rest)
{
LPDIRENTRY lpDir;

View file

@ -29,24 +29,11 @@
#include <precomp.h>
INT CommandEcho (LPTSTR cmd, LPTSTR param)
INT CommandEcho (LPTSTR param)
{
LPTSTR p1, p2;
TRACE ("CommandEcho '%s' : '%s'\n", debugstr_aw(cmd), debugstr_aw(param));
if (_tcsicmp (cmd, _T("echo.")) == 0)
{
if (param[0] == 0)
ConOutChar (_T('\n'));
else
ConOutPuts (param);
}
else
{
/* skip the first delimiter */
if (_istspace(*param))
param++;
TRACE ("CommandEcho: '%s'\n", debugstr_aw(param));
/* skip all spaces for the check of '/?', 'ON' and 'OFF' */
p1 = param;
@ -83,32 +70,22 @@ INT CommandEcho (LPTSTR cmd, LPTSTR param)
}
if (*p1 != _T('\0'))
{
p1 = param;
while (NULL != (p1 = _tcschr(p1, _T('^'))))
{
memmove(p1, p1 + 1, (_tcslen(p1 + 1) + 1) * sizeof(TCHAR));
if (*p1)
{
//skip past the char being escaped
p1++;
}
}
ConOutPuts (param);
/* skip the first character */
ConOutPuts(param + 1);
}
else
{
ConOutResPrintf(STRING_ECHO_HELP5, bEcho ? D_ON : D_OFF);
}
}
return 0;
}
INT CommandEchos (LPTSTR cmd, LPTSTR param)
INT CommandEchos (LPTSTR param)
{
TRACE ("CommandEchos '%s' : '%s'\n", debugstr_aw(cmd), debugstr_aw(param));
TRACE ("CommandEchos: '%s'\n", debugstr_aw(param));
if (!_tcsncmp (param, _T("/?"), 2))
{
@ -123,10 +100,10 @@ INT CommandEchos (LPTSTR cmd, LPTSTR param)
}
INT CommandEchoerr (LPTSTR cmd, LPTSTR param)
INT CommandEchoerr (LPTSTR param)
{
TRACE ("CommandEchoerr '%s' : '%s'\n", debugstr_aw(cmd), debugstr_aw(param));
TRACE ("CommandEchoerr: '%s'\n", debugstr_aw(param));
if (!_tcsncmp (param, _T("/?"), 2))
{
@ -134,26 +111,16 @@ INT CommandEchoerr (LPTSTR cmd, LPTSTR param)
return 0;
}
if (_tcsicmp (cmd, _T("echoerr.")) == 0)
{
if (param[0] == 0)
ConErrChar (_T('\n'));
else
ConErrPuts (param);
}
else if (*param)
{
ConErrPuts (param);
}
ConErrPuts (param);
return 0;
}
INT CommandEchoserr (LPTSTR cmd, LPTSTR param)
INT CommandEchoserr (LPTSTR param)
{
TRACE ("CommandEchoserr '%s' : '%s'\n", debugstr_aw(cmd), debugstr_aw(param));
TRACE ("CommandEchoserr: '%s'\n", debugstr_aw(param));
if (!_tcsncmp (param, _T("/?"), 2))
{

View file

@ -47,14 +47,14 @@
* per list element.
*/
INT cmd_for (LPTSTR cmd, LPTSTR param)
INT cmd_for (LPTSTR param)
{
LPBATCH_CONTEXT lpNew;
LPTSTR pp;
TCHAR var;
TCHAR szMsg[RC_STRING_MAX_SIZE];
TRACE ("cmd_for (\'%s\', \'%s\'\n", debugstr_aw(cmd), debugstr_aw(param));
TRACE ("cmd_for (\'%s\')\n", debugstr_aw(param));
if (!_tcsncmp (param, _T("/?"), 2))
{
@ -138,9 +138,7 @@ INT cmd_for (LPTSTR cmd, LPTSTR param)
bc->bEcho = bc->prev->bEcho;
else
bc->bEcho = bEcho;
bc->In[0] = _T('\0');
bc->Out[0] = _T('\0');
bc->Err[0] = _T('\0');
bc->RedirList = NULL;
return 0;

View file

@ -84,7 +84,7 @@ PrintDiskInfo (LPTSTR szDisk)
}
INT CommandFree (LPTSTR cmd, LPTSTR param)
INT CommandFree (LPTSTR param)
{
LPTSTR szParam;
TCHAR szDefPath[MAX_PATH];

View file

@ -36,13 +36,13 @@
*
*/
INT cmd_goto (LPTSTR cmd, LPTSTR param)
INT cmd_goto (LPTSTR param)
{
TCHAR szMsg[RC_STRING_MAX_SIZE];
LPTSTR tmp, tmp2;
LONG lNewPosHigh = 0;
TRACE ("cmd_goto (\'%s\', \'%s\'\n", debugstr_aw(cmd), debugstr_aw(param));
TRACE ("cmd_goto (\'%s\')\n", debugstr_aw(param));
if (!_tcsncmp (param, _T("/?"), 2))
{
@ -75,15 +75,7 @@ INT cmd_goto (LPTSTR cmd, LPTSTR param)
/* jump to end of the file */
if ( _tcsicmp( param, _T(":eof"))==0)
{
/* when lCallPosition != 0 we have to return to the caller */
if (bc->lCallPosition == 0)
SetFilePointer (bc->hBatchFile, 0, &lNewPosHigh, FILE_END);
else
{
SetFilePointer (bc->hBatchFile, (LONG)bc->lCallPosition, &bc->lCallPositionHigh, FILE_BEGIN);
bc->lCallPosition = 0;
bc->lCallPositionHigh = 0;
}
SetFilePointer (bc->hBatchFile, 0, &lNewPosHigh, FILE_END);
return 0;
}

View file

@ -74,7 +74,7 @@ VOID set_size(INT new_size);
INT CommandHistory (LPTSTR cmd, LPTSTR param)
INT CommandHistory (LPTSTR param)
{
LPTSTR tmp;
INT tmp_int;

View file

@ -36,12 +36,12 @@
#define X_EXEC 1
#define X_EMPTY 0x80
INT cmd_if (LPTSTR cmd, LPTSTR param)
INT cmd_if (LPTSTR param)
{
INT x_flag = 0; /* when set cause 'then' clause to be executed */
LPTSTR pp;
TRACE ("cmd_if: (\'%s\', \'%s\')\n", debugstr_aw(cmd), debugstr_aw(param));
TRACE ("cmd_if: (\'%s\')\n", debugstr_aw(param));
if (!_tcsncmp (param, _T("/?"), 2))
{

View file

@ -267,7 +267,7 @@ BOOL SetRootPath(TCHAR *InPath)
* CD / CHDIR
*
*/
INT cmd_chdir (LPTSTR cmd, LPTSTR param)
INT cmd_chdir (LPTSTR param)
{
WIN32_FIND_DATA f;
@ -455,10 +455,9 @@ MakeFullPath(TCHAR * DirPath)
* MD / MKDIR
*
*/
INT cmd_mkdir (LPTSTR cmd, LPTSTR param)
INT cmd_mkdir (LPTSTR param)
{
LPTSTR dir; /* pointer to the directory to change to */
LPTSTR place; /* used to search for the \ when no space is used */
LPTSTR *p = NULL;
INT argc;
nErrorLevel = 0;
@ -469,28 +468,6 @@ INT cmd_mkdir (LPTSTR cmd, LPTSTR param)
}
/* check if there is no space between the command and the path */
if (param[0] == _T('\0'))
{
/* search for the \ or . so that both short & long names will work */
for (place = cmd; *place; place++)
if (*place == _T('.') || *place == _T('\\'))
break;
if (*place)
{
argc = 0;
if (add_entry(&argc, &p, place))
dir = place;
else
dir = NULL;
}
else
/* signal that there are no parameters */
dir = NULL;
}
else
{
p = split (param, &argc, FALSE);
if (argc > 1)
{
@ -501,7 +478,6 @@ INT cmd_mkdir (LPTSTR cmd, LPTSTR param)
}
else
dir = p[0];
}
if (!dir)
{
@ -573,7 +549,7 @@ BOOL DeleteFolder(LPTSTR FileName)
}
return RemoveDirectory(FileName);
}
INT cmd_rmdir (LPTSTR cmd, LPTSTR param)
INT cmd_rmdir (LPTSTR param)
{
TCHAR dir[MAX_PATH]; /* pointer to the directory to change to */
TCHAR ch;
@ -707,7 +683,7 @@ INT cmd_rmdir (LPTSTR cmd, LPTSTR param)
* set the exitflag to true
*
*/
INT CommandExit (LPTSTR cmd, LPTSTR param)
INT CommandExit (LPTSTR param)
{
if (!_tcsncmp (param, _T("/?"), 2))
{
@ -741,7 +717,7 @@ INT CommandExit (LPTSTR cmd, LPTSTR param)
* does nothing
*
*/
INT CommandRem (LPTSTR cmd, LPTSTR param)
INT CommandRem (LPTSTR param)
{
if (!_tcsncmp (param, _T("/?"), 2))
{
@ -753,13 +729,13 @@ INT CommandRem (LPTSTR cmd, LPTSTR param)
#endif /* INCLUDE_CMD_REM */
INT CommandShowCommands (LPTSTR cmd, LPTSTR param)
INT CommandShowCommands (LPTSTR param)
{
PrintCommandList ();
return 0;
}
INT CommandShowCommandsDetail (LPTSTR cmd, LPTSTR param)
INT CommandShowCommandsDetail (LPTSTR param)
{
/* If a param was send, display help of correspondent command */
if (_tcslen(param))

View file

@ -22,7 +22,7 @@
#ifdef INCLUDE_CMD_LABEL
INT cmd_label (LPTSTR cmd, LPTSTR param)
INT cmd_label (LPTSTR param)
{
TCHAR szRootPath[] = _T("A:\\");
TCHAR szLabel[80];

View file

@ -36,6 +36,7 @@ STRING_CALL_HELP, "Chiama un programma batch da un altro.\n\n\
CALL [disco:][percorso]nomefile [Parametri]\n\n\
Parametri Indicano le informazioni richieste per il programma batch."
STRING_CD_HELP, "Cambia la cartella corrente o ne visualizza nome\n\n\
CHDIR [/D][disco:][percorso]\n\
CHDIR[..|.]\n\
@ -89,21 +90,21 @@ CMD [/[C|K] comando][/P][/Q][/T:bf]\n\n\
STRING_COLOR_HELP1, "Definisce i colori predefiniti di primo piano e sfondo.\n\n\
COLOR [attr [/-F]] \n\n\
attr Indica gli attributi di colore per i messaggi su console\n\
/-F Non riempie lo spazio vuoto della consol con gli attributi di colore\n\n\
/-F Non riempie lo spazio vuoto della console con gli attributi di colore\n\n\
Ci sono tre modi per indicare i colori:\n\
1) [bright] nome su [bright] nome (sono necessarie solo le prime tre lettere)\n\
2) decimale su decimale\n\
3) due cifre esadecimali\n\n\
I colori sono:\n\
dec esa name dec esa nome\n\
0 0 Black 8 8 Gray(Bright black)\n\
1 1 Blue 9 9 Bright Blue\n\
2 2 Green 10 A Bright Green\n\
3 3 Cyan 11 B Bright Cyan\n\
4 4 Red 12 C Bright Red\n\
5 5 Magenta 13 D Bright Magenta\n\
6 6 Yellow 14 E Bright Yellow\n\
7 7 White 15 F Bright White\n"
0 0 Nero 8 8 Grigio (Nero acceso)\n\
1 1 Blu 9 9 Blu acceso\n\
2 2 Verde 10 A Verde acceso\n\
3 3 Ciano 11 B Ciano acceso\n\
4 4 Rosso 12 C Rosso acceso\n\
5 5 Magenta 13 D Magenta acceso\n\
6 6 Giallo 14 E Giallo acceso\n\
7 7 Bianco 15 F Bianco acceso\n"
STRING_COPY_HELP1, "Sovrascrivi %s (Si/No/Tutti)? "
@ -114,7 +115,7 @@ COPY [/V][/Y|/-Y][/A|/B] sorgente [/A|/B]\n\
/A Indica un file di testo ASCII.\n\
/B Indica un file binario.\n\
destinazione Indica la cartella e/o il nome di file per i nuovi/o file.\n\
/V Verifies that new files are written correctly.\n\
/V Verifica che i file sono stati scritti correttamente.\n\
/Y Elimina le richieste di conferma per le sovrascrittura\n\
di un file di destinazione già esistente.\n\
/-Y Effettua le richieste di conferma per le sovrascrittura\n\
@ -205,8 +206,8 @@ STRING_DIR_HELP6, "%16i Cartelle% 15s byte\n"
STRING_DIR_HELP7, "\n Cartelle di %s\n\n"
STRING_DIR_HELP8, "%16i File% 14s byte\n"
STRING_DIRSTACK_HELP1, "Salva la directory corrente per l'uso con il comando POPD, poi\n\
cambia alla cartella indicata.\n\n\
STRING_DIRSTACK_HELP1, "Salva la cartella corrente per l'uso con il comando POPD, poi\n\
passa alla cartella indicata.\n\n\
PUSHD [percorso | ..]\n\n\
percorso Indica la cartella che deve diventare quella corrente\n"
@ -289,9 +290,8 @@ STRING_LABEL_HELP5, "Etichetta del disco (11 Caratteri, INVIO per nessuna)? "
STRING_LOCALE_HELP1, "L'ora attuale è"
STRING_MKDIR_HELP, "Crea una directory.\n\n\
MKDIR [disco:]percorso\n\
MD [disco:]percorso"
STRING_MKDIR_HELP, "Crea una cartella.\n\n\
MKDIR [disco:]percorso\nMD [disco:]percorso"
STRING_MEMMORY_HELP1, "Visualizza la quantità della memoria di sistema.\n\n\
MEMORY"
@ -311,7 +311,7 @@ STRING_MOVE_HELP1, "Sovrascrivi %s (Si/No/Tutti)? "
STRING_MOVE_HELP2, "Sposta i file o cambia il nome a file e cartelle.\n\n\
Per spostare uno o più file:\n\
MOVE [/N][disco:][percorso]nomefile1[,...] destinazione\n\n\
To rename a directory:\n\
Per rinominare una cartella:\n\
MOVE [/N][disco:][percorso]]cartella1 cartella2\n\n\
[disco:][percorso]nomefile1 indica la posizione e il nome del file\n\
o dei file da spostare.\n\
@ -395,6 +395,46 @@ STRING_REN_HELP2, " %lu file rinominato\n"
STRING_REN_HELP3, " %lu files rinominati\n"
STRING_REPLACE_HELP1, "Sostituisce i file.\n\n\
REPLACE [disco1:][percorso1]nomefile [disco2:][percorso2] [/A] [/P] [/R] [/W]\n\
REPLACE [disco1:][percorso1]nomefile [disco2:][percorso2] [/P] [/R] [/S] [/W] [/U]\n\n\
[drive1:][path1]nomefile Specifica il o i file sorgenti.\n\
[disco2:][percorso2] Specifica la cartella dove i file devono essere\n\
sostituiti.\n\
/A Aggiunge i file alla cartella di destinazione. Non può\n\
essere usato con /S o /U .\n\
/P Chiede conferma prima di sostituire o aggiungere\n\
un file.\n\
/R Sostituisce sia i file in sola lettura che quelli\n\
non protetti.\n\
/S Sostituisce i file in tutte le sottocartelle\n\
della cartella di destinazione. Non può essere\n\
usato con /A .\n\
/W Aspetta che sia inserito un disco prima di iniziare.\n\
/U Sostituisce (aggiorna) solo i file più vecchi\n\
dei file sorgenti. Non può essere usato con /A .\n"
STRING_REPLACE_HELP2, "Il percorso sorgente è obbligatorio\n"
STRING_REPLACE_HELP3, "Nessun file sostituito\n"
STRING_REPLACE_HELP4, "%lu file sostituiti\n"
STRING_REPLACE_HELP5, "Sostituzione di %s in corso\n"
STRING_REPLACE_HELP6, "Sostituzione di %s\n"
STRING_REPLACE_HELP7, "Nessun file aggiunto\n"
STRING_REPLACE_HELP8, "%lu file aggiunti\n"
STRING_REPLACE_HELP9, "Aggiungere %s (S/N) "
STRING_REPLACE_HELP10, "Sostituire %s (S/N) "
STRING_REPLACE_HELP11, "Aggiunta di %s in corso\n"
STRING_SHIFT_HELP, "Cambia la posizione dei parametri in un batch.\n\n\
SHIFT [DOWN]"
@ -490,16 +530,16 @@ STRING_VERSION_HELP7, "\nVersione ReactOS scritto da:\n"
STRING_VOL_HELP1, " Il Volume del disco %c è %s\n"
STRING_VOL_HELP2, " Il Volume del disco %c non ha etichetta\n"
STRING_VOL_HELP3, " Il numero diserie del Volume è %04X-%04X\n"
STRING_VOL_HELP3, " Il numero di serie del Volume è %04X-%04X\n"
STRING_VOL_HELP4, "Visualizza l'etichetta del volume del disco e il numero di serie se disponibili.\n\n\
VOL [disco:]"
STRING_WINDOW_HELP1, "cambia l'aspetto della finestra della console\n\n\
WINDOW [/POS[=]sinistra,alto,larghezza,altezza]\n\
[MIN|MAX|RESTORE] ['titolo']\n\n\
/POS specify window placement and dimensions\n\
/POS specifica la posizione e la dimensione della finestra\n\
MIN minimizza la finestra\n\
MAX massimizzala finestra\n\
MAX massimizza la finestra\n\
RESTORE ripristina la finestra"
STRING_WINDOW_HELP2, "cambia l'aspetto della finestra della console\n\n\
@ -508,7 +548,7 @@ ACTIVATE 'window' [/POS[=]sinistra,alto,larghezza,altezza]\n\
window finestra su cui eseguire l'azione\n\
/POS indica la posizione e la dimensione della finestra\n\
MIN minimizza la finestra\n\
MAX massimizzala finestra\n\
MAX massimizza la finestra\n\
RESTORE ripristina la finestra\n\
titolo il nuovo titolo\n"
@ -530,12 +570,12 @@ COPY Copia uno o pi
DATE Visualizza o modifica la data.\n\
DELETE Cancella uno o più file.\n\
DIR Visualizza un elenco di file e sottocartelle in una cartella.\n\
ECHO Visualizza messaggi, o abilita e disabilita la visualizzazione dei comandi.\n\
ECHO Visualizza messaggi o abilita e disabilita la visualizzazione dei comandi.\n\
ERASE Cancella uno o più file.\n\
EXIT Esce dall'interprete dei comandi.\n\
FOR Esegue un comando per ognuno dei file indicati.\n\
FREE Spazio libero.\n\
GOTO Salta a una etichettadurante l'esecuzione di un batch.\n\
GOTO Salta a una etichetta durante l'esecuzione di un batch.\n\
HELP Fornisce informazioni sui comandi di ReactOS.\n\
HISTORY Elenco degli ultimi comandi usati\n\
IF Esegue elaborazioni condizionali in un batch.\n\
@ -640,6 +680,14 @@ STRING_ERROR_DRIVER_NOT_READY, "Disco non pronto"
STRING_PATH_ERROR, "CMD: Non nell'ambiente '%s'\n"
STRING_REPLACE_ERROR1, "Parametro non valido - %s\n"
STRING_REPLACE_ERROR2, "Percorso non trovato - %s\n"
STRING_REPLACE_ERROR3, "Il nome del file, della cartella o della etichetta di volume è errato.\n"
STRING_REPLACE_ERROR4, "Combinazione di parametri non valida\n"
STRING_REPLACE_ERROR5, "Accesso negato - %s\n"
STRING_REPLACE_ERROR6, "Nessun file trovato - %s\n"
STRING_REPLACE_ERROR7, "Errore esteso 32\n"
STRING_CMD_SHELLINFO, "\nInterprete di linea di comando di ReactOS"
STRING_VERSION_RUNVER, " in esecuzione su %s"
STRING_COPY_FILE , " %d file copiati\n"

View file

@ -32,7 +32,7 @@ ConvertDWord (DWORD num, LPTSTR des, INT len, BOOL bSeparator)
}
INT CommandMemory (LPTSTR cmd, LPTSTR param)
INT CommandMemory (LPTSTR param)
{
MEMORYSTATUS ms;
TCHAR szMemoryLoad[20];

Some files were not shown because too many files have changed in this diff Show more