PDA

Показать полную графическую версию : Изменение курсоров в командном файле.


Kardinalli
02-06-2009, 17:57
Добрый день всем.
Возникла необходимость изменить текущий курсор (или весь системный набор курсоров) из командного файла.
Использую для этого функции LoadCursorFromFile и SetSystemCursor из библиотеки user32.dll
Как это сделать в С++ или VB известно, а вот как это применить в BAT файле?
Вот пример в VB, здесь (http://aftarsoft.przone.ru/basic/040.php), вот так (http://forum.ru-board.com/topic.cgi?forum=5&topic=23235&start=1288&limit=1&m=1) это выглядит в популярном пакете Inno Setup .

Вот так я попытался сделать это в батнике:
SET curs=rundll32.exe user32.dll,LoadCursorFromFile "C:\test\new.cur"
rundll32.exe user32.dll,SetSystemCursor "curs","32512"

Не работает... :(

Как вообще присвоить переменной результат работы командной строки (попытка: SET curs=rundll32.exe user32.dll,LoadCursorFromFile "C:\test\new.cur") ?

amel27
03-06-2009, 05:44
как это применить в BAT файле? »написать консольную утилиту, реализующую требуемые API-вызовы
Как вообще присвоить переменной результат работы командной строки »"результат работы командной строки" - это всего лишь некий текст, выводимый в стандартный выходной поток, который можно подать на вход другой команды через "|" или вывести в файл при помощи ">file.txt". Команда SET не работает с входным потоком, так как он может содержать несколько строк текста.

Kardinalli
03-06-2009, 07:16
Утилиты не пойдут, давно бы решил проблему. Но запуск любого ехе, или vbs файла, особенно под правами пользователя вызовет вопрос ОС о разрешении на запуск. А батник сделает все молча. Именно этот вариант и нужен.

Кстати, попытка вывести результаты первой строки в файл, дает нулевой файл...

gora
03-06-2009, 09:23
Kardinalli, может подойдет способ используемый в аддонах для замены курсоров:
rd /s /q "%SystemRoot%\Cursors"
xcopy Cursors "%SystemRoot%\Cursors" /e /i /y
Move Cursors.inf %WINDIR%\INF
rundll32 advpack,LaunchINFSection Cursors.inf,DefaultInstall,0
Cursors.inf:[Version]
Signature=$Chicago$
SetupClass=BASE
Provider=zuckij
Class=NoDriver

[DefaultInstall]
AddReg = Curs.Reg
DelReg = Stand.Reg

[DestinationDirs]

[Curs.Reg]
;Добавляем

HKLM,"SOFTWARE\Microsoft\Windows\CurrentVersion\Control Panel\Cursors\Schemes","Aero",,"""%25%\Cursors\aero_arrow.cur,%25%\Cursors\aero_help.cur,%25%\Cursors\aero_working.ani,%25%\Cursors\ae ro_busy.ani,%25%\Cursors\aero_cross.cur,%25%\Cursors\aero_beam.cur,%25%\Cursors\aero_pen.cur,%25%\Cu rsors\aero_no.cur,%25%\Cursors\aero_size4.cur,%25%\Cursors\aero_size3.cur,%25%\Cursors\aero_size2.cu r,%25%\Cursors\aero_size1.cur,%25%\Cursors\aero_move.cur,%25%\Cursors\aero_up.cur,%25%\Cursors\aero_ link.cur,"""
HKLM,"SOFTWARE\Microsoft\Windows\CurrentVersion\Control Panel\Cursors\Schemes","Aero (Крупная)",,"""%25%\Cursors\aero_arrow_x.cur,%25%\Cursors\aero_help_x.cur,%25%\Cursors\aero_working_x.ani,%25%\Curs ors\aero_busy_x.ani,%25%\Cursors\aero_cross_x.cur,%25%\Cursors\aero_beam_x.cur,%25%\Cursors\aero_pen _x.cur,%25%\Cursors\aero_no_x.cur,%25%\Cursors\aero_size4_x.cur,%25%\Cursors\aero_size3_x.cur,%25%\C ursors\aero_size2_x.cur,%25%\Cursors\aero_size1_x.cur,%25%\Cursors\aero_move_x.cur,%25%\Cursors\aero _up_x.cur,%25%\Cursors\aero_link_x.cur,"""
HKLM,"SOFTWARE\Microsoft\Windows\CurrentVersion\Control Panel\Cursors\Schemes","Aero (Огромная)",,"""%25%\Cursors\aero_arrow_xl.cur,%25%\Cursors\aero_help_xl.cur,%25%\Cursors\aero_working_xl.ani,%25%\C ursors\aero_busy_xl.ani,%25%\Cursors\aero_cross_xl.cur,%25%\Cursors\aero_beam_xl.cur,%25%\Cursors\ae ro_pen_xl.cur,%25%\Cursors\aero_no_xl.cur,%25%\Cursors\aero_size4_xl.cur,%25%\Cursors\aero_size3_xl. cur,%25%\Cursors\aero_size2_xl.cur,%25%\Cursors\aero_size1_xl.cur,%25%\Cursors\aero_move_xl.cur,%25% \Cursors\aero_up_xl.cur,%25%\Cursors\aero_link_xl.cur,"""
HKLM,"SOFTWARE\Microsoft\Windows\CurrentVersion\Control Panel\Cursors\Schemes","MacOS (Чёрная)",,"""%25%\Cursors\mac_arrow.cur,%25%\Cursors\mac_help.cur,%25%\cursors\mac_working.ani,%25%\cursors\mac_b usy.ani,%25%\cursors\mac_cross.cur,%25%\cursors\mac_beam.cur,%25%\cursors\mac_pen.cur,%25%\cursors\m ac_no.cur,%25%\cursors\mac_size4.cur,%25%\cursors\mac_size3.cur,%25%\cursors\mac_size2.cur,%25%\curs ors\mac_size1.cur,%25%\cursors\mac_move.cur,%25%\cursors\mac_up.cur,%25%\cursors\mac_link.cur,"""
HKLM,"SOFTWARE\Microsoft\Windows\CurrentVersion\Control Panel\Cursors\Schemes","Aero (Прозрачная Зелёная)",,"""%25%\Cursors\aero2_arrow.cur,%25%\Cursors\aero2_help.cur,%25%\Cursors\aero2G_working.ani,%25%\Cursor s\aero2G_busy.ani,%25%\Cursors\aero2_cross.cur,%25%\Cursors\aero2_beam.cur,%25%\Cursors\aero2_pen.cu r,%25%\Cursors\aero2_no.cur,%25%\Cursors\aero2_size4.cur,%25%\Cursors\aero2_size3.cur,%25%\Cursors\a ero2_size2.cur,%25%\Cursors\aero2_size1.cur,%25%\Cursors\aero2_move.cur,%25%\Cursors\aero2_up.cur,%2 5%\Cursors\aero2_link.cur,"""
HKLM,"SOFTWARE\Microsoft\Windows\CurrentVersion\Control Panel\Cursors\Schemes","Aero (Прозрачная Оранжевая)",,"""%25%\Cursors\aero2_arrow.cur,%25%\Cursors\aero2_help.cur,%25%\Cursors\aero2O_working.ani,%25%\Cursor s\aero2O_busy.ani,%25%\Cursors\aero2_cross.cur,%25%\Cursors\aero2_beam.cur,%25%\Cursors\aero2_pen.cu r,%25%\Cursors\aero2_no.cur,%25%\Cursors\aero2_size4.cur,%25%\Cursors\aero2_size3.cur,%25%\Cursors\a ero2_size2.cur,%25%\Cursors\aero2_size1.cur,%25%\Cursors\aero2_move.cur,%25%\Cursors\aero2_up.cur,%2 5%\Cursors\aero2_link.cur,"""
HKLM,"SOFTWARE\Microsoft\Windows\CurrentVersion\Control Panel\Cursors\Schemes","Aero (Прозрачная Фиолетовая)",,"""%25%\Cursors\aero2_arrow.cur,%25%\Cursors\aero2_help.cur,%25%\Cursors\aero2F_working.ani,%25%\Cursor s\aero2F_busy.ani,%25%\Cursors\aero2_cross.cur,%25%\Cursors\aero2_beam.cur,%25%\Cursors\aero2_pen.cu r,%25%\Cursors\aero2_no.cur,%25%\Cursors\aero2_size4.cur,%25%\Cursors\aero2_size3.cur,%25%\Cursors\a ero2_size2.cur,%25%\Cursors\aero2_size1.cur,%25%\Cursors\aero2_move.cur,%25%\Cursors\aero2_up.cur,%2 5%\Cursors\aero2_link.cur,"""
HKLM,"SOFTWARE\Microsoft\Windows\CurrentVersion\Control Panel\Cursors\Schemes","Blue (Голубая)",,"""%25%\Cursors\Blue_arrow.cur,%25%\Cursors\Blue_help.cur,%25%\Cursors\Blue_working.ani,%25%\Cursors\Bl ue_busy.ani,%25%\Cursors\Blue_cross.cur,%25%\Cursors\Blue_beam.cur,%25%\Cursors\Blue_pen.cur,%25%\Cu rsors\Blue_no.cur,%25%\Cursors\Blue_size4.cur,%25%\Cursors\Blue_size3.cur,%25%\Cursors\Blue_size2.cu r,%25%\Cursors\Blue_size1.cur,%25%\Cursors\Blue_move.cur,%25%\Cursors\Blue_up.cur,%25%\Cursors\Blue_ link.cur,"""
HKLM,"SOFTWARE\Microsoft\Windows\CurrentVersion\Control Panel\Cursors\Schemes","Beeline (Пчёлка)",,"""%25%\Cursors\Beeline_arrow.cur,%25%\Cursors\Beeline_help.cur,%25%\Cursors\Beeline_working.ani,%25%\C ursors\Beeline_busy.ani,%25%\Cursors\Beeline_cross.cur,%25%\Cursors\Beeline_beam.cur,%25%\Cursors\Be eline_pen.cur,%25%\Cursors\Beeline_no.cur,%25%\Cursors\Beeline_size4.cur,%25%\Cursors\Beeline_size3. cur,%25%\Cursors\Beeline_size2.cur,%25%\Cursors\Beeline_size1.cur,%25%\Cursors\Beeline_move.cur,%25% \Cursors\Beeline_up.cur,%25%\Cursors\Beeline_link.cur,"""
HKLM,"SOFTWARE\Microsoft\Windows\CurrentVersion\Control Panel\Cursors\Schemes","Green (Хамелеон)",,"""%25%\Cursors\Green_arrow.cur,%25%\Cursors\Green_help.cur,%25%\cursors\Green_working.cur,%25%\cursors \Green_busy.cur,%25%\cursors\Green_cross.cur,%25%\cursors\Green_beam.cur,%25%\cursors\Green_pen.cur, %25%\cursors\Green_no.cur,%25%\cursors\Green_size4.cur,%25%\cursors\Green_size3.cur,%25%\cursors\Gre en_size2.cur,%25%\cursors\Green_size1.cur,%25%\cursors\Green_move.cur,%25%\cursors\Green_up.cur,%25% \cursors\Green_link.cur,,"""
HKLM,"SOFTWARE\Microsoft\Windows\CurrentVersion\Control Panel\Cursors\Schemes","Holidey (Коготь)",,"""%25%\Cursors\holidey_arrow.cur,%25%\Cursors\holidey_help.cur,%25%\Cursors\holidey_working.cur,%25%\C ursors\holidey_busy.cur,%25%\Cursors\holidey_cross.cur,%25%\Cursors\holidey_beam.cur,%25%\Cursors\ho lidey_pen.cur,%25%\Cursors\holidey_no.cur,%25%\Cursors\holidey_size4.cur,%25%\Cursors\holidey_size3. cur,%25%\Cursors\holidey_size2.cur,%25%\Cursors\holidey_size1.cur,%25%\Cursors\holidey_move.cur,%25% \Cursors\holidey_up.cur,%25%\Cursors\holidey_link.cur,"""
HKLM,"SOFTWARE\Microsoft\Windows\CurrentVersion\Control Panel\Cursors\Schemes","Black (Чёрная)",,"""%25%\Cursors\Black_arrow.cur,%25%\Cursors\Black_help.cur,%25%\Cursors\Black_working.ani,%25%\Cursors \Black_busy.ani,%25%\Cursors\Black_cross.cur,%25%\Cursors\Black_beam.cur,%25%\Cursors\Black_pen.cur, %25%\Cursors\Black_no.cur,%25%\Cursors\Black_size4.cur,%25%\Cursors\Black_size3.cur,%25%\Cursors\Bla ck_size2.cur,%25%\Cursors\Black_size1.cur,%25%\Cursors\Black_move.cur,%25%\Cursors\Black_up.cur,%25% \Cursors\Black_link.cur,"""

[Stand.Reg]
;Удаляем записи в реестре
HKLM,"SOFTWARE\Microsoft\Windows\CurrentVersion\Control Panel\Cursors\Schemes","Стандартная Windows",,""",,,,,,,,,,,,,"""
HKLM,"SOFTWARE\Microsoft\Windows\CurrentVersion\Control Panel\Cursors\Schemes","Подвижная Windows",,"""%25%\Cursors\rainbow.ani,,%25%\Cursors\appstart.ani,%25%\Cursors\hourglas.ani,%25%\Cursors\cross.cur ,,,,%25%\Cursors\sizens.ani,%25%\Cursors\sizewe.ani,%25%\Cursors\sizenwse.ani,%25%\Cursors\sizenesw. ani,,"""
HKLM,"SOFTWARE\Microsoft\Windows\CurrentVersion\Control Panel\Cursors\Schemes","Объемная белая",,"""%25%\Cursors\3dwarro.cur,,%25%\Cursors\appstar3.ani,%25%\Cursors\hourgla3.ani,%25%\Cursors\cross.cur ,,,%25%\Cursors\3dwno.cur,%25%\Cursors\3dwns.cur,%25%\Cursors\3dwwe.cur,%25%\Cursors\3dwnwse.cur,%25 %\Cursors\3dwnesw.cur,%25%\Cursors\3dwmove.cur,"""
HKLM,"SOFTWARE\Microsoft\Windows\CurrentVersion\Control Panel\Cursors\Schemes","Руки 1",,"""%25%\Cursors\harrow.cur,,%25%\Cursors\handapst.ani,%25%\Cursors\hand.ani,%25%\Cursors\hcross.cur,%25 %\Cursors\hibeam.cur,,%25%\Cursors\hnodrop.cur,%25%\Cursors\hns.cur,%25%\Cursors\hwe.cur,%25%\Cursor s\hnwse.cur,%25%\Cursors\hnesw.cur,%25%\Cursors\hmove.cur,"""
HKLM,"SOFTWARE\Microsoft\Windows\CurrentVersion\Control Panel\Cursors\Schemes","Руки 2",,"""%25%\Cursors\harrow.cur,,%25%\Cursors\handapst.ani,%25%\Cursors\handwait.ani,%25%\Cursors\hcross.cur ,%25%\Cursors\hibeam.cur,,%25%\Cursors\handno.ani,%25%\Cursors\handns.ani,%25%\Cursors\handwe.ani,%2 5%\Cursors\handnwse.ani,%25%\Cursors\handnesw.ani,%25%\Cursors\hmove.cur,"""
HKLM,"SOFTWARE\Microsoft\Windows\CurrentVersion\Control Panel\Cursors\Schemes","Динозавр",,"""%25%\Cursors\3dgarro.cur,,%25%\Cursors\dinosaur.ani,%25%\Cursors\dinosau2.ani,%25%\Cursors\cross.cur ,,,%25%\Cursors\banana.ani,%25%\Cursors\3dsns.cur,%25%\Cursors\3dgwe.cur,%25%\Cursors\3dsnwse.cur,%2 5%\Cursors\3dgnesw.cur,%25%\Cursors\3dsmove.cur,"""
HKLM,"SOFTWARE\Microsoft\Windows\CurrentVersion\Control Panel\Cursors\Schemes","В старом стиле",,"""%25%\Cursors\harrow.cur,,%25%\Cursors\horse.ani,%25%\Cursors\barber.ani,%25%\Cursors\hcross.cur,%25% \Cursors\hibeam.cur,,%25%\Cursors\coin.ani,%25%\Cursors\3dgns.cur,%25%\Cursors\3dgwe.cur,%25%\Cursor s\3dgnwse.cur,%25%\Cursors\3dgnesw.cur,%25%\Cursors\3dgmove.cur,"""
HKLM,"SOFTWARE\Microsoft\Windows\CurrentVersion\Control Panel\Cursors\Schemes","Дирижер",,"""%25%\Cursors\harrow.cur,,%25%\Cursors\drum.ani,%25%\Cursors\metronom.ani,%25%\Cursors\hcross.cur,%25 %\Cursors\hibeam.cur,,%25%\Cursors\piano.ani,%25%\Cursors\hns.cur,%25%\Cursors\hwe.cur,%25%\Cursors\ hnwse.cur,%25%\Cursors\hnesw.cur,%25%\Cursors\hmove.cur,"""
HKLM,"SOFTWARE\Microsoft\Windows\CurrentVersion\Control Panel\Cursors\Schemes","Увеличенная",,"""%25%\Cursors\larrow.cur,,%25%\Cursors\lappstrt.cur,%25%\Cursors\lwait.cur,%25%\Cursors\lcross.cur,%2 5%\Cursors\libeam.cur,,%25%\Cursors\lnodrop.cur,%25%\Cursors\lns.cur,%25%\Cursors\lwe.cur,%25%\Curso rs\lnwse.cur,%25%\Cursors\lnesw.cur,%25%\Cursors\lmove.cur,"""
HKLM,"SOFTWARE\Microsoft\Windows\CurrentVersion\Control Panel\Cursors\Schemes","Вариации",,"""%25%\Cursors\fillitup.ani,,%25%\Cursors\raindrop.ani,%25%\Cursors\counter.ani,%25%\Cursors\cross.cur ,,,%25%\Cursors\wagtail.ani,%25%\Cursors\sizens.ani,%25%\Cursors\sizewe.ani,%25%\Cursors\sizenwse.an i,%25%\Cursors\sizenesw.ani,"""
HKLM,"SOFTWARE\Microsoft\Windows\CurrentVersion\Control Panel\Cursors\Schemes","Объемная бронзовая",,"""%25%\Cursors\3dgarro.cur,,%25%\Cursors\appstar2.ani,%25%\Cursors\hourgla2.ani,%25%\Cursors\cross.cur ,,,%25%\Cursors\3dgno.cur,%25%\Cursors\3dgns.cur,%25%\Cursors\3dgwe.cur,%25%\Cursors\3dgnwse.cur,%25 %\Cursors\3dgnesw.cur,%25%\Cursors\3dgmove.cur,"""
HKLM,"SOFTWARE\Microsoft\Windows\CurrentVersion\Control Panel\Cursors\Schemes","Черная ",,"%25%\cursors\arrow_r.cur,%25%\cursors\help_r.cur,%25%\cursors\wait_r.cur,%25%\cursors\busy_r.cur,%25 %\cursors\cross_r.cur,%25%\cursors\beam_r.cur,%25%\cursors\pen_r.cur,%25%\cursors\no_r.cur,%25%\curs ors\size4_r.cur,%25%\cursors\size3_r.cur,%25%\cursors\size2_r.cur,%25%\cursors\size1_r.cur,%25%\curs ors\move_r.cur,%25%\cursors\up_r.cur"
HKLM,"SOFTWARE\Microsoft\Windows\CurrentVersion\Control Panel\Cursors\Schemes","Черная (крупная)",,"%25%\cursors\arrow_rm.cur,%25%\cursors\help_rm.cur,%25%\cursors\wait_rm.cur,%25%\cursors\busy_rm.cur ,%25%\cursors\cross_rm.cur,%25%\cursors\beam_rm.cur,%25%\cursors\pen_rm.cur,%25%\cursors\no_rm.cur,% 25%\cursors\size4_rm.cur,%25%\cursors\size3_rm.cur,%25%\cursors\size2_rm.cur,%25%\cursors\size1_rm.c ur,%25%\cursors\move_rm.cur,%25%\cursors\up_rm.cur"
HKLM,"SOFTWARE\Microsoft\Windows\CurrentVersion\Control Panel\Cursors\Schemes","Черная (огромная)",,"%25%\cursors\arrow_rl.cur,%25%\cursors\help_rl.cur,%25%\cursors\wait_rl.cur,%25%\cursors\busy_rl.cur ,%25%\cursors\cross_rl.cur,%25%\cursors\beam_rl.cur,%25%\cursors\pen_rl.cur,%25%\cursors\no_rl.cur,% 25%\cursors\size4_rl.cur,%25%\cursors\size3_rl.cur,%25%\cursors\size2_rl.cur,%25%\cursors\size1_rl.c ur,%25%\cursors\move_rl.cur,%25%\cursors\up_rl.cur"
HKLM,"SOFTWARE\Microsoft\Windows\CurrentVersion\Control Panel\Cursors\Schemes","Инверсная",,"%25%\cursors\arrow_i.cur,%25%\cursors\help_i.cur,%25%\cursors\wait_i.cur,%25%\cursors\busy_i.cur,%25 %\cursors\cross_i.cur,%25%\cursors\beam_i.cur,%25%\cursors\pen_i.cur,%25%\cursors\no_i.cur,%25%\curs ors\size4_i.cur,%25%\cursors\size3_i.cur,%25%\cursors\size2_i.cur,%25%\cursors\size1_i.cur,%25%\curs ors\move_i.cur,%25%\cursors\up_i.cur"
HKLM,"SOFTWARE\Microsoft\Windows\CurrentVersion\Control Panel\Cursors\Schemes","Инверсная (крупная)",,"%25%\cursors\arrow_im.cur,%25%\cursors\help_im.cur,%25%\cursors\wait_im.cur,%25%\cursors\busy_im.cur ,%25%\cursors\cross_im.cur,%25%\cursors\beam_im.cur,%25%\cursors\pen_im.cur,%25%\cursors\no_im.cur,% 25%\cursors\size4_im.cur,%25%\cursors\size3_im.cur,%25%\cursors\size2_im.cur,%25%\cursors\size1_im.c ur,%25%\cursors\move_im.cur,%25%\cursors\up_im.cur"
HKLM,"SOFTWARE\Microsoft\Windows\CurrentVersion\Control Panel\Cursors\Schemes","Инверсная (огромная)",,"%25%\cursors\arrow_il.cur,%25%\cursors\help_il.cur,%25%\cursors\wait_il.cur,%25%\cursors\busy_il.cur ,%25%\cursors\cross_il.cur,%25%\cursors\beam_il.cur,%25%\cursors\pen_il.cur,%25%\cursors\no_il.cur,% 25%\cursors\size4_il.cur,%25%\cursors\size3_il.cur,%25%\cursors\size2_il.cur,%25%\cursors\size1_il.c ur,%25%\cursors\move_il.cur,%25%\cursors\up_il.cur"
HKLM,"SOFTWARE\Microsoft\Windows\CurrentVersion\Control Panel\Cursors\Schemes","Стандартная (крупная)",,"%25%\cursors\arrow_m.cur,%25%\cursors\help_m.cur,%25%\cursors\wait_m.cur,%25%\cursors\busy_m.cur,%25 %\cursors\cross_m.cur,%25%\cursors\beam_m.cur,%25%\cursors\pen_m.cur,%25%\cursors\no_m.cur,%25%\curs ors\size4_m.cur,%25%\cursors\size3_m.cur,%25%\cursors\size2_m.cur,%25%\cursors\size1_m.cur,%25%\curs ors\move_m.cur,%25%\cursors\up_m.cur"
HKLM,"SOFTWARE\Microsoft\Windows\CurrentVersion\Control Panel\Cursors\Schemes","Стандартная (огромная)",,"%25%\cursors\arrow_l.cur,%25%\cursors\help_l.cur,%25%\cursors\wait_l.cur,%25%\cursors\busy_l.cur,%25 %\cursors\cross_l.cur,%25%\cursors\beam_l.cur,%25%\cursors\pen_l.cur,%25%\cursors\no_l.cur,%25%\curs ors\size4_l.cur,%25%\cursors\size3_l.cur,%25%\cursors\size2_l.cur,%25%\cursors\size1_l.cur,%25%\curs ors\move_l.cur,%25%\cursors\up_l.cur"
Cursors.inf не сложно преобразовать в .bat файл.

Kardinalli
03-06-2009, 13:38
gora, спасибо, попробую изучить. Непонятно только, зачем понадобилось убирать из набора стандартные курсоры, они не мешают...
А вот код изучу. Новые наборы курсоров у меня прописываются отдельно, в те же ключи.

Несложно прописать ключи и скопировать из куда нужно, проблема в том, чтобы курсоры изменились тут же, без перезагрузки. Предлагаемый код это делает?

И еще, в той же Висте или в семерке ОС не даст ничего прописать в папку виндовс, это критично для inf файла, его местонахождение?

gora
03-06-2009, 13:57
проблема в том, чтобы курсоры изменились тут же, без перезагрузки. Предлагаемый код это делает? »
Этого в условиях задачи не было! :) Без перезагрузки или дополнительных телодвижений скорее всего не получится...критично для inf файла, его местонахождение? »Местоположение inf файла не критично и он даже вообще может отсутствовать и быть заменен на строки в .bat файле. в той же Висте или в семерке ОС не даст ничего прописать в папку виндовс »Опять новая вводная, про систему Вы тоже не писали, а как Вы тогда собираетесь копировать новые курсоры в папку %SystemRoot%\Cursors !? :dont-know

Kardinalli
03-06-2009, 15:42
Этого в условиях задачи не было! »
Ок, виноват, не уточнил. Но дело в том, что для изменения курсоров при перезагрузке ВООБЩЕ ничего не нужно делать! Только прописать в реестре новый набор, вписать его в выбранный и скопировать файлы курсоров. Все, при перезагрузке имеем новый набор курсоров.

как Вы тогда собираетесь копировать новые курсоры в папку %SystemRoot%\Cursors !? »
Никак. Их совсем незачем копировать именно туда. Курсоры могут располагаться абсолютно на любом диске, в любой папке, лишь бы в реестре были прописаны пути.

Весь фокус функций которые приведены в первом посту в том, что их исполнение мгновенно меняет курсоры на указанные. Это легко реализовать в exe и vbs, но я уже указал какие следуют проблемы...

Вот разобраться бы, как их использовать в командном файле, было бы идеально... :)

