powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Какой API можно получить зарезервированные имена Windows?
4 сообщений из 4, страница 1 из 1
Какой API можно получить зарезервированные имена Windows?
    #33354225
Pantalone
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Например если посмотреть свойства любого диска в проводнике, там будет написано: Локальный диск, Съемный диск, Компакт-диск. Это в русской системе, в английской будут по английски.
В проводнике напротив размеров файлов написано КБ, в свойствах МБ. В английской версии винды будет KB и MB.
Для файлов с расширением не зарегистрированным в системе проводник выводит тип файла допустим для расширения .ABC будет Файл "ABC". В английской винде будет File "ABC".

Где все эти слова можно раздобыть?
...
Рейтинг: 0 / 0
Какой API можно получить зарезервированные имена Windows?
    #33354466
Melkiades
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вопрос на 5 баллов.

Часть из этого ты можешь вытащить через GetLocaleInfo (см. ниже), но это будут только константы из вкладки "Язык и региональные стандарты".
Вот их список:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
74.
75.
76.
77.
78.
79.
80.
81.
82.
83.
84.
85.
86.
87.
88.
89.
90.
91.
92.
93.
94.
Public Enum LocaleTypes
    LOCALE_ICENTURY = &H24        '  century format specifier
    LOCALE_ICOUNTRY = &H5         '  country code
    LOCALE_ICURRDIGITS = &H19        '  # local monetary digits
    LOCALE_ICURRENCY = &H1B        '  positive currency mode
    LOCALE_IDATE = &H21        '  short date format ordering
    LOCALE_IDAYLZERO = &H26        '  leading zeros in day field
    LOCALE_IDEFAULTCODEPAGE = &HB         '  default code page
    LOCALE_IDEFAULTCOUNTRY = &HA         '  default country code
    LOCALE_IDEFAULTLANGUAGE = &H9         '  default language id
    LOCALE_IDIGITS = &H11        '  number of fractional digits
    LOCALE_IINTLCURRDIGITS = &H1A        '  # intl monetary digits
    LOCALE_ILANGUAGE = &H1         '  language id
    LOCALE_ILDATE = &H22        '  long date format ordering
    LOCALE_ILZERO = &H12        '  leading zeros for decimal
    LOCALE_IMEASURE = &HD         '  0 = metric, 1 = US
    LOCALE_IMONLZERO = &H27        '  leading zeros in month field
    LOCALE_INEGCURR = &H1C        '  negative currency mode
    LOCALE_INEGSEPBYSPACE = &H57        '  mon sym sep by space from neg amt
    LOCALE_INEGSIGNPOSN = &H53        '  negative sign position
    LOCALE_INEGSYMPRECEDES = &H56        '  mon sym precedes neg amt
    LOCALE_IPOSSEPBYSPACE = &H55        '  mon sym sep by space from pos amt
    LOCALE_IPOSSIGNPOSN = &H52        '  positive sign position
    LOCALE_IPOSSYMPRECEDES = &H54        '  mon sym precedes pos amt
    LOCALE_ITIME = &H23        '  time format specifier
    LOCALE_ITLZERO = &H25        '  leading zeros in time field
    LOCALE_NOUSEROVERRIDE = &H80000000  '  do not use user overrides
    LOCALE_S1159 = &H28        '  AM designator
    LOCALE_S2359 = &H29        '  PM designator
    LOCALE_SABBREVCTRYNAME = &H7         '  abbreviated country name
    LOCALE_SABBREVDAYNAME1 = &H31        '  abbreviated name for Monday
    LOCALE_SABBREVDAYNAME2 = &H32        '  abbreviated name for Tuesday
    LOCALE_SABBREVDAYNAME3 = &H33        '  abbreviated name for Wednesday
    LOCALE_SABBREVDAYNAME4 = &H34        '  abbreviated name for Thursday
    LOCALE_SABBREVDAYNAME5 = &H35        '  abbreviated name for Friday
    LOCALE_SABBREVDAYNAME6 = &H36        '  abbreviated name for Saturday
    LOCALE_SABBREVDAYNAME7 = &H37        '  abbreviated name for Sunday
    LOCALE_SABBREVLANGNAME = &H3         '  abbreviated language name
    LOCALE_SABBREVMONTHNAME1 = &H44        '  abbreviated name for January
    LOCALE_SABBREVMONTHNAME10 = &H4D        '  abbreviated name for October
    LOCALE_SABBREVMONTHNAME11 = &H4E        '  abbreviated name for November
    LOCALE_SABBREVMONTHNAME12 = &H4F        '  abbreviated name for December
    LOCALE_SABBREVMONTHNAME13 = &H100F
    LOCALE_SABBREVMONTHNAME2 = &H45        '  abbreviated name for February
    LOCALE_SABBREVMONTHNAME3 = &H46        '  abbreviated name for March
    LOCALE_SABBREVMONTHNAME4 = &H47        '  abbreviated name for April
    LOCALE_SABBREVMONTHNAME5 = &H48        '  abbreviated name for May
    LOCALE_SABBREVMONTHNAME6 = &H49        '  abbreviated name for June
    LOCALE_SABBREVMONTHNAME7 = &H4A        '  abbreviated name for July
    LOCALE_SABBREVMONTHNAME8 = &H4B        '  abbreviated name for August
    LOCALE_SABBREVMONTHNAME9 = &H4C        '  abbreviated name for September
    LOCALE_SCOUNTRY = &H6         '  localized name of country
    LOCALE_SCURRENCY = &H14        '  local monetary symbol
    LOCALE_SDATE = &H1D        '  date separator
    LOCALE_SDAYNAME1 = &H2A        '  long name for Monday
    LOCALE_SDAYNAME2 = &H2B        '  long name for Tuesday
    LOCALE_SDAYNAME3 = &H2C        '  long name for Wednesday
    LOCALE_SDAYNAME4 = &H2D        '  long name for Thursday
    LOCALE_SDAYNAME5 = &H2E        '  long name for Friday
    LOCALE_SDAYNAME6 = &H2F        '  long name for Saturday
    LOCALE_SDAYNAME7 = &H30        '  long name for Sunday
    LOCALE_SDECIMAL = &HE         '  decimal separator
    LOCALE_SENGCOUNTRY = &H1002      '  English name of country
    LOCALE_SENGLANGUAGE = &H1001      '  English name of language
    LOCALE_SGROUPING = &H10        '  digit grouping
    LOCALE_SINTLSYMBOL = &H15        '  intl monetary symbol
    LOCALE_SLANGUAGE = &H2         '  localized name of language
    LOCALE_SLIST = &HC         '  list item separator
    LOCALE_SLONGDATE = &H20        '  long date format string
    LOCALE_SMONDECIMALSEP = &H16        '  monetary decimal separator
    LOCALE_SMONGROUPING = &H18        '  monetary grouping
    LOCALE_SMONTHNAME1 = &H38        '  long name for January
    LOCALE_SMONTHNAME10 = &H41        '  long name for October
    LOCALE_SMONTHNAME11 = &H42        '  long name for November
    LOCALE_SMONTHNAME12 = &H43        '  long name for December
    LOCALE_SMONTHNAME2 = &H39        '  long name for February
    LOCALE_SMONTHNAME3 = &H3A        '  long name for March
    LOCALE_SMONTHNAME4 = &H3B        '  long name for April
    LOCALE_SMONTHNAME5 = &H3C        '  long name for May
    LOCALE_SMONTHNAME6 = &H3D        '  long name for June
    LOCALE_SMONTHNAME7 = &H3E        '  long name for July
    LOCALE_SMONTHNAME8 = &H3F        '  long name for August
    LOCALE_SMONTHNAME9 = &H40        '  long name for September
    LOCALE_SMONTHOUSANDSEP = &H17        '  monetary thousand separator
    LOCALE_SNATIVECTRYNAME = &H8         '  native name of country
    LOCALE_SNATIVEDIGITS = &H13        '  native ascii 0-9
    LOCALE_SNATIVELANGNAME = &H4         '  native name of language
    LOCALE_SNEGATIVESIGN = &H51        '  negative sign
    LOCALE_SPOSITIVESIGN = &H50        '  positive sign
    LOCALE_SSHORTDATE = &H1F        '  short date format string
    LOCALE_STHOUSAND = &HF         '  thousand separator
    LOCALE_STIME = &H1E        '  time separator
    LOCALE_STIMEFORMAT = &H1003      '  time format string
