Вверх ↑
Этот топик читают: Гость
Ответов: 1379
Рейтинг: 86
#1: 2009-11-10 22:40:52 ЛС | профиль | цитата
У меня такой вопрос возник, пробовал искать на форуме, ничего похожего не нашел (запросы: "информация об ос", информация о операционной системе клиента" и т.п.)
Как можно узнать, какая ОС стоит у того, кто мою программу запустил (мне понадобилось для определения имени звукогого файла из папки media для последующего проигрывания его - просто есть разница в именах файлов между виста и xp) Да и вообще такой компонент не помешает . Но если это будет для антивирусов проблемой, тогда ладно, можно и без него.
Спасибо!
карма: 0

0
vip
#1.1контекстная реклама от партнеров
Ответов: 970
Рейтинг: 270
#2: 2009-11-10 23:11:01 ЛС | профиль | цитата
code_15614.txt
карма: 0

0
файлы: 1code_15614.txt [1.7KB] [339]
Ответов: 871
Рейтинг: 322
#3: 2009-11-10 23:13:49 ЛС | профиль | цитата
petrocan, Посмотри схемы 11 страница, тема - Почти все о вашем друге.
карма: 1

0
Ответов: 4641
Рейтинг: 334
#4: 2009-11-10 23:21:53 ЛС | профиль | цитата
есть компонент ComputerInfo, который надо доработать. и все!
карма: 1
Время верстки: %cr_time% Текущее время: %time%
0
Ответов: 1379
Рейтинг: 86
#5: 2009-11-10 23:25:57 ЛС | профиль | цитата
Ravilr, согласен! Или ты это мне говоришь?!
карма: 0

0
Ответов: 4641
Рейтинг: 334
#6: 2009-11-10 23:31:40 ЛС | профиль | цитата
Genius писал(а):
code_15614.txt

так

Add(MainForm,4948405,70,231)
{
Visible=1
link(onCreate,11827282:doConsoleExec,[])
}
Add(WinExec,11827282,119,231)
{
FileName="cmd"
Point(doConsoleExec)
Point(doConsoleInput)
Point(onConsoleResult)
Point(onConsoleError)
Point(onConsoleTerminate)
link(onConsoleResult,1196985:doEvent1,[])
}
Add(BlockFind,7202175,252,238)
{
IncludeBlock=1
StartBlock="Microsoft Windows"
EndBlock="]"
link(onSearch,3830177:doCompare,[])
}
Add(StrMask,3830177,315,238)
{
Mask="*6.1*"
link(onFalse,11513693:doCompare,[])
link(onTrue,7058907:doMessage,[(363,251)(363,293)])
}
Add(StrMask,11513693,385,238)
{
Mask="*5.0*"
link(onFalse,501431:doCompare,[])
link(onTrue,7911790:doMessage,[(436,251)(436,293)])
}
Add(StrMask,501431,455,238)
{
Mask="*5.1*"
link(onFalse,49131:doCompare,[])
link(onTrue,2334658:doMessage,[(506,251)(506,293)])
}
Add(StrMask,49131,526,238)
{
Mask="*5.2*"
link(onFalse,4544800:doCompare,[])
link(onTrue,4077594:doMessage,[(580,251)(580,293)])
}
Add(Message,2334658,525,287)
{
Message="Windows XP"
}
Add(Message,4077594,603,287)
{
Message="Windows Server 2003"
}
Add(Message,7790469,694,287)
{
Message="Windows Vista"
}
Add(StrMask,4544800,617,238)
{
Mask="*6.0*"
link(onFalse,118715:doMessage,[])
link(onTrue,7790469:doMessage,[(671,251)(671,293)])
}
Add(Message,118715,693,238)
{
Message="Неизвестно!"
}
Add(Charset,3537787,203,238)
{
link(onCharset,7202175:doSearch,[])
}
Add(Message,7911790,455,287)
{
Message="Windows 2000"
}
Add(Message,7058907,385,287)
{
Message="Windows 7"
}
Add(Hub,1196985,168,238)
{
link(onEvent1,3537787:doCharset,[])
link(onEvent2,4948405:doClose,[(194,251)(194,273)(56,273)(56,258)])
}


------------ Дoбавленo в 23.32:
petrocan писал(а):
Или ты это мне говоришь

не тебе, а вообще.
карма: 1
Время верстки: %cr_time% Текущее время: %time%
0
Ответов: 1379
Рейтинг: 86
#7: 2009-11-10 23:32:55 ЛС | профиль | цитата
Genius, у меня твоя схема после запуска не подает признаков жизни

kamakama, спасибо за совет, скачал ту схему, вроде то! Далее дело техники! (вычерпнуть из этого строку с названием системы)

Ravilr писал(а):
так
code_15615.txt

Да, вот так работает! Спасибо!
карма: 0

0
Ответов: 273
Рейтинг: 29
#8: 2009-11-11 01:58:15 ЛС | профиль | цитата
А можно просто произвести поиск этого файла по всем возможным путям(список создать надо) и все...
карма: 0

0
Ответов: 4622
Рейтинг: 746
#9: 2009-11-11 11:45:44 ЛС | профиль | цитата
petrocan писал(а):
для определения имени звукогого файла из папки media

Действительно, можно просто перебрать все файлы в папке media.
Но ведь, независимо от версии ОС, названия этих файлов в конкретного пользователя могут отличаться (например, если Windows какой-то сторонней сборки).
Другой способ - это получить название файла, который используется для озвучки какого-либо действия в текущей звуковой схеме.
В ключе реестра HKEY_CURRENT_USERAppEventsSchemesNames перечислены имеющиеся в пользователя звуковые схемы.
В ключе "HKEY_CURRENT_USERAppEventsSchemesApps.Defaultдействиеимя_схемы" в параметре по умолчанию задан путь к файлу, озвучивающему данное "действие"

Для того, чтобы получить текущий звук, например, для действия "Восклицание" нужно считать параметр по-умолчанию ключа
"HKEY_CURRENT_USERAppEventsSchemesApps.DefaultSystemAsterisk.Current", где SystemAsterisk - действие, .Current - схема, которая установлена в данный момент.
карма: 26

0
Ответов: 1379
Рейтинг: 86
#10: 2009-11-11 19:46:15 ЛС | профиль | цитата
Netspirit, согласен, но программа такова, что не особо это важно - лишний раз напомнит, что нужно использовать легальную винду
А вообще, это я привел пример, где может понадобится. Была эта прога будильник. Да, если размер проги неважен, то можно и звук в нее запихать. Просто здесь было неважно и звук можно выбрать самому и сохранить значение в ini файле.

tomas писал(а):
А можно просто произвести поиск этого файла по всем возможным путям(список создать надо) и все...

Можно и так. Но мне было интересно узнать именно этот способ.
карма: 0

0
10
Сообщение
...
Прикрепленные файлы
(файлы не залиты)