Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » Любой язык - Снять птичку/галочку Общие -> Правка -> Выделение мышью (Отключить выделение мышью)

Ответить
Настройки темы
Любой язык - Снять птичку/галочку Общие -> Правка -> Выделение мышью (Отключить выделение мышью)

Ветеран


Сообщения: 900
Благодарности: 86

Профиль | Отправить PM | Цитировать


Изменения
Автор: SharkyEXE
Дата: 18-11-2023
Здравствуйте

Операционная система: 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 компилировалось
Код: Выделить весь код
v1.0.3705
v1.1.4322
v2.0.50727
v3.0
v3.5
v4.0.30319
В процессе использования одного и того-же 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 или нет антивируса
и самое главное - не зависло, установлена или нет некая версия .Net Framework, чтобы НЕ было предложения установить некую версию .Net Framework - так сказать, смешно, ради 1-2-3 Килобайтного файла на разном количестве
Код: Выделить весь код
- версиях Windows (7, 10, 11)
- права администратора или права пользователя
- х86 или х64
- антивирус доктор веб 13 или нет антивируса
если увижу ошибку - сразу устанавливать некую версию .Net Framework

Спасибо.

Отправлено: 00:14, 18-11-2023

 

Аватара для NickM

Ветеран


Contributor


Сообщения: 4607
Благодарности: 1103

Профиль | Отправить PM | Цитировать


Цитата SharkyEXE:
Лично я планировал »
Цитата SharkyEXE:
подрепетируйте »
Скрытый текст

Отправлено: 19:18, 20-11-2023 | #11



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Ветеран


Сообщения: 900
Благодарности: 86

Профиль | Отправить PM | Цитировать


NickM, здравствуйте.

Не обижайтесь, я не мог знать, что на разных версиях (7, 10) ОС Windows, одинаковые ехе файлы могу работать, а могут и нет

Отправлено: 19:37, 20-11-2023 | #12


Старожил


Сообщения: 250
Благодарности: 51

Профиль | Отправить PM | Цитировать


@SharkyEXE так вы всё - ?

можно и без компилятора вроде ведь - откровенно, на максимальном

Отправлено: 04:43, 21-11-2023 | #13


Deadooshka


Сообщения: 2558
Благодарности: 697

Профиль | Отправить PM | Цитировать


SharkyEXE, непонятно, как вы его используете. SetConsoleMode() ставит флаги на текущую консоль. Если софт создаёт другую консоль или сам вызывает внутри SetConsoleMode(), то вероятно настройки консоли меняются. Очевидно, что запускаемый софт не должен создавать новую консоль, то есть start /b /wait ... . Наверное, можно без флага wait.

Отправлено: 07:06, 21-11-2023 | #14


Ветеран


Сообщения: 900
Благодарности: 86

Профиль | Отправить PM | Цитировать


Sham, здравствуйте

Вот целиком-полностью скрипт=файл 1.cmd

https://disk.yandex.ru/d/Ex9uyexiN7tfkg

Как вызывается файл quickmode.c.exe или quickmode.c.x64.exe - это строка 99

Скрытый текст
Код: Выделить весь код
Start "" /b "%NameBBB%"
Просьба понять, повторюсь, я не мог знать, файл 1.cmd на ОС Windows 7, ОС Windows 10 - будет по разному работать.
Вполне возможно, в консоли ОС Windows 10 произошла какая-то технология, что в консоли ОС Windows 10, ехе файл х86 или х64 НЕ выключает выделение мышкой, при этом в консоли ОС Windows 7, ехе файл х86 или х64 работает замечательно... Видео прилагал ранее, мне нет смысла никого вводить в заблуждение, зачем...

В интернете по quickmode по ОС Windows 10 есть вот такая информация

Скрытый текст
https://stackoverflow.com/questions/55497407/disable-quick-edit-mode-for-console-from-c
https://stackoverflow.com/a/55498324

Код: Выделить весь код
#include<conio.h>
#include<iostream>
#include<windows.h>
using namespace std;


int main(){
    HANDLE hInput;
    DWORD prev_mode;
    hInput = GetStdHandle(STD_INPUT_HANDLE);
    GetConsoleMode(hInput, &prev_mode); 
    SetConsoleMode(hInput, prev_mode & ENABLE_EXTENDED_FLAGS);
    cout<<"The quick edit mode stopped now press any key to re enable it"<<endl;
    _getch();
    SetConsoleMode(hInput, prev_mode);
    cout<<"Quick edit mode reenabled click any key to exit";
    _getch();
    return 0;
}

Отправлено: 08:27, 21-11-2023 | #15


Deadooshka


Сообщения: 2558
Благодарности: 697

Профиль | Отправить PM | Цитировать


ну вот по типу этого
Код: Выделить весь код
start /b /wait quickmode.c.x64.exe
start /b /wait tasklist
выделение работает? Так и у себя делайте все вызовы архиватора и taskkill, чтобы не создавали новую консоль.

Отправлено: 09:03, 21-11-2023 | #16


Ветеран


Сообщения: 900
Благодарности: 86

Профиль | Отправить PM | Цитировать


Sham, здравствуйте.

Пожалуйста, не обижайтесь, сможете скомпилировать тот код, х86 и х64, пожалуйста?

Так сказать, в мой скрипт прикручу проверку - если ОС Виндоус 7, будут те файлы работать х86 или х64
Ели ОС Виндоус 10, будут новые файлы работать х86 или х64

Конечно, желательно, универсальный код ОС Виндоус 7 и Виндовс 10, чтобы вместо 4х файлов было два файла, не считать наглостью...

По поводу тасклист, тасккилл - оооочееь хочется максимально автономное, чтобы ещё тасклист и тасккилл не носить на флешке

Спасибо

Отправлено: 09:19, 21-11-2023 | #17


Deadooshka


Сообщения: 2558
Благодарности: 697

Профиль | Отправить PM | Цитировать


Цитируемый вами код выключает режим, потом ждёт нажатия клавиши и обратно включает как было. Обратите внимание, что порядок вызова функций и используемые константы абсолютно идентичны.

Отправлено: 09:45, 21-11-2023 | #18


Старожил


Сообщения: 250
Благодарности: 51

Профиль | Отправить PM | Цитировать


Цитата SharkyEXE:
универсальный код ОС Виндоус 7 и Виндовс 10, чтобы вместо 4х файлов был 1 файл, не считать наглостью »
- на повершелл подойдет ?

Отправлено: 17:16, 21-11-2023 | #19


Ветеран


Сообщения: 900
Благодарности: 86

Профиль | Отправить PM | Цитировать


Serguei Kouzmine, здравствуйте.

Да, подойдёт

Отправлено: 17:25, 21-11-2023 | #20



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » Любой язык - Снять птичку/галочку Общие -> Правка -> Выделение мышью (Отключить выделение мышью)

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
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




 
Переход