Войти

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


Страниц : [1] 2

SharkyEXE
18-11-2023, 00:14
Здравствуйте

Операционная система: 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/2020/08/quickeditexe-turns-on-or-off-quick-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

Спасибо.

Sham
18-11-2023, 10:38
quick mode что-ли отключить в консоли?
Вот простая сишечка отключает. Компилируйте в mingw.
#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;
}169326

SharkyEXE
18-11-2023, 11:48
Sham, здравствуйте.

Пожалуйста, будьте так любезны, хочется науки, знаний, если возможно, будьте так, любезны, научите, немного, а как из Вашего кода сделать чем проще, тем лучше - без наворотов в виде графических интерфейсов, GUI интерфейса и прочего ненужного, чем меньше размер на выхлопе ехе файла, тем лучше, без уси-пуси, сюси-нюси?

Спасибо.

Sham
18-11-2023, 12:20
SharkyEXE, во вложенном выше архиве 32-битный exe

SharkyEXE
18-11-2023, 12:24
Sham, здравствуйте

Пишется, лично у меня

Страница не найдена. Если вы уверены, что использовали правильную ссылку, свяжитесь с администрациейЕсли это возможно, будьте так, любезны, прикрепите Яндекс.Диск, Майл Облако или любой другой файлообменник

Sham
18-11-2023, 12:30
https://disk.yandex.ru/d/gEiiB7k73lKlSg

SharkyEXE
18-11-2023, 13:05
Sham, здравствуйте

Супер, класс, работает как часы

Прилагаю видео

https://disk.yandex.ru/i/goa4qByn-bJhOg

Применительно к операционной системе Windows

х86 (32 разрядные ехе файлы) работают:
- на х86 операционной системе Windows
- на х64 операционной системе Windows

х64 (64 разрядные ехе файлы) работают:
- ТОЛЬКО на х64 операционной системе Windows
- х64 (64 разрядные ехе файлы) НЕ работают на х86 операционной системе Windows

Пожалуйста, будьте так, любезны, скомпилируйте 64 разрядный ехе файл

Мне для архива, истории, коллекции

Хуже не будет иметь в загашнике обе версии, как 32 разрядную, так и 64 разрядную

Спасибо.

Sham
18-11-2023, 15:16
64-битная здесь - https://disk.yandex.ru/d/Nu7gcpTuT3wl0Q

SharkyEXE
18-11-2023, 15:35
Sham, здравствуйте

Спасибо Вам, для коллекции, для истории, для моего архива, загашника

Работает идеально

Видео прилагаю

https://disk.yandex.ru/i/L3FhMLMzAX4RiQ

Спасибо.

SharkyEXE
20-11-2023, 18:58
Sham, здравствуйте

Лично я планировал, что код универсальный на любой версии Windows.

В частности, на Microsoft Windows 7 Professional Service Pack 1 x64 Russian - Ваши ехе файлы, что Ваш ехе файл х86, что Ваш ехе файл х64 работают безупречно

См. видео

х86
https://disk.yandex.ru/i/goa4qByn-bJhOg

х64
https://disk.yandex.ru/i/L3FhMLMzAX4RiQ

В ходе теста Ваших файлов на: Майкрософт Windows 10 Корпоративная 10.0.19045 Сборка 19045 х64 Russian - Ваши ехе файлы, что Ваш ехе файл х86, что Ваш ехе файл х64 - беда, после запуска Ваших файлов выделение мышью остается

См. видео

х64
https://disk.yandex.ru/i/tf58Eor-TtiRHw

х86
https://disk.yandex.ru/i/xfcREN399sX7oA

Пожалуйста, будьте так, любезны, подрепетируйте

Спасибо.

NickM
20-11-2023, 19:18
Лично я планировал »
подрепетируйте »
https://cs12.pikabu.ru/post_img/2022/03/24/4/1648096512132556976.jpg

SharkyEXE
20-11-2023, 19:37
NickM, здравствуйте.

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

Serguei Kouzmine
21-11-2023, 04:43
@SharkyEXE так вы всё - ?

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

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

SharkyEXE
21-11-2023, 08:27
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;
}

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

SharkyEXE
21-11-2023, 09:19
Sham, здравствуйте.

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

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

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

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

Спасибо

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

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

SharkyEXE
21-11-2023, 17:25
Serguei Kouzmine, здравствуйте.

Да, подойдёт




© OSzone.net 2001-2012