|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » Любой язык - Снять птичку/галочку Общие -> Правка -> Выделение мышью (Отключить выделение мышью) |
|
|
Любой язык - Снять птичку/галочку Общие -> Правка -> Выделение мышью (Отключить выделение мышью)
|
Ветеран Сообщения: 900 |
Здравствуйте
Операционная система: Microsoft Windows 7 Professional Service Pack 1 x64 Russian Что делает код ниже Анимация https://disk.yandex.ru/i/n4hXyzdMX8oxuw Видео https://disk.yandex.ru/i/-etD5nUxRGIxlg Есть код в интернете https://winsourcecode.blogspot.com/2...uick-edit.html Скрытый текст
QuickEdit.exe Turns on or off Quick Edit mode in the console. This uses the inbuilt compilers in Windows 10 - there are three VB.NET compilers and three C# compilers - just copy each text file into the same folder and double click the batch file to make the program. REM QuickEdit.bat REM This file compiles QuickEdit.vb to QuickEdit.exe REM QuickEdit.exe turns on or off Quick Edit mode in the command prompt. REM To Use Rem QuickEdit [on|off] REM Without parameters reports on the state of Quick Edit mode. "C:\Windows\Microsoft.NET\Framework\v4.0.30319\vbc.exe" /target:exe /out:"%~dp0\QuickEdit.exe" "%~dp0\QuickEdit.vb" pause 'QuickEditOff.vb Imports System Imports System.IO Imports System.Runtime.InteropServices Imports Microsoft.Win32 Public Module MyApplication Public Declare Function GetStdHandle Lib "kernel32" Alias "GetStdHandle" (ByVal nStdHandle As Long) As Long Public Declare Function GetConsoleMode Lib "kernel32" (ByVal hConsoleHandle As IntPtr, ByRef lpMode As Integer) As Integer Public Declare Function SetConsoleMode Lib "kernel32" (ByVal hConsoleHandle As Long, ByVal dwMode As Integer) As Integer Public Const STD_ERROR_HANDLE = -12& Public Const STD_INPUT_HANDLE = -10& Public Const STD_OUTPUT_HANDLE = -11& 'Input Public Const ENABLE_EXTENDED_FLAGS = &h0080 Public Const ENABLE_ECHO_INPUT = &h0004 Public Const ENABLE_INSERT_MODE = &h0020 Public Const ENABLE_LINE_INPUT = &h0002 Public Const ENABLE_MOUSE_INPUT = &h0010 Public Const ENABLE_PROCESSED_INPUT = &h0001 Public Const ENABLE_QUICK_EDIT_MODE = &h0040 Public Const ENABLE_WINDOW_INPUT = &h0008 Public Const ENABLE_VIRTUAL_TERMINAL_INPUT = &h0200 'Output Public Const ENABLE_PROCESSED_OUTPUT = &h0001 Public Const ENABLE_WRAP_AT_EOL_OUTPUT = &h0002 Public Const ENABLE_VIRTUAL_TERMINAL_PROCESSING = &h0004 Public Const DISABLE_NEWLINE_AUTO_RETURN = &h0008 Public Const ENABLE_LVB_GRID_WORLDWIDE = &h0010 Sub Main() Dim hIn As IntPtr Dim Ret As Integer Dim Mode As Integer hIn = GetStdHandle(STD_INPUT_HANDLE) Ret = GetConsoleMode(hIn, Mode) If Command() = "" then If (Mode And ENABLE_QUICK_EDIT_MODE) = ENABLE_QUICK_EDIT_MODE then Console.writeline("Quick Edit On") Else Console.writeline("Quick Edit Off") End If ElseIf LCase(Command()) = "on" If (Mode And ENABLE_QUICK_EDIT_MODE) = 0 then Ret = SetConsoleMode(hIn, Mode + ENABLE_QUICK_EDIT_MODE) If Ret = 0 then Console.WriteLine(Hex(Ret) & " - " & err.lastdllerror) ElseIf LCase(Command()) = "off" If (Mode And ENABLE_QUICK_EDIT_MODE) = ENABLE_QUICK_EDIT_MODE then Ret = SetConsoleMode(hIn, Mode - ENABLE_QUICK_EDIT_MODE) If Ret = 0 then Console.WriteLine(Hex(Ret) & " - " & err.lastdllerror) End If End Sub End Module Прилагаю готовый архив https://disk.yandex.ru/d/rSOhZjiwCAeH-Q В готовом архиве извлечь два файла и запустить файл QuickEdit_While_Wend.vb.bat Появятся много exe файлов одинаковой работы для использования. Разница - только под какую версию .Net Framework компилировалось В процессе использования одного и того-же exe файла QuickEdit_While_Wend_v2.0.50727.exe на разных: - версиях Windows (7, 10, 11) - права администратора или права пользователя - х86 или х64 - антивирус доктор веб 13 или нет антивируса появлялись картинки ошибок https://disk.yandex.ru/i/lUhahz-8uQ86GA https://disk.yandex.ru/i/LLub1_kQKWYVCQ Пожалуйста, будьте так, любезны, возможно или нет реализовать exe файл без разницы, какой язык программирования, PureBasic, Python, C+, C++, QBasic, Delphi и прочее, чтобы, откровенно, работало на максимальном количестве - версиях Windows (7, 10, 11) - права администратора или права пользователя - х86 или х64 - антивирус доктор веб 13 или нет антивируса - версиях Windows (7, 10, 11) - права администратора или права пользователя - х86 или х64 - антивирус доктор веб 13 или нет антивируса Спасибо. |
|
Отправлено: 00:14, 18-11-2023 |
Старожил Сообщения: 250
|
Профиль | Отправить PM | Цитировать это просто упражнение в освоении страницы https://www.pinvoke.net/default.aspx...Functions.html
# https://www.pinvoke.net/default.aspx/kernel32/ConsoleFunctions.html add-type -typedefinition @' using System; using System.IO; using System.Runtime.InteropServices; using Microsoft.Win32; public class Data { public static int STD_ERROR_HANDLE = -12; public static int STD_INPUT_HANDLE = -10; public static int STD_OUTPUT_HANDLE = -11; [Flags] private enum ConsoleModes : uint { ENABLE_PROCESSED_INPUT = 0x0001, ENABLE_LINE_INPUT = 0x0002, ENABLE_ECHO_INPUT = 0x0004, ENABLE_WINDOW_INPUT = 0x0008, ENABLE_MOUSE_INPUT = 0x0010, ENABLE_INSERT_MODE = 0x0020, ENABLE_QUICK_EDIT_MODE = 0x0040, ENABLE_EXTENDED_FLAGS = 0x0080, ENABLE_AUTO_POSITION = 0x0100, ENABLE_VIRTUAL_TERMINAL_INPUT = 0x0200, ENABLE_PROCESSED_OUTPUT = 0x0001, ENABLE_WRAP_AT_EOL_OUTPUT = 0x0002, ENABLE_VIRTUAL_TERMINAL_PROCESSING = 0x0004, DISABLE_NEWLINE_AUTO_RETURN = 0x0008, ENABLE_LVB_GRID_WORLDWIDE = 0x0010 } [DllImport("kernel32.dll", SetLastError = true)] static extern IntPtr GetStdHandle(int nStdHandle); [DllImport("kernel32.dll")] static extern bool GetConsoleMode(IntPtr hConsoleHandle, out uint lpMode); [DllImport("kernel32.dll")] static extern bool SetConsoleMode(IntPtr hConsoleHandle, uint dwMode); public static void enableQuickEdit() { IntPtr _ConsoleHandle = GetStdHandle(STD_INPUT_HANDLE); uint _ConsoleMode = 0; GetConsoleMode(_ConsoleHandle, out _ConsoleMode); Console.Error.WriteLine(_ConsoleMode); _ConsoleMode |= (uint )ConsoleModes.ENABLE_QUICK_EDIT_MODE; Console.Error.WriteLine(_ConsoleMode); SetConsoleMode(_ConsoleHandle, _ConsoleMode); } public static void disableQuickEdit() { IntPtr _ConsoleHandle = GetStdHandle(STD_INPUT_HANDLE); uint _ConsoleMode = 0; GetConsoleMode(_ConsoleHandle, out _ConsoleMode); Console.Error.WriteLine(_ConsoleMode); _ConsoleMode &= 0xffff - (uint) (ConsoleModes.ENABLE_QUICK_EDIT_MODE); Console.Error.WriteLine(_ConsoleMode); SetConsoleMode(_ConsoleHandle, _ConsoleMode); } } '@ [Data]::enableQuickEdit() [Data]::disableQuickEdirt() |
Отправлено: 17:47, 21-11-2023 | #21 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Ветеран Сообщения: 900
|
Профиль | Отправить PM | Цитировать Sham, здравствуйте
По поводу этого http://forum.oszone.net/post-3020271-16.html ну вот по типу этого Код:Выделить весь код start /b /wait quickmode.c.x64.exe start /b /wait tasklist выделение работает? https://disk.yandex.ru/i/668O-3bVacbvAg Скрытый текст
start /b /wait quickmode.c.x64.exe Rem start /b /wait tasklist Pause start "" /b /wait "C:\Program Files\7-Zip\7z.exe" a "1.7z" -im!"%~dp0*.*doc*" "%~dp0*.*xls*" "%~dp0*.*tmp*" "%~dp0*.*ppt*" "%~dp0*.*acc*" "%~dp0*.*rtf*" "%~dp0*.*txt*" "%~dp0*.*cdr*" "%~dp0*.*cdw*" "%~dp0*.*bak*" "%~dp0*.*jpg*" "%~dp0F\" "%~dp0A\" "%~dp0B\" "%~dp0Be\" "%~dp0PP\" "%~dp0SIZ\" "%~dp001_A\" "%~dp002_Be\" "%~dp003_B\" "%~dp004_PP\" "%~dp005_SIZ\" "%~dp0Old\" -x!.\*.* -im!.\* -m0=LZMA:d=1536m:fb=273 -mx=9 -mmt=2 -ssw Pause Exit Микро пожелание Сделайте все тоже самое, что Вы сделали, х86 и х64 файлы, НО, добавить опцию "-QuickModeEnabled" Чтобы мне в конце файла, перед Exit, ДОписать start /b /wait quickmode.c.x64.exe -QuickModeEnabled Скрытый текст
start /b /wait quickmode.c.x64.exe Rem start /b /wait tasklist Pause start "" /b /wait "C:\Program Files\7-Zip\7z.exe" a "1.7z" -im!"%~dp0*.*doc*" "%~dp0*.*xls*" "%~dp0*.*tmp*" "%~dp0*.*ppt*" "%~dp0*.*acc*" "%~dp0*.*rtf*" "%~dp0*.*txt*" "%~dp0*.*cdr*" "%~dp0*.*cdw*" "%~dp0*.*bak*" "%~dp0*.*jpg*" "%~dp0F\" "%~dp0A\" "%~dp0B\" "%~dp0Be\" "%~dp0PP\" "%~dp0SIZ\" "%~dp001_A\" "%~dp002_Be\" "%~dp003_B\" "%~dp004_PP\" "%~dp005_SIZ\" "%~dp0Old\" -x!.\*.* -im!.\* -m0=LZMA:d=1536m:fb=273 -mx=9 -mmt=2 -ssw start /b /wait quickmode.c.x64.exe -QuickModeEnabled Pause Exit PS. Просто на данный момент, архив создается, но после создания архива, в консоли НЕ работает выделение мышкой |
Последний раз редактировалось SharkyEXE, 21-11-2023 в 19:34. Отправлено: 19:19, 21-11-2023 | #22 |
Ветеран Сообщения: 900
|
Профиль | Отправить PM | Цитировать Sham, здравствуйте
На базе Вашего кода #include <stdio.h> #include <windows.h> int main() { DWORD prev_mode; HANDLE hInput = GetStdHandle(STD_INPUT_HANDLE); GetConsoleMode(hInput, &prev_mode); int err = SetConsoleMode(hInput, prev_mode & ENABLE_EXTENDED_FLAGS); puts(err == 0 ? "SetConsoleMode() returned zero" : "Quick mode is disabled"); return 0; } #include <stdio.h> #include <windows.h> int main() { DWORD prev_mode; HANDLE hInput = GetStdHandle(STD_INPUT_HANDLE); GetConsoleMode(hInput, &prev_mode); int err = SetConsoleMode(hInput, prev_mode & ENABLE_QUICK_EDIT_MODE | ENABLE_EXTENDED_FLAGS); puts(err == 0 ? "SetConsoleMode() returned zero" : "Quick mode is enabled"); return 0; } В конце создания архива, запускается ехе файл, но "Выделение мышкой" НЕ включено |
Отправлено: 21:55, 21-11-2023 | #23 |
Старожил Сообщения: 250
|
Профиль | Отправить PM | Цитировать ошибка в логике
|
Отправлено: 22:04, 21-11-2023 | #24 |
|
![]() |
Участник сейчас на форуме |
![]() |
Участник вне форума |
![]() |
Автор темы |
![]() |
Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
Route/Bridge - Доступ из интернета к видеорегистатору. ИНЕТ > ADSL > LAN1 > LAN2 > ВИДЕОРЕГИСТРАТОР | vladsevsk | Сетевые технологии | 1 | 23-01-2015 19:34 | |
HDD - Samsung SP60A3H >>to>> SP80A4H -- это реально? | SunAres | Накопители (SSD, HDD, USB Flash) | 63 | 02-04-2011 19:31 | |
CMD/BAT - как удалить ">" из строки типа “>>…>>c:\program files\dir\mir\doc.skok” | akrav | Скриптовые языки администрирования Windows | 1 | 14-02-2008 16:35 | |
Разное - [решено] Панель управления>>Администрирование>>Пусто | Bester | Microsoft Windows 2000/XP | 8 | 15-09-2007 14:30 |
|