Форум
Написать нам
  • Страница 1 из 2
  • 1
  • 2
  • »
Модератор форума: as-master  
Проблема Rundll32
чукчаДата: Воскресенье, 19 Апреля 2009, 14:17 | Сообщение # 1
Поднаторевший
Группа: Проверенные
Сообщений: 129
Репутация: 0
Награды: 2
Статус: Offline
Парни!Прошу может кто знает как в МВВ запустить файл sapi.cpl находящийся - c:\Program Files\Common Files\Microsoft Shared\Speech\sapi.cpl?Всеми известными МНЕ командами через Rundll32 типа:
Run("RunDLL32.EXE","shell32.dll,Control_RunDLL mmsys.cpl,,0") и др. а я их накопал в инете с полсотни,не получается!Вот почти всё есть,а на sapi.cpl,блин, найти не могу!

Добавлено (19 Апрель 2009, 14:17)
---------------------------------------------
Простите ,что начал новую тему!Попрошу потом админа,переместит куда надо или удалить!

Сообщение отредактировал чукча - Воскресенье, 19 Апреля 2009, 14:20
 
toizyДата: Воскресенье, 19 Апреля 2009, 14:35 | Сообщение # 2
Студийная субстанция
Группа: Администраторы
Сообщений: 2309
Репутация: 29
Награды: 12
Статус: Offline
Лучше объясни, что ты хочешь этим сделать.

Добавлено (19 Апрель 2009, 14:35)
---------------------------------------------
Если просто открыть диалог настройки голоса, то примерно так:

Code
Run("rundll32.exe","shell32.dll Control_RunDLL sapi.cpl")

Или нужно что-то другое?


Жизнь оказалась не такой уж и забавной, как поначалу...
 
чукчаДата: Воскресенье, 19 Апреля 2009, 14:55 | Сообщение # 3
Поднаторевший
Группа: Проверенные
Сообщений: 129
Репутация: 0
Награды: 2
Статус: Offline
Др.ДСС!Опять Вас беспокою!Дело в том,что при запуске этого файла открывается диалог в котором предлагается выбрать любой голосовой движок из установленых в системе а также другие настройки ,типа скорость тембр и т.д и они действуют потом по-умолчанию!

С уважением!Чукча.

Добавлено (19 Апрель 2009, 14:45)
---------------------------------------------
Нет ув.ДСС этот путь я уже прошел - Run("rundll32.exe","shell32.dll Control_RunDLL sapi.cpl") - не открывает!

Добавлено (19 Апрель 2009, 14:55)
---------------------------------------------
..извините меня др.ДСС!Просто я нетерпеливый очень,мне б конечно нужно что б смена голоса в плагине была,поскольку смена голоса на разные события - это то что надо(не будешь же каждый раз лазить в настройки движка),но ожидания неопределённы - будет,не будет это в плагине неизвестно,а мне нужно искать решение этой проблемы своими силами!

 
toizyДата: Воскресенье, 19 Апреля 2009, 14:59 | Сообщение # 4
Студийная субстанция
Группа: Администраторы
Сообщений: 2309
Репутация: 29
Награды: 12
Статус: Offline
Ну у меня же работает... Попробуй указать абсолютный путь... Хотя, какая разница...

Жизнь оказалась не такой уж и забавной, как поначалу...
 
чукчаДата: Воскресенье, 19 Апреля 2009, 15:13 | Сообщение # 5
Поднаторевший
Группа: Проверенные
Сообщений: 129
Репутация: 0
Награды: 2
Статус: Offline
Вот незадача!У меня не открывается!Любые настройки из панели управления (папка system32) в МВВ открываются,а этот файл лежит не в этой папке.И почему не открывается?Уже башка гудит!

