Author: hbelusca
Date: Sat Sep 5 13:03:04 2015
New Revision: 69024
URL:
http://svn.reactos.org/svn/reactos?rev=69024&view=rev
Log:
[MSCONFIG_NEW]
- Associate a temporary VS project (will be removed later on); change the name of the
target for now...
- Allow only one instance of MSConfig running on the system (we use a semaphore,
compatible with MS' msconfig, so that if you try to run ROS msconfig on windows, you
cannot run also windows' msconfig, and vice versa).
- Introduce some utility functions (for strings and other stuff), will be used later on.
CORE-9333
Added:
trunk/reactos/base/applications/msconfig_new/stringutils.c (with props)
trunk/reactos/base/applications/msconfig_new/stringutils.h (with props)
trunk/reactos/base/applications/msconfig_new/utils.c (with props)
trunk/reactos/base/applications/msconfig_new/utils.h (with props)
Modified:
trunk/reactos/base/applications/msconfig_new/CMakeLists.txt
trunk/reactos/base/applications/msconfig_new/lang/bg-BG.rc
trunk/reactos/base/applications/msconfig_new/lang/ca-ES.rc
trunk/reactos/base/applications/msconfig_new/lang/cs-CZ.rc
trunk/reactos/base/applications/msconfig_new/lang/de-DE.rc
trunk/reactos/base/applications/msconfig_new/lang/el-GR.rc
trunk/reactos/base/applications/msconfig_new/lang/en-US.rc
trunk/reactos/base/applications/msconfig_new/lang/es-ES.rc
trunk/reactos/base/applications/msconfig_new/lang/fr-FR.rc
trunk/reactos/base/applications/msconfig_new/lang/he-IL.rc
trunk/reactos/base/applications/msconfig_new/lang/hu-HU.rc
trunk/reactos/base/applications/msconfig_new/lang/id-ID.rc
trunk/reactos/base/applications/msconfig_new/lang/it-IT.rc
trunk/reactos/base/applications/msconfig_new/lang/ko-KR.rc
trunk/reactos/base/applications/msconfig_new/lang/nl-NL.rc
trunk/reactos/base/applications/msconfig_new/lang/no-NO.rc
trunk/reactos/base/applications/msconfig_new/lang/pl-PL.rc
trunk/reactos/base/applications/msconfig_new/lang/pt-BR.rc
trunk/reactos/base/applications/msconfig_new/lang/ro-RO.rc
trunk/reactos/base/applications/msconfig_new/lang/ru-RU.rc
trunk/reactos/base/applications/msconfig_new/lang/sk-SK.rc
trunk/reactos/base/applications/msconfig_new/lang/sq-AL.rc
trunk/reactos/base/applications/msconfig_new/lang/sv-SE.rc
trunk/reactos/base/applications/msconfig_new/lang/th-TH.rc
trunk/reactos/base/applications/msconfig_new/lang/tr-TR.rc
trunk/reactos/base/applications/msconfig_new/lang/uk-UA.rc
trunk/reactos/base/applications/msconfig_new/lang/zh-CN.rc
trunk/reactos/base/applications/msconfig_new/lang/zh-TW.rc
trunk/reactos/base/applications/msconfig_new/msconfig.c
trunk/reactos/base/applications/msconfig_new/precomp.h
trunk/reactos/base/applications/msconfig_new/resource.h
Modified: trunk/reactos/base/applications/msconfig_new/CMakeLists.txt
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/base/applications/msconfig…
==============================================================================
--- trunk/reactos/base/applications/msconfig_new/CMakeLists.txt [iso-8859-1] (original)
+++ trunk/reactos/base/applications/msconfig_new/CMakeLists.txt [iso-8859-1] Sat Sep 5
13:03:04 2015
@@ -1,3 +1,5 @@
+
+PROJECT(msconfig_new)
list(APPEND SOURCE
toolspage.c
@@ -7,11 +9,13 @@
freeldrpage.c
generalpage.c
msconfig.c
+ stringutils.c
+ utils.c
precomp.h)
add_rc_deps(msconfig.rc ${CMAKE_CURRENT_SOURCE_DIR}/res/msconfig.ico)
-add_executable(msconfig ${SOURCE} msconfig.rc)
-set_module_type(msconfig win32gui UNICODE)
-add_importlibs(msconfig user32 advapi32 version comctl32 shell32 shlwapi msvcrt kernel32)
-add_pch(msconfig precomp.h SOURCE)
-add_cd_file(TARGET msconfig DESTINATION reactos/system32 FOR all)
+add_executable(msconfig_new ${SOURCE} msconfig.rc)
+set_module_type(msconfig_new win32gui UNICODE)
+add_importlibs(msconfig_new user32 advapi32 version comctl32 shell32 shlwapi msvcrt
kernel32)
+add_pch(msconfig_new precomp.h SOURCE)
+add_cd_file(TARGET msconfig_new DESTINATION reactos/system32 FOR all)
Modified: trunk/reactos/base/applications/msconfig_new/lang/bg-BG.rc
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/base/applications/msconfig…
==============================================================================
--- trunk/reactos/base/applications/msconfig_new/lang/bg-BG.rc [iso-8859-1] (original)
+++ trunk/reactos/base/applications/msconfig_new/lang/bg-BG.rc [iso-8859-1] Sat Sep 5
13:03:04 2015
@@ -123,7 +123,12 @@
STRINGTABLE
BEGIN
- IDS_MSCONFIG "ÐÑиложение за наÑÑÑойка на
ÑиÑÑемаÑа"
+ IDS_MSCONFIG "ÐÑиложение за наÑÑÑойка на
ÑиÑÑемаÑа"
+ IDS_MSCONFIG_2 "System Configuration"
+END
+
+STRINGTABLE
+BEGIN
IDS_TAB_GENERAL "ÐбÑи"
IDS_TAB_SYSTEM "SYSTEM.INI"
IDS_TAB_FREELDR "FREELDR.INI"
Modified: trunk/reactos/base/applications/msconfig_new/lang/ca-ES.rc
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/base/applications/msconfig…
==============================================================================
--- trunk/reactos/base/applications/msconfig_new/lang/ca-ES.rc [iso-8859-1] (original)
+++ trunk/reactos/base/applications/msconfig_new/lang/ca-ES.rc [iso-8859-1] Sat Sep 5
13:03:04 2015
@@ -123,7 +123,12 @@
STRINGTABLE
BEGIN
- IDS_MSCONFIG "Programa de configuracio de sistema"
+ IDS_MSCONFIG "Programa de configuracio de sistema"
+ IDS_MSCONFIG_2 "System Configuration"
+END
+
+STRINGTABLE
+BEGIN
IDS_TAB_GENERAL "General"
IDS_TAB_SYSTEM "SYSTEM.INI"
IDS_TAB_FREELDR "FREELDR.INI"
Modified: trunk/reactos/base/applications/msconfig_new/lang/cs-CZ.rc
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/base/applications/msconfig…
==============================================================================
--- trunk/reactos/base/applications/msconfig_new/lang/cs-CZ.rc [iso-8859-1] (original)
+++ trunk/reactos/base/applications/msconfig_new/lang/cs-CZ.rc [iso-8859-1] Sat Sep 5
13:03:04 2015
@@ -129,7 +129,12 @@
STRINGTABLE
BEGIN
- IDS_MSCONFIG "Nástroj pro konfiguraci systému"
+ IDS_MSCONFIG "Nástroj pro konfiguraci systému"
+ IDS_MSCONFIG_2 "System Configuration"
+END
+
+STRINGTABLE
+BEGIN
IDS_TAB_GENERAL "Obecné"
IDS_TAB_SYSTEM "SYSTEM.INI"
IDS_TAB_FREELDR "FREELDR.INI"
Modified: trunk/reactos/base/applications/msconfig_new/lang/de-DE.rc
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/base/applications/msconfig…
==============================================================================
--- trunk/reactos/base/applications/msconfig_new/lang/de-DE.rc [iso-8859-1] (original)
+++ trunk/reactos/base/applications/msconfig_new/lang/de-DE.rc [iso-8859-1] Sat Sep 5
13:03:04 2015
@@ -123,7 +123,12 @@
STRINGTABLE
BEGIN
- IDS_MSCONFIG "Systemkonfiguration"
+ IDS_MSCONFIG "Systemkonfiguration"
+ IDS_MSCONFIG_2 "System Configuration"
+END
+
+STRINGTABLE
+BEGIN
IDS_TAB_GENERAL "Allgemein"
IDS_TAB_SYSTEM "SYSTEM.INI"
IDS_TAB_FREELDR "FREELDR.INI"
Modified: trunk/reactos/base/applications/msconfig_new/lang/el-GR.rc
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/base/applications/msconfig…
==============================================================================
--- trunk/reactos/base/applications/msconfig_new/lang/el-GR.rc [iso-8859-1] (original)
+++ trunk/reactos/base/applications/msconfig_new/lang/el-GR.rc [iso-8859-1] Sat Sep 5
13:03:04 2015
@@ -123,7 +123,12 @@
STRINGTABLE
BEGIN
- IDS_MSCONFIG "Î ÏÏγÏαμμα ÏαÏαμεÏÏοÏοίηÏÎ·Ï ÏÏ
ÏÏήμαÏοÏ"
+ IDS_MSCONFIG "Î ÏÏγÏαμμα ÏαÏαμεÏÏοÏοίηÏηÏ
ÏÏ
ÏÏήμαÏοÏ"
+ IDS_MSCONFIG_2 "System Configuration"
+END
+
+STRINGTABLE
+BEGIN
IDS_TAB_GENERAL "Îενικά"
IDS_TAB_SYSTEM "SYSTEM.INI"
IDS_TAB_FREELDR "FREELDR.INI"
Modified: trunk/reactos/base/applications/msconfig_new/lang/en-US.rc
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/base/applications/msconfig…
==============================================================================
--- trunk/reactos/base/applications/msconfig_new/lang/en-US.rc [iso-8859-1] (original)
+++ trunk/reactos/base/applications/msconfig_new/lang/en-US.rc [iso-8859-1] Sat Sep 5
13:03:04 2015
@@ -123,7 +123,12 @@
STRINGTABLE
BEGIN
- IDS_MSCONFIG "System configuration program"
+ IDS_MSCONFIG "System configuration program"
+ IDS_MSCONFIG_2 "System Configuration"
+END
+
+STRINGTABLE
+BEGIN
IDS_TAB_GENERAL "General"
IDS_TAB_SYSTEM "SYSTEM.INI"
IDS_TAB_FREELDR "FREELDR.INI"
Modified: trunk/reactos/base/applications/msconfig_new/lang/es-ES.rc
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/base/applications/msconfig…
==============================================================================
--- trunk/reactos/base/applications/msconfig_new/lang/es-ES.rc [iso-8859-1] (original)
+++ trunk/reactos/base/applications/msconfig_new/lang/es-ES.rc [iso-8859-1] Sat Sep 5
13:03:04 2015
@@ -126,7 +126,12 @@
STRINGTABLE
BEGIN
- IDS_MSCONFIG "Utilidad de configuración del sistema"
+ IDS_MSCONFIG "Utilidad de configuración del sistema"
+ IDS_MSCONFIG_2 "System Configuration"
+END
+
+STRINGTABLE
+BEGIN
IDS_TAB_GENERAL "General"
IDS_TAB_SYSTEM "SYSTEM.INI"
IDS_TAB_FREELDR "FREELDR.INI"
Modified: trunk/reactos/base/applications/msconfig_new/lang/fr-FR.rc
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/base/applications/msconfig…
==============================================================================
--- trunk/reactos/base/applications/msconfig_new/lang/fr-FR.rc [iso-8859-1] (original)
+++ trunk/reactos/base/applications/msconfig_new/lang/fr-FR.rc [iso-8859-1] Sat Sep 5
13:03:04 2015
@@ -123,7 +123,12 @@
STRINGTABLE
BEGIN
- IDS_MSCONFIG "Utilitaire de configuration système"
+ IDS_MSCONFIG "Utilitaire de configuration système"
+ IDS_MSCONFIG_2 "Configuration du système"
+END
+
+STRINGTABLE
+BEGIN
IDS_TAB_GENERAL "Général"
IDS_TAB_SYSTEM "SYSTEM.INI"
IDS_TAB_FREELDR "FREELDR.INI"
Modified: trunk/reactos/base/applications/msconfig_new/lang/he-IL.rc
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/base/applications/msconfig…
==============================================================================
--- trunk/reactos/base/applications/msconfig_new/lang/he-IL.rc [iso-8859-1] (original)
+++ trunk/reactos/base/applications/msconfig_new/lang/he-IL.rc [iso-8859-1] Sat Sep 5
13:03:04 2015
@@ -125,7 +125,12 @@
STRINGTABLE
BEGIN
- IDS_MSCONFIG "××× ×©×ר×ת ××§××עת תצ×רת ××ער×ת"
+ IDS_MSCONFIG "××× ×©×ר×ת ××§××עת תצ×רת
××ער×ת"
+ IDS_MSCONFIG_2 "System Configuration"
+END
+
+STRINGTABLE
+BEGIN
IDS_TAB_GENERAL "××××"
IDS_TAB_SYSTEM "SYSTEM.INI"
IDS_TAB_FREELDR "FREELDR.INI"
Modified: trunk/reactos/base/applications/msconfig_new/lang/hu-HU.rc
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/base/applications/msconfig…
==============================================================================
--- trunk/reactos/base/applications/msconfig_new/lang/hu-HU.rc [iso-8859-1] (original)
+++ trunk/reactos/base/applications/msconfig_new/lang/hu-HU.rc [iso-8859-1] Sat Sep 5
13:03:04 2015
@@ -125,7 +125,12 @@
STRINGTABLE
BEGIN
- IDS_MSCONFIG "Rendszerkonfiguráciüs segédprogram"
+ IDS_MSCONFIG "Rendszerkonfiguráciüs segédprogram"
+ IDS_MSCONFIG_2 "System Configuration"
+END
+
+STRINGTABLE
+BEGIN
IDS_TAB_GENERAL "Ãltalános"
IDS_TAB_SYSTEM "SYSTEM.INI"
IDS_TAB_FREELDR "FREELDR.INI"
Modified: trunk/reactos/base/applications/msconfig_new/lang/id-ID.rc
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/base/applications/msconfig…
==============================================================================
--- trunk/reactos/base/applications/msconfig_new/lang/id-ID.rc [iso-8859-1] (original)
+++ trunk/reactos/base/applications/msconfig_new/lang/id-ID.rc [iso-8859-1] Sat Sep 5
13:03:04 2015
@@ -123,7 +123,12 @@
STRINGTABLE
BEGIN
- IDS_MSCONFIG "Program konfigurasi sistem"
+ IDS_MSCONFIG "Program konfigurasi sistem"
+ IDS_MSCONFIG_2 "System Configuration"
+END
+
+STRINGTABLE
+BEGIN
IDS_TAB_GENERAL "Umum"
IDS_TAB_SYSTEM "SYSTEM.INI"
IDS_TAB_FREELDR "FREELDR.INI"
Modified: trunk/reactos/base/applications/msconfig_new/lang/it-IT.rc
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/base/applications/msconfig…
==============================================================================
--- trunk/reactos/base/applications/msconfig_new/lang/it-IT.rc [iso-8859-1] (original)
+++ trunk/reactos/base/applications/msconfig_new/lang/it-IT.rc [iso-8859-1] Sat Sep 5
13:03:04 2015
@@ -123,7 +123,12 @@
STRINGTABLE
BEGIN
- IDS_MSCONFIG "Utilità di configurazione del sistema"
+ IDS_MSCONFIG "Utilità di configurazione del sistema"
+ IDS_MSCONFIG_2 "System Configuration"
+END
+
+STRINGTABLE
+BEGIN
IDS_TAB_GENERAL "Generale"
IDS_TAB_SYSTEM "SYSTEM.INI"
IDS_TAB_FREELDR "FREELDR.INI"
Modified: trunk/reactos/base/applications/msconfig_new/lang/ko-KR.rc
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/base/applications/msconfig…
==============================================================================
--- trunk/reactos/base/applications/msconfig_new/lang/ko-KR.rc [iso-8859-1] (original)
+++ trunk/reactos/base/applications/msconfig_new/lang/ko-KR.rc [iso-8859-1] Sat Sep 5
13:03:04 2015
@@ -125,7 +125,12 @@
STRINGTABLE
BEGIN
- IDS_MSCONFIG "System ì¤ì íë¡ê·¸ë¨"
+ IDS_MSCONFIG "System ì¤ì íë¡ê·¸ë¨"
+ IDS_MSCONFIG_2 "System Configuration"
+END
+
+STRINGTABLE
+BEGIN
IDS_TAB_GENERAL "ì¼ë°"
IDS_TAB_SYSTEM "SYSTEM.INI"
IDS_TAB_FREELDR "FREELDR.INI"
Modified: trunk/reactos/base/applications/msconfig_new/lang/nl-NL.rc
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/base/applications/msconfig…
==============================================================================
--- trunk/reactos/base/applications/msconfig_new/lang/nl-NL.rc [iso-8859-1] (original)
+++ trunk/reactos/base/applications/msconfig_new/lang/nl-NL.rc [iso-8859-1] Sat Sep 5
13:03:04 2015
@@ -125,7 +125,12 @@
STRINGTABLE
BEGIN
- IDS_MSCONFIG "Hulpprogramma voor systeemconfiguratie"
+ IDS_MSCONFIG "Hulpprogramma voor systeemconfiguratie"
+ IDS_MSCONFIG_2 "System Configuration"
+END
+
+STRINGTABLE
+BEGIN
IDS_TAB_GENERAL "Algemeen"
IDS_TAB_SYSTEM "SYSTEM.INI"
IDS_TAB_FREELDR "FREELDR.INI"
Modified: trunk/reactos/base/applications/msconfig_new/lang/no-NO.rc
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/base/applications/msconfig…
==============================================================================
--- trunk/reactos/base/applications/msconfig_new/lang/no-NO.rc [iso-8859-1] (original)
+++ trunk/reactos/base/applications/msconfig_new/lang/no-NO.rc [iso-8859-1] Sat Sep 5
13:03:04 2015
@@ -123,7 +123,12 @@
STRINGTABLE
BEGIN
- IDS_MSCONFIG "Systemkonfigurasjon"
+ IDS_MSCONFIG "Systemkonfigurasjon"
+ IDS_MSCONFIG_2 "System Configuration"
+END
+
+STRINGTABLE
+BEGIN
IDS_TAB_GENERAL "Generelt"
IDS_TAB_SYSTEM "SYSTEM.INI"
IDS_TAB_FREELDR "FREELDR.INI"
Modified: trunk/reactos/base/applications/msconfig_new/lang/pl-PL.rc
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/base/applications/msconfig…
==============================================================================
--- trunk/reactos/base/applications/msconfig_new/lang/pl-PL.rc [iso-8859-1] (original)
+++ trunk/reactos/base/applications/msconfig_new/lang/pl-PL.rc [iso-8859-1] Sat Sep 5
13:03:04 2015
@@ -131,7 +131,12 @@
STRINGTABLE
BEGIN
- IDS_MSCONFIG "Program konfiguracji systemu"
+ IDS_MSCONFIG "Program konfiguracji systemu"
+ IDS_MSCONFIG_2 "System Configuration"
+END
+
+STRINGTABLE
+BEGIN
IDS_TAB_GENERAL "Ogólne"
IDS_TAB_SYSTEM "SYSTEM.INI"
IDS_TAB_FREELDR "FREELDR.INI"
Modified: trunk/reactos/base/applications/msconfig_new/lang/pt-BR.rc
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/base/applications/msconfig…
==============================================================================
--- trunk/reactos/base/applications/msconfig_new/lang/pt-BR.rc [iso-8859-1] (original)
+++ trunk/reactos/base/applications/msconfig_new/lang/pt-BR.rc [iso-8859-1] Sat Sep 5
13:03:04 2015
@@ -125,7 +125,12 @@
STRINGTABLE
BEGIN
- IDS_MSCONFIG "Programa de configuração do sistema"
+ IDS_MSCONFIG "Programa de configuração do sistema"
+ IDS_MSCONFIG_2 "System Configuration"
+END
+
+STRINGTABLE
+BEGIN
IDS_TAB_GENERAL "Geral"
IDS_TAB_SYSTEM "SYSTEM.INI"
IDS_TAB_FREELDR "FREELDR.INI"
Modified: trunk/reactos/base/applications/msconfig_new/lang/ro-RO.rc
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/base/applications/msconfig…
==============================================================================
--- trunk/reactos/base/applications/msconfig_new/lang/ro-RO.rc [iso-8859-1] (original)
+++ trunk/reactos/base/applications/msconfig_new/lang/ro-RO.rc [iso-8859-1] Sat Sep 5
13:03:04 2015
@@ -125,7 +125,12 @@
STRINGTABLE
BEGIN
- IDS_MSCONFIG "Configuratorul de sistem"
+ IDS_MSCONFIG "Configuratorul de sistem"
+ IDS_MSCONFIG_2 "System Configuration"
+END
+
+STRINGTABLE
+BEGIN
IDS_TAB_GENERAL "Generale"
IDS_TAB_SYSTEM "SYSTEM.INI"
IDS_TAB_FREELDR "FREELDR.INI"
Modified: trunk/reactos/base/applications/msconfig_new/lang/ru-RU.rc
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/base/applications/msconfig…
==============================================================================
--- trunk/reactos/base/applications/msconfig_new/lang/ru-RU.rc [iso-8859-1] (original)
+++ trunk/reactos/base/applications/msconfig_new/lang/ru-RU.rc [iso-8859-1] Sat Sep 5
13:03:04 2015
@@ -125,7 +125,12 @@
STRINGTABLE
BEGIN
- IDS_MSCONFIG "ÐаÑÑÑойка ÑиÑÑемÑ"
+ IDS_MSCONFIG "ÐаÑÑÑойка ÑиÑÑемÑ"
+ IDS_MSCONFIG_2 "System Configuration"
+END
+
+STRINGTABLE
+BEGIN
IDS_TAB_GENERAL "ÐбÑие"
IDS_TAB_SYSTEM "SYSTEM.INI"
IDS_TAB_FREELDR "FREELDR.INI"
Modified: trunk/reactos/base/applications/msconfig_new/lang/sk-SK.rc
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/base/applications/msconfig…
==============================================================================
--- trunk/reactos/base/applications/msconfig_new/lang/sk-SK.rc [iso-8859-1] (original)
+++ trunk/reactos/base/applications/msconfig_new/lang/sk-SK.rc [iso-8859-1] Sat Sep 5
13:03:04 2015
@@ -127,7 +127,12 @@
STRINGTABLE
BEGIN
- IDS_MSCONFIG "Program na konfiguráciu systému"
+ IDS_MSCONFIG "Program na konfiguráciu systému"
+ IDS_MSCONFIG_2 "System Configuration"
+END
+
+STRINGTABLE
+BEGIN
IDS_TAB_GENERAL "Všeobecné"
IDS_TAB_SYSTEM "SYSTEM.INI"
IDS_TAB_FREELDR "FREELDR.INI"
Modified: trunk/reactos/base/applications/msconfig_new/lang/sq-AL.rc
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/base/applications/msconfig…
==============================================================================
--- trunk/reactos/base/applications/msconfig_new/lang/sq-AL.rc [iso-8859-1] (original)
+++ trunk/reactos/base/applications/msconfig_new/lang/sq-AL.rc [iso-8859-1] Sat Sep 5
13:03:04 2015
@@ -127,7 +127,12 @@
STRINGTABLE
BEGIN
- IDS_MSCONFIG "Programi i konfigurimit te sistemit"
+ IDS_MSCONFIG "Programi i konfigurimit te sistemit"
+ IDS_MSCONFIG_2 "System Configuration"
+END
+
+STRINGTABLE
+BEGIN
IDS_TAB_GENERAL "General"
IDS_TAB_SYSTEM "SYSTEM.INI"
IDS_TAB_FREELDR "FREELDR.INI"
Modified: trunk/reactos/base/applications/msconfig_new/lang/sv-SE.rc
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/base/applications/msconfig…
==============================================================================
--- trunk/reactos/base/applications/msconfig_new/lang/sv-SE.rc [iso-8859-1] (original)
+++ trunk/reactos/base/applications/msconfig_new/lang/sv-SE.rc [iso-8859-1] Sat Sep 5
13:03:04 2015
@@ -130,7 +130,12 @@
STRINGTABLE
BEGIN
- IDS_MSCONFIG "Systemkonfiguration"
+ IDS_MSCONFIG "Systemkonfiguration"
+ IDS_MSCONFIG_2 "System Configuration"
+END
+
+STRINGTABLE
+BEGIN
IDS_TAB_GENERAL "Generellt"
IDS_TAB_SYSTEM "SYSTEM.INI"
IDS_TAB_FREELDR "FREELDR.INI"
Modified: trunk/reactos/base/applications/msconfig_new/lang/th-TH.rc
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/base/applications/msconfig…
==============================================================================
--- trunk/reactos/base/applications/msconfig_new/lang/th-TH.rc [iso-8859-1] (original)
+++ trunk/reactos/base/applications/msconfig_new/lang/th-TH.rc [iso-8859-1] Sat Sep 5
13:03:04 2015
@@ -125,7 +125,12 @@
STRINGTABLE
BEGIN
- IDS_MSCONFIG "à¹à¸à¸£à¹à¸à¸£à¸¡à¹à¸à¸£à¸à¹à¸à¸à¸£à¸°à¸à¸"
+ IDS_MSCONFIG
"à¹à¸à¸£à¹à¸à¸£à¸¡à¹à¸à¸£à¸à¹à¸à¸à¸£à¸°à¸à¸"
+ IDS_MSCONFIG_2 "System Configuration"
+END
+
+STRINGTABLE
+BEGIN
IDS_TAB_GENERAL "à¸à¸±à¹à¸§à¹à¸"
IDS_TAB_SYSTEM "SYSTEM.INI"
IDS_TAB_FREELDR "FREELDR.INI"
Modified: trunk/reactos/base/applications/msconfig_new/lang/tr-TR.rc
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/base/applications/msconfig…
==============================================================================
--- trunk/reactos/base/applications/msconfig_new/lang/tr-TR.rc [iso-8859-1] (original)
+++ trunk/reactos/base/applications/msconfig_new/lang/tr-TR.rc [iso-8859-1] Sat Sep 5
13:03:04 2015
@@ -125,7 +125,12 @@
STRINGTABLE
BEGIN
- IDS_MSCONFIG "Dizge Yapılandırma İzlencesi"
+ IDS_MSCONFIG "Dizge Yapılandırma İzlencesi"
+ IDS_MSCONFIG_2 "System Configuration"
+END
+
+STRINGTABLE
+BEGIN
IDS_TAB_GENERAL "Umûmî"
IDS_TAB_SYSTEM "SYSTEM.INI"
IDS_TAB_FREELDR "FREELDR.INI"
Modified: trunk/reactos/base/applications/msconfig_new/lang/uk-UA.rc
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/base/applications/msconfig…
==============================================================================
--- trunk/reactos/base/applications/msconfig_new/lang/uk-UA.rc [iso-8859-1] (original)
+++ trunk/reactos/base/applications/msconfig_new/lang/uk-UA.rc [iso-8859-1] Sat Sep 5
13:03:04 2015
@@ -131,7 +131,12 @@
STRINGTABLE
BEGIN
- IDS_MSCONFIG "ÐÑогÑама налаÑÑÑÐ²Ð°Ð½Ð½Ñ ÑиÑÑеми"
+ IDS_MSCONFIG "ÐÑогÑама налаÑÑÑваннÑ
ÑиÑÑеми"
+ IDS_MSCONFIG_2 "System Configuration"
+END
+
+STRINGTABLE
+BEGIN
IDS_TAB_GENERAL "ÐагалÑнÑ"
IDS_TAB_SYSTEM "SYSTEM.INI"
IDS_TAB_FREELDR "FREELDR.INI"
Modified: trunk/reactos/base/applications/msconfig_new/lang/zh-CN.rc
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/base/applications/msconfig…
==============================================================================
--- trunk/reactos/base/applications/msconfig_new/lang/zh-CN.rc [iso-8859-1] (original)
+++ trunk/reactos/base/applications/msconfig_new/lang/zh-CN.rc [iso-8859-1] Sat Sep 5
13:03:04 2015
@@ -125,7 +125,12 @@
STRINGTABLE
BEGIN
- IDS_MSCONFIG "ç³»ç»é
ç½®å®ç¨ç¨åº"
+ IDS_MSCONFIG "ç³»ç»é
ç½®å®ç¨ç¨åº"
+ IDS_MSCONFIG_2 "System Configuration"
+END
+
+STRINGTABLE
+BEGIN
IDS_TAB_GENERAL "ä¸è¬"
IDS_TAB_SYSTEM "SYSTEM.INI"
IDS_TAB_FREELDR "FREELDR.INI"
Modified: trunk/reactos/base/applications/msconfig_new/lang/zh-TW.rc
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/base/applications/msconfig…
==============================================================================
--- trunk/reactos/base/applications/msconfig_new/lang/zh-TW.rc [iso-8859-1] (original)
+++ trunk/reactos/base/applications/msconfig_new/lang/zh-TW.rc [iso-8859-1] Sat Sep 5
13:03:04 2015
@@ -125,7 +125,12 @@
STRINGTABLE
BEGIN
- IDS_MSCONFIG "系統è¨å®"
+ IDS_MSCONFIG "系統è¨å®"
+ IDS_MSCONFIG_2 "System Configuration"
+END
+
+STRINGTABLE
+BEGIN
IDS_TAB_GENERAL "ä¸è¬"
IDS_TAB_SYSTEM "SYSTEM.INI"
IDS_TAB_FREELDR "FREELDR.INI"
Modified: trunk/reactos/base/applications/msconfig_new/msconfig.c
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/base/applications/msconfig…
==============================================================================
--- trunk/reactos/base/applications/msconfig_new/msconfig.c [iso-8859-1] (original)
+++ trunk/reactos/base/applications/msconfig_new/msconfig.c [iso-8859-1] Sat Sep 5
13:03:04 2015
@@ -8,6 +8,7 @@
*/
#include "precomp.h"
+#include "utils.h"
#include "toolspage.h"
#include "srvpage.h"
@@ -16,9 +17,24 @@
#include "systempage.h"
#include "generalpage.h"
-HINSTANCE hInst = 0;
-
+/* Allow only for a single instance of MSConfig */
+#ifdef _MSC_VER
+ #pragma data_seg("MSConfigInstance")
+ HWND hSingleWnd = NULL;
+ #pragma data_seg()
+ #pragma comment(linker, "/SECTION:MSConfigInstance,RWS")
+#else
+ HWND hSingleWnd __attribute__((section ("MSConfigInstance"), shared)) =
NULL;
+#endif
+
+/* Defaults for ReactOS */
+BOOL bIsWindows = FALSE;
+BOOL bIsOSVersionLessThanVista = TRUE;
+
+HINSTANCE hInst = NULL;
+LPWSTR szAppName = NULL;
HWND hMainWnd; /* Main Window */
+
HWND hTabWnd; /* Tab Control Window */
UINT uXIcon = 0, uYIcon = 0; /* Icon sizes */
HICON hDialogIcon = NULL;
@@ -32,7 +48,7 @@
//
//
-// Copied from uxtheme.h
+// Copied from uxtheme.h
// If you have this new header, then delete these and
// #include <uxtheme.h> instead!
//
@@ -45,7 +61,7 @@
typedef HRESULT (WINAPI * ETDTProc) (HWND, DWORD);
//
-// Try to call EnableThemeDialogTexture, if uxtheme.dll is present
+// Try to call EnableThemeDialogTexture, if uxtheme.dll is present
//
BOOL EnableDialogTheme(HWND hwnd)
{
@@ -300,26 +316,95 @@
return 0;
}
+
+BOOL Initialize(HINSTANCE hInstance)
+{
+ BOOL Success = TRUE;
+ LPWSTR lpszVistaAppName = NULL;
+ HANDLE hSemaphore;
+ INITCOMMONCONTROLSEX InitControls;
+
+ /* Initialize our global version flags */
+ bIsWindows = TRUE; /* IsWindowsOS(); */ // TODO: Commented for testing purposes...
+ bIsOSVersionLessThanVista = TRUE; /* IsOSVersionLessThanVista(); */ // TODO:
Commented for testing purposes...
+
+ /* Initialize global strings */
+ szAppName = LoadResourceString(hInstance, IDS_MSCONFIG);
+ if (!bIsOSVersionLessThanVista)
+ lpszVistaAppName = LoadResourceString(hInstance, IDS_MSCONFIG_2);
+
+ /* We use a semaphore in order to have a single-instance application */
+ hSemaphore = CreateSemaphoreW(NULL, 0, 1, L"MSConfigRunning");
+ if (!hSemaphore || GetLastError() == ERROR_ALREADY_EXISTS)
+ {
+ CloseHandle(hSemaphore);
+
+ /*
+ * A semaphore with the same name already exist. It should have been
+ * created by another instance of MSConfig. Try to find its window
+ * and bring it to front.
+ */
+ if ( (hSingleWnd && IsWindow(hSingleWnd)) ||
+ ( (hSingleWnd = FindWindowW(L"#32770", szAppName)) != NULL ) ||
+ (!bIsOSVersionLessThanVista ? ( (hSingleWnd =
FindWindowW(L"#32770", lpszVistaAppName)) != NULL ) : FALSE) )
+ {
+ /* Found it. Show the window. */
+ ShowWindow(hSingleWnd, SW_SHOWNORMAL);
+ SetForegroundWindow(hSingleWnd);
+ }
+
+ /* Quit this instance of MSConfig */
+ Success = FALSE;
+ }
+ if (!bIsOSVersionLessThanVista) MemFree(lpszVistaAppName);
+
+ /* Quit now if we failed */
+ if (!Success)
+ {
+ MemFree(szAppName);
+ return FALSE;
+ }
+
+ /* Initialize the common controls */
+ InitControls.dwSize = sizeof(INITCOMMONCONTROLSEX);
+ InitControls.dwICC = ICC_LISTVIEW_CLASSES | ICC_TREEVIEW_CLASSES | ICC_UPDOWN_CLASS
/* | ICC_PROGRESS_CLASS | ICC_HOTKEY_CLASS*/;
+ InitCommonControlsEx(&InitControls);
+
+ hInst = hInstance;
+
+ return Success;
+}
+
+VOID Cleanup(VOID)
+{
+ MemFree(szAppName);
+
+ // // Close the sentry semaphore.
+ // CloseHandle(hSemaphore);
+}
+
int APIENTRY _tWinMain(HINSTANCE hInstance,
HINSTANCE hPrevInstance,
LPTSTR lpCmdLine,
int nCmdShow)
{
-
- INITCOMMONCONTROLSEX InitControls;
-
UNREFERENCED_PARAMETER(hPrevInstance);
UNREFERENCED_PARAMETER(lpCmdLine);
UNREFERENCED_PARAMETER(nCmdShow);
- InitControls.dwSize = sizeof(INITCOMMONCONTROLSEX);
- InitControls.dwICC = ICC_TAB_CLASSES | ICC_LISTVIEW_CLASSES;
- InitCommonControlsEx(&InitControls);
-
- hInst = hInstance;
-
- DialogBox(hInst, (LPCTSTR)IDD_MSCONFIG_DIALOG, NULL, MsConfigWndProc);
-
+ /*
+ * Initialize this instance of MSConfig. Quit if we have
+ * another instance already running.
+ */
+ if (!Initialize(hInstance))
+ return -1;
+
+ // hInst = hInstance;
+
+ DialogBox(hInst, (LPCTSTR)IDD_MSCONFIG_DIALOG, NULL, MsConfigWndProc);
+
+ /* Finish cleanup and return */
+ Cleanup();
return 0;
}
Modified: trunk/reactos/base/applications/msconfig_new/precomp.h
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/base/applications/msconfig…
==============================================================================
--- trunk/reactos/base/applications/msconfig_new/precomp.h [iso-8859-1] (original)
+++ trunk/reactos/base/applications/msconfig_new/precomp.h [iso-8859-1] Sat Sep 5
13:03:04 2015
@@ -1,7 +1,16 @@
#ifndef _MSCONFIG_PCH_
#define _MSCONFIG_PCH_
+// NOTE: It is completely idiotic to need those defines defined
+// for having the *_s string functions. In the MS CRT they are
+// directly available without further tricks.
+#define MINGW_HAS_SECURE_API 1
+
#include <stdarg.h>
+
+#include <stdio.h>
+#include <string.h> // FIXME: Should be normally useless in a proper CRT...
+#include <tchar.h>
#define WIN32_NO_STATUS
#define _INC_WINDOWS
@@ -10,9 +19,11 @@
#include <windef.h>
#include <winbase.h>
+#include <winnls.h>
#include <winreg.h>
-#include <tchar.h>
-#include <stdio.h>
+#include <winuser.h>
+#include <winver.h>
+
#include <shlobj.h>
#include <strsafe.h>
Modified: trunk/reactos/base/applications/msconfig_new/resource.h
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/base/applications/msconfig…
==============================================================================
--- trunk/reactos/base/applications/msconfig_new/resource.h [iso-8859-1] (original)
+++ trunk/reactos/base/applications/msconfig_new/resource.h [iso-8859-1] Sat Sep 5
13:03:04 2015
@@ -111,6 +111,7 @@
#define IDS_SERVICES_YES 2202
#define IDS_SERVICES_UNKNOWN 2203
-#define IDS_MSCONFIG 3000
+#define IDS_MSCONFIG 3000
+#define IDS_MSCONFIG_2 3001
-#define IDI_APPICON 3001
+#define IDI_APPICON 3010
Added: trunk/reactos/base/applications/msconfig_new/stringutils.c
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/base/applications/msconfig…
==============================================================================
--- trunk/reactos/base/applications/msconfig_new/stringutils.c (added)
+++ trunk/reactos/base/applications/msconfig_new/stringutils.c [iso-8859-1] Sat Sep 5
13:03:04 2015
@@ -0,0 +1,238 @@
+/*
+ * PROJECT: ReactOS Applications
+ * LICENSE: LGPL - See COPYING in the top level directory
+ * FILE: base/applications/msconfig/stringutils.c
+ * PURPOSE: ANSI & UNICODE String Utility Functions
+ * COPYRIGHT: Copyright 2011-2012 Hermes BELUSCA - MAITO <hermes.belusca(a)sfr.fr>
+ */
+
+#include "precomp.h"
+#include "utils.h"
+#include "stringutils.h"
+
+//
+// String formatting
+//
+LPTSTR FormatStringV(LPCTSTR str, va_list args)
+{
+ LPTSTR lpszString = NULL;
+
+ if (str)
+ {
+ size_t strLenPlusNull = _vsctprintf(str, args) + 1;
+ lpszString = (LPTSTR)MemAlloc(0, strLenPlusNull * sizeof(TCHAR));
+ if (lpszString)
+ StringCchVPrintf(lpszString, strLenPlusNull, str, args);
+ }
+
+ return lpszString;
+}
+
+LPTSTR FormatString(LPCTSTR str, ...)
+{
+ LPTSTR lpszString;
+ va_list args;
+
+ va_start(args, str);
+ lpszString = FormatStringV(str, args);
+ va_end(args);
+
+ return lpszString;
+}
+
+//
+// String handling (ANSI <-> Unicode UTF16)
+//
+LPSTR UnicodeToAnsi(LPCWSTR strW)
+{
+ LPSTR strA = NULL;
+
+ if (strW)
+ {
+ int iNeededChars = WideCharToMultiByte(CP_ACP,
+ WC_COMPOSITECHECK /* |
WC_NO_BEST_FIT_CHARS */,
+ strW, -1, NULL, 0, NULL, NULL);
+
+ strA = (LPSTR)MemAlloc(0, iNeededChars * sizeof(CHAR));
+ if (strA)
+ {
+ WideCharToMultiByte(CP_ACP,
+ WC_COMPOSITECHECK /* | WC_NO_BEST_FIT_CHARS */,
+ strW, -1, strA, iNeededChars, NULL, NULL);
+ }
+ }
+
+ return strA;
+}
+
+LPWSTR AnsiToUnicode(LPCSTR strA)
+{
+ LPWSTR strW = NULL;
+
+ if (strA)
+ {
+ int iNeededChars = MultiByteToWideChar(CP_ACP,
+ MB_PRECOMPOSED,
+ strA, -1, NULL, 0);
+
+ strW = (LPWSTR)MemAlloc(0, iNeededChars * sizeof(WCHAR));
+ if (strW)
+ {
+ MultiByteToWideChar(CP_ACP,
+ MB_PRECOMPOSED,
+ strA, -1, strW, iNeededChars);
+ }
+ }
+
+ return strW;
+}
+
+LPSTR DuplicateStringA(LPCSTR str)
+{
+ LPSTR dupStr = NULL;
+
+ if (str)
+ {
+ size_t strSizePlusNull = strlen(str) + 1;
+
+ dupStr = (LPSTR)MemAlloc(0, strSizePlusNull * sizeof(CHAR));
+ if (dupStr)
+ StringCchCopyA(dupStr, strSizePlusNull, str);
+ }
+
+ return dupStr;
+}
+
+LPWSTR DuplicateStringW(LPCWSTR str)
+{
+ LPWSTR dupStr = NULL;
+
+ if (str)
+ {
+ size_t strSizePlusNull = wcslen(str) + 1;
+
+ dupStr = (LPWSTR)MemAlloc(0, strSizePlusNull * sizeof(WCHAR));
+ if (dupStr)
+ StringCchCopyW(dupStr, strSizePlusNull, str);
+ }
+
+ return dupStr;
+}
+
+LPSTR DuplicateStringAEx(LPCSTR str, size_t numOfChars)
+{
+ LPSTR dupStr = NULL;
+
+ if (str)
+ {
+ size_t strSize = min(strlen(str), numOfChars);
+
+ dupStr = (LPSTR)MemAlloc(0, (strSize + 1) * sizeof(CHAR));
+ if (dupStr)
+ {
+ StringCchCopyNA(dupStr, strSize + 1, str, strSize);
+ dupStr[strSize] = '\0';
+ }
+ }
+
+ return dupStr;
+}
+
+LPWSTR DuplicateStringWEx(LPCWSTR str, size_t numOfChars)
+{
+ LPWSTR dupStr = NULL;
+
+ if (str)
+ {
+ size_t strSize = min(wcslen(str), numOfChars);
+
+ dupStr = (LPWSTR)MemAlloc(0, (strSize + 1) * sizeof(WCHAR));
+ if (dupStr)
+ {
+ StringCchCopyNW(dupStr, strSize + 1, str, strSize);
+ dupStr[strSize] = L'\0';
+ }
+ }
+
+ return dupStr;
+}
+
+//
+// String search functions
+//
+/***
+*wchar_t *wcsstr(string1, string2) - search for string2 in string1
+* (wide strings)
+*
+*Purpose:
+* finds the first occurrence of string2 in string1 (wide strings)
+*
+*Entry:
+* wchar_t *string1 - string to search in
+* wchar_t *string2 - string to search for
+*
+*Exit:
+* returns a pointer to the first occurrence of string2 in
+* string1, or NULL if string2 does not occur in string1
+*
+*Uses:
+*
+*Exceptions:
+*
+*******************************************************************************/
+LPTSTR FindSubStrI(LPCTSTR str, LPCTSTR strSearch)
+{
+ LPTSTR cp = (LPTSTR)str;
+ LPTSTR s1, s2;
+
+ if (!*strSearch)
+ return (LPTSTR)str;
+
+ while (*cp)
+ {
+ s1 = cp;
+ s2 = (LPTSTR)strSearch;
+
+ while (*s1 && *s2 && (_totupper(*s1) == _totupper(*s2)))
+ ++s1, ++s2;
+
+ if (!*s2)
+ return cp;
+
+ ++cp;
+ }
+
+ return NULL;
+}
+
+/*************************************************************************
+ * AppendPathSeparator
+ *
+ * Append a backslash ('\') to a path if one doesn't exist.
+ *
+ * PARAMS
+ * lpszPath [I/O] The path to append a backslash to.
+ *
+ * RETURNS
+ * Success: The position of the last backslash in the path.
+ * Failure: NULL, if lpszPath is NULL or the path is too large.
+ */
+LPTSTR AppendPathSeparator(LPTSTR lpszPath)
+{
+ size_t iLen = 0;
+
+ if (!lpszPath || (iLen = _tcslen(lpszPath)) >= MAX_PATH)
+ return NULL;
+
+ if (iLen >= 1)
+ {
+ lpszPath += iLen - 1;
+ if (*lpszPath++ != _T('\\'))
+ {
+ *lpszPath++ = _T('\\');
+ *lpszPath = _T('\0');
+ }
+ }
+
+ return lpszPath;
+}
Propchange: trunk/reactos/base/applications/msconfig_new/stringutils.c
------------------------------------------------------------------------------
svn:eol-style = native
Added: trunk/reactos/base/applications/msconfig_new/stringutils.h
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/base/applications/msconfig…
==============================================================================
--- trunk/reactos/base/applications/msconfig_new/stringutils.h (added)
+++ trunk/reactos/base/applications/msconfig_new/stringutils.h [iso-8859-1] Sat Sep 5
13:03:04 2015
@@ -0,0 +1,63 @@
+/*
+ * PROJECT: ReactOS Applications
+ * LICENSE: LGPL - See COPYING in the top level directory
+ * FILE: base/applications/msconfig/stringutils.h
+ * PURPOSE: ANSI & UNICODE String Utility Functions
+ * COPYRIGHT: Copyright 2011-2012 Hermes BELUSCA - MAITO <hermes.belusca(a)sfr.fr>
+ */
+
+#ifndef __STRINGUTILS_H__
+#define __STRINGUTILS_H__
+
+#pragma once
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+//
+// String formatting
+//
+LPTSTR FormatStringV(LPCTSTR str, va_list args);
+LPTSTR FormatString(LPCTSTR str, ...);
+
+//
+// String handling (ANSI <-> Unicode UTF16)
+//
+LPSTR UnicodeToAnsi(LPCWSTR strW);
+LPWSTR AnsiToUnicode(LPCSTR strA);
+LPSTR DuplicateStringA(LPCSTR str);
+LPWSTR DuplicateStringW(LPCWSTR str);
+LPSTR DuplicateStringAEx(LPCSTR str, size_t numOfChars);
+LPWSTR DuplicateStringWEx(LPCWSTR str, size_t numOfChars);
+
+//
+// Conversion macros ANSI <-> Unicode
+//
+#ifdef UNICODE
+ #define NewAnsiString(x) UnicodeToAnsi(x)
+ #define NewPortableString(x) AnsiToUnicode(x)
+ #define DuplicateString(x) DuplicateStringW(x)
+ #define DuplicateStringEx(x, y) DuplicateStringWEx((x), (y))
+#else
+ #define NewAnsiString(x) DuplicateStringA(x)
+ #define NewPortableString(x) DuplicateString(x)
+ #define DuplicateString(x) DuplicateStringA(x)
+ #define DuplicateStringEx(x, y) DuplicateStringAEx((x), (y))
+#endif
+
+//
+// String search functions
+//
+#define FindSubStr(str, strSearch) _tcsstr((str), (strSearch))
+LPTSTR FindSubStrI(LPCTSTR str, LPCTSTR strSearch);
+
+LPTSTR AppendPathSeparator(LPTSTR lpszPath);
+
+#ifdef __cplusplus
+} // extern "C"
+#endif
+
+#endif // __STRINGUTILS_H__
+
+/* EOF */
Propchange: trunk/reactos/base/applications/msconfig_new/stringutils.h
------------------------------------------------------------------------------
svn:eol-style = native
Added: trunk/reactos/base/applications/msconfig_new/utils.c
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/base/applications/msconfig…
==============================================================================
--- trunk/reactos/base/applications/msconfig_new/utils.c (added)
+++ trunk/reactos/base/applications/msconfig_new/utils.c [iso-8859-1] Sat Sep 5
13:03:04 2015
@@ -0,0 +1,177 @@
+#include "precomp.h"
+#include "utils.h"
+#include "stringutils.h"
+
+// HANDLE g_hHeap = GetProcessHeap();
+#define g_hHeap GetProcessHeap()
+
+#if 0
+VOID
+MemInit(IN HANDLE Heap)
+{
+ /* Save the heap handle */
+ g_hHeap = Heap;
+}
+#endif
+
+BOOL
+MemFree(IN PVOID lpMem)
+{
+ /* Free memory back into the heap */
+ return HeapFree(g_hHeap, 0, lpMem);
+}
+
+PVOID
+MemAlloc(IN DWORD dwFlags,
+ IN DWORD dwBytes)
+{
+ /* Allocate memory from the heap */
+ return HeapAlloc(g_hHeap, dwFlags, dwBytes);
+}
+
+LPWSTR
+FormatDateTime(IN LPSYSTEMTIME pDateTime)
+{
+ LPWSTR lpszDateTime = NULL;
+
+ if (pDateTime)
+ {
+ int iDateBufSize = 0, iTimeBufSize = 0;
+
+ iDateBufSize = GetDateFormatW(LOCALE_USER_DEFAULT,
+ /* Only for Windows 7 : DATE_AUTOLAYOUT | */
DATE_SHORTDATE,
+ pDateTime,
+ NULL,
+ NULL,
+ 0);
+ iTimeBufSize = GetTimeFormatW(LOCALE_USER_DEFAULT,
+ 0,
+ pDateTime,
+ NULL,
+ NULL,
+ 0);
+
+ if ( (iDateBufSize > 0) && (iTimeBufSize > 0) )
+ {
+ lpszDateTime = (LPWSTR)MemAlloc(0, (iDateBufSize + iTimeBufSize) *
sizeof(TCHAR));
+
+ GetDateFormatW(LOCALE_USER_DEFAULT,
+ /* Only for Windows 7 : DATE_AUTOLAYOUT | */ DATE_SHORTDATE,
+ pDateTime,
+ NULL,
+ lpszDateTime,
+ iDateBufSize);
+ if (iDateBufSize > 0) lpszDateTime[iDateBufSize-1] = L' ';
+ GetTimeFormatW(LOCALE_USER_DEFAULT,
+ 0,
+ pDateTime,
+ NULL,
+ lpszDateTime + iDateBufSize,
+ iTimeBufSize);
+ }
+ }
+
+ return lpszDateTime;
+}
+
+VOID
+FreeDateTime(IN LPWSTR lpszDateTime)
+{
+ if (lpszDateTime)
+ MemFree(lpszDateTime);
+}
+
+LPWSTR
+LoadResourceStringEx(IN HINSTANCE hInstance,
+ IN UINT uID,
+ OUT size_t* pSize OPTIONAL)
+{
+ LPWSTR lpszDestBuf = NULL, lpszResourceString = NULL;
+ size_t iStrSize = 0;
+
+ // When passing a zero-length buffer size, LoadString(...) returns a
+ // read-only pointer buffer to the program's resource string.
+ iStrSize = LoadString(hInstance, uID, (LPTSTR)&lpszResourceString, 0);
+
+ if ( lpszResourceString && ( (lpszDestBuf = (LPWSTR)MemAlloc(0, (iStrSize +
1) * sizeof(WCHAR))) != NULL ) )
+ {
+ _tcsncpy(lpszDestBuf, lpszResourceString, iStrSize);
+ lpszDestBuf[iStrSize] = L'\0'; // NULL-terminate the string
+
+ if (pSize)
+ *pSize = iStrSize + 1;
+ }
+ else
+ {
+ if (pSize)
+ *pSize = 0;
+ }
+
+ return lpszDestBuf;
+}
+
+LPWSTR
+LoadConditionalResourceStringEx(IN HINSTANCE hInstance,
+ IN BOOL bCondition,
+ IN UINT uIDifTrue,
+ IN UINT uIDifFalse,
+ IN size_t* pSize OPTIONAL)
+{
+ return LoadResourceStringEx(hInstance,
+ (bCondition ? uIDifTrue : uIDifFalse),
+ pSize);
+}
+
+LPWSTR
+GetExecutableVendor(IN LPCWSTR lpszFilename)
+{
+ LPWSTR lpszVendor = NULL;
+ DWORD dwHandle = 0;
+ DWORD dwLen;
+
+ LPVOID lpData;
+
+ LPVOID pvData = NULL;
+ UINT BufLen = 0;
+ WORD wCodePage = 0, wLangID = 0;
+ LPTSTR lpszStrFileInfo = NULL;
+
+ LPWSTR lpszData = NULL;
+
+ if (lpszFilename == NULL) return NULL;
+
+ dwLen = GetFileVersionInfoSizeW(lpszFilename, &dwHandle);
+ if (dwLen == 0) return NULL;
+
+ lpData = MemAlloc(0, dwLen);
+ if (!lpData) return NULL;
+
+ GetFileVersionInfoW(lpszFilename, dwHandle, dwLen, lpData);
+
+ if (VerQueryValueW(lpData, L"\\VarFileInfo\\Translation", &pvData,
&BufLen))
+ {
+ wCodePage = LOWORD(*(DWORD*)pvData);
+ wLangID = HIWORD(*(DWORD*)pvData);
+
+ lpszStrFileInfo =
FormatString(L"StringFileInfo\\%04X%04X\\CompanyName",
+ wCodePage,
+ wLangID);
+ }
+
+ VerQueryValueW(lpData, lpszStrFileInfo, (LPVOID*)&lpszData, &BufLen);
+ if (lpszData)
+ {
+ lpszVendor = (LPWSTR)MemAlloc(0, BufLen * sizeof(WCHAR));
+ if (lpszVendor)
+ wcscpy(lpszVendor, lpszData);
+ }
+ else
+ {
+ lpszVendor = NULL;
+ }
+
+ MemFree(lpszStrFileInfo);
+ MemFree(lpData);
+
+ return lpszVendor;
+}
Propchange: trunk/reactos/base/applications/msconfig_new/utils.c
------------------------------------------------------------------------------
svn:eol-style = native
Added: trunk/reactos/base/applications/msconfig_new/utils.h
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/base/applications/msconfig…
==============================================================================
--- trunk/reactos/base/applications/msconfig_new/utils.h (added)
+++ trunk/reactos/base/applications/msconfig_new/utils.h [iso-8859-1] Sat Sep 5
13:03:04 2015
@@ -0,0 +1,55 @@
+#ifndef __UTILS_H__
+#define __UTILS_H__
+
+#pragma once
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#if 0
+VOID
+MemInit(IN HANDLE Heap);
+#endif
+
+BOOL
+MemFree(IN PVOID lpMem);
+
+PVOID
+MemAlloc(IN DWORD dwFlags,
+ IN DWORD dwBytes);
+
+LPWSTR
+FormatDateTime(IN LPSYSTEMTIME pDateTime);
+
+VOID
+FreeDateTime(IN LPWSTR lpszDateTime);
+
+LPWSTR
+LoadResourceStringEx(IN HINSTANCE hInstance,
+ IN UINT uID,
+ OUT size_t* pSize OPTIONAL);
+
+LPWSTR
+LoadConditionalResourceStringEx(IN HINSTANCE hInstance,
+ IN BOOL bCondition,
+ IN UINT uIDifTrue,
+ IN UINT uIDifFalse,
+ IN size_t* pSize OPTIONAL);
+
+#define LoadResourceString(hInst, uID) \
+ LoadResourceStringEx((hInst), (uID), NULL)
+
+#define LoadConditionalResourceString(hInst, bCond, uIDifT, uIDifF) \
+ LoadConditionalResourceStringEx((hInst), (bCond), (uIDifT), (uIDifF), NULL)
+
+LPWSTR
+GetExecutableVendor(IN LPCWSTR lpszFilename);
+
+#ifdef __cplusplus
+} // extern "C"
+#endif
+
+#endif // __UTILS_H__
+
+/* EOF */
Propchange: trunk/reactos/base/applications/msconfig_new/utils.h
------------------------------------------------------------------------------
svn:eol-style = native