End Enum

А вот и примерчик:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
Const LOCALE_USER_DEFAULT = &H400
Const LOCALE_SENGCOUNTRY = &H1002 '  English name of country
Const LOCALE_SENGLANGUAGE = &H1001  '  English name of language
Const LOCALE_SNATIVELANGNAME = &H4  '  native name of language
Const LOCALE_SNATIVECTRYNAME = &H8  '  native name of country
Private Declare Function GetLocaleInfo Lib "kernel32" Alias "GetLocaleInfoA" (ByVal Locale As Long, ByVal LCType As Long, ByVal lpLCData As String, ByVal cchData As Long) As Long
Private Sub Form_Load()
    MsgBox "You live in " & GetInfo(LOCALE_SENGCOUNTRY) & " (" & GetInfo(LOCALE_SNATIVECTRYNAME) & ")," & vbCrLf & "and you speak " & GetInfo(LOCALE_SENGLANGUAGE) & " (" & GetInfo(LOCALE_SNATIVELANGNAME) & ").", vbInformation
End Sub
Public Function GetInfo(ByVal lInfo As Long) As String
    Dim Buffer As String, Ret As String
    Buffer = String$( 256 ,  0 )
    Ret = GetLocaleInfo(LOCALE_USER_DEFAULT, lInfo, Buffer, Len(Buffer))
    If Ret >  0  Then
        GetInfo = Left$(Buffer, Ret -  1 )
    Else
        GetInfo = ""
    End If