Добавлено (19 Апрель 2009, 15:13)
---------------------------------------------
Даже такие заковыристые команды работают:
RunDll32.exe InetCpl.cpl,ClearMyTracksByProcess 1 - очистка журнала посещённых веб-узлов;
RunDll32.exe InetCpl.cpl,ClearMyTracksByProcess 2 - удаление файлов cookie;
RunDll32.exe InetCpl.cpl,ClearMyTracksByProcess 8 - очистка кэша браузера;
RunDll32.exe InetCpl.cpl,ClearMyTracksByProcess 16 - очистка данных веб-форм;
RunDll32.exe InetCpl.cpl,ClearMyTracksByProcess 32 - удаление сохранённых сетевых паролей;
RunDll32.exe InetCpl.cpl,ClearMyTracksByProcess 255 - удаление всей пользовательской информации из браузера.
...а эта нет!

 
toizyДата: Воскресенье, 19 Апреля 2009, 15:35 | Сообщение # 6
Студийная субстанция
Группа: Администраторы
Сообщений: 2309
Репутация: 29
Награды: 12
Статус: Offline
Quote (чукча)
а этот файл лежит не в этой папке

Это как понимать? А по какому пути лежит? Значит, указывай абсолютный путь.


Жизнь оказалась не такой уж и забавной, как поначалу...
 
чукчаДата: Воскресенье, 19 Апреля 2009, 15:50 | Сообщение # 7
Поднаторевший
Группа: Проверенные
Сообщений: 129
Репутация: 0
Награды: 2
Статус: Offline
Quote (чукча)
Парни!Прошу может кто знает как в МВВ запустить файл sapi.cpl находящийся - c:\Program Files\Common Files\Microsoft Shared\Speech\sapi.cpl?

Абсолютный путь тоже не помогает!

 
toizyДата: Воскресенье, 19 Апреля 2009, 16:52 | Сообщение # 8
Студийная субстанция
Группа: Администраторы
Сообщений: 2309
Репутация: 29
Награды: 12
Статус: Offline
Версия Win, версия и вендер Speech API...

Добавлено (19 Апрель 2009, 16:52)
---------------------------------------------
Ладно, раз такие траблы, вкатаю работу со speechAPI в плагин...


Жизнь оказалась не такой уж и забавной, как поначалу...
 
RushДата: Воскресенье, 19 Апреля 2009, 18:18 | Сообщение # 9
Обозреватель-консультант
Группа: Проверенные
Сообщений: 216
Репутация: 10
Награды: 1
Статус: Offline
А если так попробовать?
p$='shell32.dll Control_RunDLL "c:\Program Files\Common Files\Microsoft Shared\Speech\sapi.cpl"'
Run("'rundll32.exe","p$")
 
Alex3AДата: Воскресенье, 19 Апреля 2009, 18:53 | Сообщение # 10
Друг клуба ММВ
Группа: Проверенные
Сообщений: 2646
Репутация: 39
Награды: 11
Статус: Offline
Quote (Rush)
А если так попробовать?

НЕ факт что sapi.cpl у toizy = sapi.cpl у чукча.
Мне так кажется что шара от мелкософта Microsoft Shared может быть разная :D
 
RushДата: Воскресенье, 19 Апреля 2009, 19:15 | Сообщение # 11
Обозреватель-консультант
Группа: Проверенные
Сообщений: 216
Репутация: 10
Награды: 1
Статус: Offline
Я, в принципе, исходил из того простого факта, что не будет работать из-за пробелов в маршруте, если не заключить в кавычки.
А остальное - по мере отсекания наиболее вероятных причин... :)
 
чукчаДата: Воскресенье, 19 Апреля 2009, 20:48 | Сообщение # 12
Поднаторевший
Группа: Проверенные
Сообщений: 129
Репутация: 0
Награды: 2
Статус: Offline
Quote (Rush)
А если так попробовать?
p$='shell32.dll Control_RunDLL "c:\Program Files\Common Files\Microsoft Shared\Speech\sapi.cpl"'
Run("'rundll32.exe","p$")

Не помогает!!

Добавлено (19 Апрель 2009, 20:48)
---------------------------------------------
Весия винды 5.01.2600

Code
c:\Program Files\Common Files\Microsoft Shared\Speech\sapi.dll
on Microsoft Windows XP Workstation version 5.2600
File Version Information :