amel27
03-06-2009, 17:16
Это легко реализовать в exe и vbs »
гм, можно пример на VBS?.. это ближе к скриптам, чем указанный линк на VB

Kardinalli
03-06-2009, 17:24
amel27, где-то попадался при гуглении. Но мне все равно не пойдет, все равно требует подтверждения.

Kardinalli
04-06-2009, 09:58
Вот еще скриптовый вариант, здесь (http://forum.oszone.net/post-649548-486.html) , но опять таки не батник...

amel27
04-06-2009, 10:14
Kardinalli,

AutoIT не родной движок, с ним все понятно, а вот насчет WSH (VBS/JS) очень сомневаюсь...
кстати, что за подтверждение?.. может проще его отключить?

Kardinalli
04-06-2009, 12:28
amel27, у себя я конечно могу отключить все что угодно, но это у себя. При запуске же на другом компе, под ХР и тем более Vista, любой exe/vbs/js заставит ОС спрашивать нужно ли запускать этот файл, особенно с правами пользователя.

По сути, логически рассуждая, какой то вариант для батника просто обязан быть, ведь строка то, типовая, разобраться бы в нюансах параметров... :unsure:

amel27
04-06-2009, 13:17
логически рассуждая, какой то вариант для батника просто обязан быть, ведь строка то, типовая »AFAIK RunDll32 не сохраняет результат функции, но даже если бы вернул, толку от полученного описателя ИМХО никакого, так как описатель автоматически уничтожается после закрытия процесса RunDll32.Exe... гм.... может вместо EXE собрать DLL и экспортировать задачу функцией?.. но тогда потребуется ее регистрировать с правами админа.

запросы на запуск можно отключать в политике, но для этого тоже нужны права админа

Kardinalli
04-06-2009, 16:14
amel27,а как же эта функция работает внутри ехе? Ведь в том же коде VB функции разделены, используются по очереди, а значение описателя сохраняется в промежуточной переменной? Или в переменных батника принципиально невозможно сохранить результат?




© OSzone.net 2001-2012