|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - [решено] Отключить выделение мышью в bat файле |
|
|
CMD/BAT - [решено] Отключить выделение мышью в bat файле
|
Новый участник Сообщения: 39 |
Профиль | Сайт | Отправить PM | Цитировать необходимо отключить выделение мышью в bat файле
через настройки не предлагать |
|
Отправлено: 18:17, 02-04-2017 |
Забанен Сообщения: 795
|
|
Отправлено: 19:31, 02-04-2017 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Новый участник Сообщения: 39
|
Профиль | Сайт | Отправить PM | Цитировать x0r, а можно это реализовать только для этого батника?
|
Отправлено: 19:52, 02-04-2017 | #3 |
Забанен Сообщения: 795
|
Можешь попробовать. Яхз, чисто мысля.(только не "для батника", а для "окна терминала" с опр. именем.)
В разделе реестра HKEY_CURRENT_USER\Console\ создать раздел с каким нить именем, mybatneg нопример. Получилось так: Windows Registry Editor Version 5.00 [HKEY_CURRENT_USER\Console\mybatneg] "QuickEdit"=dword:00000000 должно получиццо. смотри reg /? Как-то так: |
Последний раз редактировалось x0r, 03-04-2017 в 02:43. Отправлено: 00:17, 03-04-2017 | #4 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать Цитата vngreez@vk:
Создайте файл DisableQuickEditConsoleMode.vb: Module mainModule Declare Function GetStdHandle Lib "kernel32" (ByVal nStdHandle As Integer) As Integer Declare Function GetConsoleMode Lib "kernel32" (ByVal hConsoleHandle As Integer, ByRef lpMode As Integer) As Integer Declare Function SetConsoleMode Lib "kernel32" (ByVal hConsoleHandle As Integer, ByVal dwMode As Integer) As Integer Public Const STD_INPUT_HANDLE As Integer = -10& Sub Main() Dim hConsole As Integer Dim iMode As Integer Dim bSuccess As Integer hConsole = GetStdHandle(STD_INPUT_HANDLE) bSuccess = GetConsoleMode(hConsole, iMode) bSuccess = SetConsoleMode(hConsole, iMode And Not &H20) End Sub End Module где: «C:\Windows\Microsoft.NET\Framework\v2.0.50727\vbc.exe» — Ваш путь к компилятору Visual Basic Compilier, а «C:\Мои проекты\0058\DisableQuickEditConsoleMode.vb» — Ваш путь к созданному файлу DisableQuickEditConsoleMode.vb. На выходе Вы должны получить файл DisableQuickEditConsoleMode.exe, который должен быть вызван в Вашем пакетном файле для сброса режима QuickEdit. Для работы ему будет требоваться установленная версия .Net FrameWork не ниже той, компилятор которой Вы использовали. |
||
Отправлено: 01:13, 03-04-2017 | #5 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать Цитата x0r:
|
|
Отправлено: 03:52, 03-04-2017 | #6 |
Новый участник Сообщения: 39
|
Профиль | Сайт | Отправить PM | Цитировать Iska, скомпилировал. Вызываю... ноль эмоций
сделал так: @echo off DisableQuickEditConsoleMode.exe .... |
Отправлено: 17:52, 03-04-2017 | #7 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать Создаём пакетный файл:
0001.cmd
Запускаем, останавливаемся на первой паузе, смотрим свойства окна консоли: Скрытый текст
Видим, что флаг QuickEdit (Быстрая вставка) установлен. Закрываем свойства окна консоли, нажимаем любую клавишу на клавиатуре, останавливаемся на второй паузе, опять смотрим свойства окна консоли: Скрытый текст
Видим, что флаг QuickEdit (Быстрая вставка) сброшен. Что не так? |
Отправлено: 00:58, 04-04-2017 | #8 |
Новый участник Сообщения: 39
|
Профиль | Сайт | Отправить PM | Цитировать Iska, мне нужен параметр выше (Выделение мышью)
чтобы не прерывался код программы при нажатие. |
Отправлено: 17:39, 04-04-2017 | #9 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать vngreez@vk, приношу Вам свои извинения: даже не знаю, что меня так переклинило, что я начал работать с другим параметром, и даже перевод меня не смутил.
Достаточно заменить в вышеприведённом коде битовую маску с 0x20 на 0x40: Module mainModule
Declare Function GetStdHandle Lib "kernel32" (ByVal nStdHandle As Integer) As Integer
Declare Function GetConsoleMode Lib "kernel32" (ByVal hConsoleHandle As Integer, ByRef lpMode As Integer) As Integer
Declare Function SetConsoleMode Lib "kernel32" (ByVal hConsoleHandle As Integer, ByVal dwMode As Integer) As Integer
Public Const STD_INPUT_HANDLE As Integer = -10&
Sub Main()
Dim hConsole As Integer
Dim iMode As Integer
Dim bSuccess As Integer
hConsole = GetStdHandle(STD_INPUT_HANDLE)
bSuccess = GetConsoleMode(hConsole, iMode)
bSuccess = SetConsoleMode(hConsole, iMode And Not &H40)
End Sub
End Module
|
Отправлено: 19:09, 04-04-2017 | #10 |
|
Участник сейчас на форуме | Участник вне форума | Автор темы | Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
CMD/BAT - [решено] CMD/BAT - С помощью bat-ника найти и удалить текст в файле | InVariable | Скриптовые языки администрирования Windows | 4 | 22-05-2015 20:06 | |
CMD/BAT - проблема с последовательностью в Bat файле | TraKtir | Скриптовые языки администрирования Windows | 5 | 14-09-2013 13:15 | |
CMD/BAT - Сочетание клавиш в bat файле. | Kamerin | Скриптовые языки администрирования Windows | 2 | 20-09-2011 02:22 | |
Блог - Как отключить эскизы на панели задач при переключении между окнами мышью | Vadikan | Microsoft Windows 7 | 0 | 02-02-2011 10:30 | |
Любой язык - Проверка сетевых ресурсов в BAT-файле | chkur | Скриптовые языки администрирования Windows | 1 | 03-12-2008 12:39 |
|