Version language : Английский (США)
CompanyName    : Microsoft Corporation
FileDescription    : SAPI 5
FileVersion    : 5.1.4111.00 (xpsp_sp2_rtm.040803-2158)
InternalName    : SAPI5
LegalCopyright    : © Microsoft Corporation. All rights reserved.
OriginalFilename    : SAPI5
ProductName    : Microsoft® Windows(tm) Operating System
ProductVersion    : 5.1.4111.00

Creation Date    : 22/02/2009 21:04:42
Last Modif. Date    : 18/08/2003 03:00:00
Last Access Date    : 19/04/2009 20:46:22
FileSize    : 741376 bytes ( 724.000 KB, 0.707 MB )
FileVersionInfoSize    : 1732 bytes
File type    : Dynamic Link Library (0x2)
Target OS    : Win16 (MS-DOS) (0x10004)
File/Product version    : 5.1.4111.0 / 5.1.4111.0
Language  : Английский (США) (0x409)
Character Set    : 1200 (ANSI - Unicode (BMP of ISO 10646)) (0x4B0)

Build Information :
Debug Version    : no
Patched Version    : no
Prerelease Version    : no
Private Version    : no
Special Build    : no

c:\Program Files\Common Files\Microsoft Shared\Speech\sapi.cpl
on Microsoft Windows XP Workstation version 5.2600
File Version Information :  
Version language : Русский
       CompanyName    : Корпорация Майкрософт
       FileDescription    : SAPI 5
       FileVersion    : 5.1.4111.00  (xpsp_sp2_rtm.040803-2158)
       InternalName    : SAPI5
       LegalCopyright    : © Корпорация Майкрософт. Все права защищены.
       OriginalFilename    : SAPI5
       ProductName    : Операционная система Microsoft® Windows(TM)
       ProductVersion    : 5.1.4111.00  

Creation Date    : 22/02/2009  21:04:42  
Last Modif. Date    : 18/08/2003  03:00:00  
Last Access Date    : 19/04/2009  20:57:07  
FileSize    : 155648 bytes ( 152.000 KB,  0.148 MB )  
FileVersionInfoSize    : 1748 bytes   
File type    : Dynamic Link Library (0x2)  
Target OS    : Win16 (MS-DOS) (0x10004)  
File/Product version    : 5.1.4111.0 / 5.1.4111.0
Language  : Русский (0x419)  
Character Set    : 1200 (ANSI - Unicode (BMP of ISO 10646)) (0x4B0)  

Build Information :  
Debug Version    : no  
Patched Version    : no  
Prerelease Version    : no  
Private Version    : no  
Special Build    : no


Сообщение отредактировал чукча - Воскресенье, 19 Апреля 2009, 20:58
 
Alex3AДата: Воскресенье, 19 Апреля 2009, 20:59 | Сообщение # 13
Друг клуба ММВ
Группа: Проверенные
Сообщений: 2646
Репутация: 39
Награды: 11
Статус: Offline
Тут очевидно не в этом проблема, как оформить обращение можно выгуглить, мож у тебя не все запущено как ему надо,
к примеру, мож должен быть запущен какой процес или сервис что бы оно работало, а мож где то что то надо настроить,
наподобе всяких алиасов с БД и прочей хренотени, мелкософт это любит.
 
чукчаДата: Воскресенье, 19 Апреля 2009, 21:13 | Сообщение # 14
Поднаторевший
Группа: Проверенные
Сообщений: 129
Репутация: 0
Награды: 2
Статус: Offline
Вы знаете,ув.Alex3A ,я всё испробовал!Ведь он запускается из Винды в любом виде,и с запущенным голосовым движком и с не запущенным и из комманднойстроки и просто по клику и пр. и пр. и пр. ...вот тока в ММВ не хочет!
 