End Function


А по поводу названий дисков или Мб - имхо, вряд ли получится это вытащить.
Буду рад ошибаться. :)
...
Рейтинг: 0 / 0
Какой API можно получить зарезервированные имена Windows?
    #33354481
Андрей Il
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Можно посмотреть константы. Например, для Drives есть DriveTypeConst и т.д.
...
Рейтинг: 0 / 0
Какой API можно получить зарезервированные имена Windows?
    #33380580
Андрей Il
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вот пример на VBScript. То это или нет?

strComputer = "."
strNameSpace = "root\cimv2"
strClass = "Win32_Service"

Set objClass = GetObject("winmgmts:\\" & strComputer & _
"\" & strNameSpace & ":" & strClass)

WScript.Echo strClass & " Class Qualifiers"
WScript.Echo "------------------------------"
i = 1
For Each objClassQualifier In objClass.Qualifiers_
If VarType(objClassQualifier.Value) = (vbVariant + vbArray) Then
strQualifier = i & ". " & objClassQualifier.Name & " = " & _
Join(objClassQualifier.Value, ",")
Else
strQualifier = i & ". " & objClassQualifier.Name & " = " & _
objClassQualifier.Value
End If
WScript.Echo strQualifier
strQualifier = ""
i = i + 1
Next

WScript.Echo
WScript.Echo strClass & " Class Properties and Property Qualifiers"
WScript.Echo "------------------------------------------------------"
i = 1 : j = 1
For Each objClassProperty In objClass.Properties_
WScript.Echo i & ". " & objClassProperty.Name
For Each objPropertyQualifier In objClassProperty.Qualifiers_
If VarType(objPropertyQualifier.Value) = (vbVariant + vbArray) Then
strQualifier = i & "." & j & ". " & _
objPropertyQualifier.Name & " = " & _
Join(objPropertyQualifier.Value, ",")
Else
strQualifier = i & "." & j & ". " & _
objPropertyQualifier.Name & " = " & _
objPropertyQualifier.Value
End If
WScript.Echo strQualifier
strQualifier = ""
j = j + 1
Next
WScript.Echo
i = i + 1 : j = 1
Next

WScript.Echo
WScript.Echo strClass & " Class Methods and Method Qualifiers"
WScript.Echo "-------------------------------------------------"
i = 1 : j = 1
For Each objClassMethod In objClass.Methods_
WScript.Echo i & ". " & objClassMethod.Name
For Each objMethodQualifier In objClassMethod.Qualifiers_
If VarType(objMethodQualifier.Value) = (vbVariant + vbArray) Then
strQualifier = i & "." & j & ". " & _
objMethodQualifier.Name & " = " & _
Join(objMethodQualifier.Value, ",")
Else
strQualifier = i & "." & j & ". " & _
objMethodQualifier.Name & " = " & _
objMethodQualifier.Value
End If
WScript.Echo strQualifier
strQualifier = ""
j = j + 1
Next
WScript.Echo
i = i + 1 : j = 1
Next
...
Рейтинг: 0 / 0
4 сообщений из 4, страница 1 из 1
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Какой API можно получить зарезервированные имена Windows?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]