PeterДата: Воскресенье, 19 Апреля 2009, 21:48 | Сообщение # 15
Админ NeoBook
Группа: Админ NeoBook
Сообщений: 1265
Репутация: 75
Награды: 18
Статус: Offline
Я, конечно, дико извиняюсь... :)
Попробуйте "обменяться" скомпиллированными экзешниками проекта, и посмотреть ЧТО будет.
Если ничего не измениться, то проблему точно надо искать в системе....


Никто не может вернуться в прошлое и изменить свой старт.
Но каждый может стартовать сейчас и изменить свой финиш!
 
Alex3AДата: Воскресенье, 19 Апреля 2009, 22:05 | Сообщение # 16
Друг клуба ММВ
Группа: Проверенные
Сообщений: 2646
Репутация: 39
Награды: 11
Статус: Offline
Значит что то ты не так пишеш, попробуй выполнить команду из командной строки или смд.ехе.
Посмотри тут
Quote
http://subscribe.ru/blog/comp.soft.win.wintipsb00ks/post/20081124002215
 
чукчаДата: Воскресенье, 19 Апреля 2009, 22:25 | Сообщение # 17
Поднаторевший
Группа: Проверенные
Сообщений: 129
Репутация: 0
Награды: 2
Статус: Offline
Quote (Rush)
А если так попробовать?
p$='shell32.dll Control_RunDLL "c:\Program Files\Common Files\Microsoft Shared\Speech\sapi.cpl"'
Run("'rundll32.exe","p$")

Упс!У Вас тут лишняя одинарная кавычка!Это ошибка была роковой!Увидел тока счас,исправил и....... вот ,блин,всё ПОЕХАЛО!!!

Ваш путь т.Rush,оказался единственно верным!Респект огромный!

Счас попробую закрывать из МВВ.Похоже это тоже проблема!

Добавлено (19 Апрель 2009, 22:25)
---------------------------------------------

Quote (Alex3A)
Значит что то ты не так пишеш

это так и получилось!

И всё ж может кто обьяснит ,почему так:
Run("rundll32.exe","shell32.dll Control_RunDLL c:\Program Files\Common Files\Microsoft Shared\Speech\sapi.cpl")
не идёт!
...а так:
p$='shell32.dll Control_RunDLL "c:\Program Files\Common Files\Microsoft Shared\Speech\sapi.cpl"'
Run("rundll32.exe","p$")
рулит!

 
Alex3AДата: Воскресенье, 19 Апреля 2009, 22:29 | Сообщение # 18
Друг клуба ММВ
Группа: Проверенные
Сообщений: 2646
Репутация: 39
Награды: 11
Статус: Offline
Да я вижу что ты поклонник "копипасте", кавычку видел, думал что очепятка при наборе в посте, еще легко отделался,
хоть заметно, а поставил бы букву С вместо буквы C ни в жизнь бы не нашел B)
 
чукчаДата: Воскресенье, 19 Апреля 2009, 22:44 | Сообщение # 19
Поднаторевший
Группа: Проверенные
Сообщений: 129
Репутация: 0
Награды: 2
Статус: Offline
поклонник "копипасте"
Эт точно!

пы.сы Так как же с обьяснением?

и вторая проблема - как теперь закрыть это самое sapi из ММВ?

Quote (Alex3A)
Да я вижу что ты

Добавлено (19 Апрель 2009, 22:41)
---------------------------------------------
Ой ,блин,я туплю уже в конец!!!! Там же кнопуля "ОК" есть! Одно слово - чукча!

Добавлено (19 Апрель 2009, 22:44)
---------------------------------------------
ВСЕМ СПАСИБО!Огромное!

Но всё ж подожду ,моть хто и растолкует разницу в командах!

Сообщение отредактировал чукча - Воскресенье, 19 Апреля 2009, 22:36
 
Alex3AДата: Воскресенье, 19 Апреля 2009, 22:49 | Сообщение # 20
Друг клуба ММВ
Группа: Проверенные
Сообщений: 2646
Репутация: 39
Награды: 11
Статус: Offline
А ни как, вернее мышом или клавой, чем ты закрываеш без ммв?
Ну если так, по нахалке, убив процес, погугли по команде TASKKILL.

Добавлено (19 Апрель 2009, 22:49)
---------------------------------------------

Quote (чукча)
моть хто и растолкует разницу в командах!

Какой такой разница?
 
чукчаДата: Воскресенье, 19 Апреля 2009, 22:57 | Сообщение # 21
Поднаторевший
Группа: Проверенные
Сообщений: 129
Репутация: 0
Награды: 2
Статус: Offline
Quote (чукча)
И всё ж может кто обьяснит ,почему так:
Run("rundll32.exe","shell32.dll Control_RunDLL c:\Program Files\Common Files\Microsoft Shared\Speech\sapi.cpl")
не идёт!
...а так:
p$='shell32.dll Control_RunDLL "c:\Program Files\Common Files\Microsoft Shared\Speech\sapi.cpl"'
Run("rundll32.exe","p$")
рулит!

В чём разница?

 
DEMBELДата: Воскресенье, 19 Апреля 2009, 22:57 | Сообщение # 22
Наш дизайнер
Группа: Модераторы
Сообщений: 2266
Репутация: 135
Награды: 32
Статус: Offline
Quote (чукча)
Но всё ж подожду ,моть хто и растолкует разницу в командах!

из опыта скажу (я не знаю почему так получается, только догадываюсь), что запуская напрямую через Run длинную командную строку с параметрами, кавычками, то она может некорректно обрабатываться. А если ее предварительно записать целиком в отдельную переменную, а уже потом подставлять в Run, то все работает чотко.




Win7x64 SP1 Neobook v5.70 (Trial)
WinXP SP3 Neobook v5.62
 
чукчаДата: Воскресенье, 19 Апреля 2009, 23:04 | Сообщение # 23
Поднаторевший
Группа: Проверенные
Сообщений: 129
Репутация: 0
Награды: 2
Статус: Offline
Дык что?Значит лучше так всегда делать т.е. писать переменную и вставлять в Run?Или это уникальный случай?
 
DEMBELДата: Воскресенье, 19 Апреля 2009, 23:11 | Сообщение # 24
Наш дизайнер
Группа: Модераторы
Сообщений: 2266
Репутация: 135
Награды: 32
Статус: Offline
Quote (чукча)
Дык что?Значит лучше так всегда делать

нет не всегда, но если командная строка получается сложной, с многими параметрами, да если еще в ней задаются параметры самой ммб, типа WAIT, или HIDE, то лучше запихать в переменную и писать например:
p$='shell32.dll Control_RunDLL "c:\Program Files\Common Files\Microsoft Shared\Speech\sapi.cpl"'
Run("rundll32.exe","WAIT,p$")




Win7x64 SP1 Neobook v5.70 (Trial)
WinXP SP3 Neobook v5.62
 
Alex3AДата: Воскресенье, 19 Апреля 2009, 23:14 | Сообщение # 25
Друг клуба ММВ
Группа: Проверенные
Сообщений: 2646
Репутация: 39
Награды: 11
Статус: Offline
Если ты по поводу путей к файлу sapi.cpl, то тут просто, верно путь указан - работает нет неработает,
можно и без указания пути, но только если путь к нему перечислен в системном окружении, переменные среды.
Quote (чукча)
В чём разница?

Разница в кавычках,
"shell32.dll Control_RunDLL c:\Program Files\Common Files\Microsoft Shared\Speech\sapi.cpl"
'shell32.dll Control_RunDLL "c:\Program Files\Common Files\Microsoft Shared\Speech\sapi.cpl"'
" в первом случае используються для разделения пределов текста внутри команды,
во втором имя аплета с путем взяты в кавычки, нестыковочка по оформлению происходит,
слеш -\ в имени аплета, в первом случае, воспринимаеться по его назначению.
"shell32.dll Control_RunDLL c:\\Program Files\\Common Files\\Microsoft Shared\\Speech\\sapi.cpl"
Типа так вроде должно.
 
чукчаДата: Воскресенье, 19 Апреля 2009, 23:23 | Сообщение # 26
Поднаторевший
Группа: Проверенные
Сообщений: 129
Репутация: 0
Награды: 2
Статус: Offline
ОК ув.DEMBEL!Ясно!Спасибо!

Добавлено (19 Апрель 2009, 23:23)
---------------------------------------------

Quote (Alex3A)
"shell32.dll Control_RunDLL c:\\Program Files\\Common Files\\Microsoft Shared\\Speech\\sapi.cpl"
Типа так вроде должно.

Попробывал!(без"копипасте")Увы,ув.Alex3A,не пашет!Вероятней всего всё ж ответ т.DEMBEL(я) убедительней!

 
Alex3AДата: Понедельник, 20 Апреля 2009, 00:04 | Сообщение # 27
Друг клуба ММВ
Группа: Проверенные
Сообщений: 2646
Репутация: 39
Награды: 11
Статус: Offline
Это я так тебе, навскидку, типа, разница в восприятии строк, в каждом месте свои правила написания, и пока в них разберешся,
попотееш. И это касается не только этого конкретного примера, такое часто бывает не только в ммб, но и в других
языках и средах. Если не поленишся и сделаеш рабочий вариант без использования переменной будеш молоток,
ибо поймеш в чем суть, и в следующий раз будеш знать как с этим бороться. А если оставиш это на уровне "табу",
рано или позно упрешся в такой вариант что не будет работать ни та ни так.
Quote (Alex3A)
"shell32.dll Control_RunDLL \"c:\\Program Files\\Common Files\\Microsoft Shared\\Speech\\sapi.cpl\""

без гарантий работоспособности
Смысл этого уметь находить правильный подход.
Самое главное не все знать а уметь найти нужные знания.
 
чукчаДата: Понедельник, 20 Апреля 2009, 00:43 | Сообщение # 28
Поднаторевший
Группа: Проверенные
Сообщений: 129
Репутация: 0
Награды: 2
Статус: Offline
Quote (Alex3A)
Самое главное не все знать а уметь найти нужные знания.

ну конечно я полностью с Вами согласен ув.Alex3A!С этим разобратся нужо!Попробуем!Только не нужной эта тема оказалась.Увы ,после нескольких тырканий в (с таким трудом открытым) диалоговым окном настроек голосового движка, стало очевидным,что эти настройки не влияют на работу плагина т . к.,по моему мнению,скрытые настройки голоса в плагине имеют более высокий приоритет и не поддаются внешнему воздействию.Но отрицательный результат - тоже результат.Ну по крайней мере почерпнутыми знаниями я удовлетварён!Удачи Вам ув.Alex3A!

 
Alex3AДата: Понедельник, 20 Апреля 2009, 00:51 | Сообщение # 29
Друг клуба ММВ
Группа: Проверенные
Сообщений: 2646
Репутация: 39
Награды: 11
Статус: Offline
Quote (чукча)
Но отрицательный результат - тоже результат

Вот в этом то и суть, не попробовавши непоймеш!
А опыт всегда полезен, выручит тебя не раз!
Удачи!
 
RushДата: Четверг, 23 Апреля 2009, 10:57 | Сообщение # 30
Обозреватель-консультант
Группа: Проверенные
Сообщений: 216
Репутация: 10
Награды: 1
Статус: Offline
1) Действительно, при наборе поста кавычку лишнюю вставил случайно - сорри... :)

2) Насчет путей - все предельно просто. Интерпретатор командной строки спотыкается на пробелах, считает их разделителями параметров. Чтобы этого не случилось нужно параметр с пробелами обрамлять кавычками. Тогда интерпретатор считает все, что внутри кавычек одним аргументом.
Записывать в переменную тоже на обязательно, конструкция вида
Run("rundll32","shell32.dll Control_RunDLL "c:\Program Files\Common Files\Microsoft Shared\Speech\sapi.cpl"")
тоже будет работать...

 
  • Страница 1 из 2
  • 1
  • 2
  • »
Поиск: