Форум программистов, компьютерный форум, киберфорум
Visual Basic
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 5.00/18: Рейтинг темы: голосов - 18, средняя оценка - 5.00
0 / 0 / 0
Регистрация: 29.05.2021
Сообщений: 28

Как отключить правую кнопку мыши?

29.05.2021, 20:30. Показов 4089. Ответов 28

Студворк — интернет-сервис помощи студентам
Доброго дня. Подскажите плиз, как отключить правую клавишу мыши, чтобы по нажатию ничего не происходило и не вылазило контекстное меню? Есть форма (VB 6.0), у нее два текстбокса, но полагаю, что отключить нужно для всей формы - клавиша как таковая не нужна и использоваться не будет. Я в программировании новичок. Думал, что там просто делается, но оказалось, что это гораздо сложнее, чем просто программировать поведение клавиатуры, типа If KeyCode и поехали..
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
29.05.2021, 20:30
Ответы с готовыми решениями:

Как отключить кнопку в тулбаре?
Есть кулбар, в нем тулбар (или наоборот), а там есть кнопочки. Ни кто случаем не в курсе, как одну из кнопочек при определенных условиях...

"Запихнуть" процедуру на правую кнопку мыши.
А то хочется туда процедурку запихать - а не знаю как.... Мне кажется вообще нельзя, но может кто подскажет хитрость? И второй вопрос,...

Как отключить правую кнопку мыши
В 1С 8.1 для ограничения доступа пользователям в форме выключаю панель с кнопками редактирования ...но по нажатию правой кнопки мыши...

28
 Аватар для Pro_grammer
6807 / 2839 / 527
Регистрация: 24.04.2011
Сообщений: 5,308
Записей в блоге: 10
29.05.2021, 21:17
Найдено в поисковике:
Как заблокировать стандартное контекстное меню.
Данный пример покажет, как можно заблокировать стандартное контекстное меню элемента TextBox.
Расположите на форме TextBox, а также создайте невидимое меню mnuText и как минимум одно подменю.
Запустите проект, нажмите правой клавишей мыши на TextBox'е...
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
Private Declare Function LockWindowUpdate Lib "User32" (ByVal hwndLock As Long) As Long
Private Sub Text1_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
If Button = vbRightButton Then
LockWindowUpdate Text1.hWnd
Text1.Enabled = False
DoEvents
PopupMenu mnuText
Text1.Enabled = True
LockWindowUpdate 0&
End If
End Sub
2
0 / 0 / 0
Регистрация: 29.05.2021
Сообщений: 28
29.05.2021, 21:40  [ТС]
Круто. Я видел примерно такой код, только для другого языка, не VB.. не помню, на Си наверное.
Но все-таки, этот код отключает как я понял контекстное меню, а не блокирует кнопку. Неужели просто
заблокировать кнопку сложнее, чем использовать все эти штуки со скрытыми объектами на форме и т.д.?
Но в любом случае thanks!
0
 Аватар для Argus19
1427 / 444 / 78
Регистрация: 24.09.2017
Сообщений: 2,525
Записей в блоге: 22
29.05.2021, 22:12
Цитата Сообщение от winuser74 Посмотреть сообщение
Неужели просто
заблокировать кнопку сложнее, чем использовать все эти штуки со скрытыми объектами на форме и т.д.?
Я сделал так. На форме массив из пяти текстовых полей:
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
Private Sub Text1_MouseDown(Index As Integer, Button As Integer, Shift As Integer, X As Single, Y As Single)
Dim i As Integer
If Button = vbRightButton Then
    Text1(Index).Enabled = False    'Выключаем выбранное текстовое поле
End If
If Button = vbLeftButton Then
    For i = 0 To 4
    Text1(i).Enabled = True             'Включаем все текстовые поля
'        Debug.Print i
        Next i
End If
End Sub
У программы недостаток: если "вырубить" все текстовые поля правой кнопкой мыши, то пропадёт любая реакция на них. Чтобы это избежать, надо оформить включение полей в подпрограмму и вызывать её из других событий.
1
0 / 0 / 0
Регистрация: 29.05.2021
Сообщений: 28
30.05.2021, 04:50  [ТС]
Цитата Сообщение от Argus19 Посмотреть сообщение
У программы недостаток: если "вырубить" все текстовые поля правой кнопкой мыши, то пропадёт любая реакция на них. Чтобы это избежать, надо оформить включение полей в подпрограмму и вызывать её из других событий.
Теоретически это тоже вариант, но мне хочется спросить: Вас не смущает, что в том случае, если текстовое поле заполнено
- текст становится серым? Если бы этого эффекта можно было избежать было бы значительно лучше. Но это вероятно не особо возможно... если уж заблокировать кнопку как я понимаю сложно (хотя мне как новичку это кажется невероятным - что можно было не предусмотреть при разработке IDE такие простые вещи, несмотря на такое кол-во сервиспаков), то это наверное и подавно.

Кроме этого, я честно говоря не совсем понимаю какое событие использовать для включения поля. В моем случае например только два поля ввода и только одно включено в зависимости от выбранного режима. Ловить с помощью API клики мыши по выключенному серому полю?
Пока (несмотря на вполне очевидные неудобства) первый вариант кажется предпочтительным... хотя конечно хотелось бы хотя бы понять, что не так с этой чертовой кнопкой, что ее не отключить.. или в этом виновата винда, а не VB и я зря "ругаюсь" на него? Впрочем,
мне кажется, что при обсуждении такого же вопроса на других языках, какие-то решения находились или я уже
что-то путаю...

UPDATE: кажется я нашел решение (в интернете естественно). по-крайней мере очень похоже на решение. сейчас проверяю. позже напишу, хотя там (если бы я был поумнее) видимо можно сделать еще проще и писать меньше строк кода.
0
 Аватар для Argus19
1427 / 444 / 78
Регистрация: 24.09.2017
Сообщений: 2,525
Записей в блоге: 22
30.05.2021, 10:26
Цитата Сообщение от winuser74 Посмотреть сообщение
какое событие использовать для включения поля.
Я пробовал таймер. Иногда правая кнопка начинает срабатывать.
В любом случае, надо городить огород.
Цитата Сообщение от winuser74 Посмотреть сообщение
что можно было не предусмотреть при разработке IDE такие простые вещи, несмотря на такое кол-во сервиспаков)
Так бросили же. Сначала писали, что надо собрать какое-то количество подписей, чтобы поддерживать, а потом всё-равно бросили.
0
0 / 0 / 0
Регистрация: 29.05.2021
Сообщений: 28
30.05.2021, 22:17  [ТС]
Так ведь SP6 был..
В общем, решение я нашел. Правда там тоже есть нюансы. Мне кажется, что здесь могли бы люди малость код допилить капельку - потому что проблема потенциально такая: если у человека один текстбокс или два-три, то и проблемы наверное нет, но если предположить, что у кого-то их много - тогда проблема есть - потому что тупо повторять один и тот же код для всех текстбоксов не комильфо, а для всей формы он не работает. Это с другого форума, я бы дал ссылку, чтобы Вы сами прочитали, но не знаю модераторы разрешат или нет? Второй момент в том, что другой человек ругался на этот код, в том смысле, что можно было сделать еще проще.. хотелось бы с этим моментом разобраться, но мне самому это пока тяжело (я же новичок).. я под себя лишь в одном месте переделал, чуть позже код выложу, как делается.. сейчас просто времени нет.

Добавлено через 4 часа 21 минуту
Pro_grammer, не нашел тут личных сообщений.. Можно здесь ссылку публиковать на другой форум? (вроде не реклама)
0
 Аватар для Argus19
1427 / 444 / 78
Регистрация: 24.09.2017
Сообщений: 2,525
Записей в блоге: 22
30.05.2021, 22:27
Цитата Сообщение от winuser74 Посмотреть сообщение
не нашел тут личных сообщений.
Справа от ника - треугольник.
Правила форума вверху страницы:
https://www.cyberforum.ru/visu... ment3.html
"Запрещено публиковать ссылки на другие форумы, а также их пропаганда. Публикация ссылок на форумы допустима только в разделе "Готовые движки, cms и форумы" для решения технических проблем и с предварительного одобрения администрации."
0
0 / 0 / 0
Регистрация: 29.05.2021
Сообщений: 28
31.05.2021, 00:06  [ТС]
Цитата Сообщение от Argus19 Посмотреть сообщение
В любом случае, надо городить огород.
Вот и не хочется городить огород с невидимыми полями... Кстати я не в курсе, но краем что-то промелькнуло пока я
код искал, что типа переменные и (или) функции объявленные в модуле всегда публичные? И вообще что-то типа о том,
что в модуле можно объявить то, что нельзя объявить в форме, например свои типы? Что из этого правильно, а что нет?

Ну а вот, собственно решение, как я под себя сделал:

1. Добавляем к проекту модуль. В коде модуля пишем:

Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
Public Const GWL_WNDPROC = -4&
Public Declare Function SetWindowLong Lib "user32.dll" Alias "SetWindowLongA" (ByVal hWnd As Long, _
ByVal nIndex As Long, ByVal dwNewLong As Long) As Long
Public Declare Function CallWindowProc Lib "user32.dll" Alias "CallWindowProcA" _
(ByVal lpPrevWndFunc As Long, ByVal hWnd As Long, ByVal Msg As Long, ByVal wParam As Long, _
ByVal lParam As Long) As Long
Public OldWindowProc1, OldWindowProc2 As Long    'это потому, что у нас два текстбокса
  
Private Const WM_RBUTTONDOWN = &H204&  'здесь я изменил под себя
  
Public Function NoPopupWindowProc1(ByVal hWnd As Long, ByVal _    'поэтому и функции две
Msg As Long, ByVal wParam As Long, ByVal lParam As Long) As Long
  
  Select Case Msg
  Case WM_RBUTTONDOWN:  'и здесь
    NoPopupWindowProc1 = 0
  Case Else:
  NoPopupWindowProc1 = CallWindowProc(OldWindowProc1, hWnd, Msg, wParam, lParam)
  End Select
End Function
 
Public Function NoPopupWindowProc2(ByVal hWnd As Long, ByVal _
Msg As Long, ByVal wParam As Long, ByVal lParam As Long) As Long
  
  Select Case Msg
  Case WM_RBUTTONDOWN:
    NoPopupWindowProc2 = 0
  Case Else:
  NoPopupWindowProc2 = CallWindowProc(OldWindowProc2, hWnd, Msg, wParam, lParam)
  End Select
End Function
2. А вот, что в коде процедуры:

Visual Basic
1
2
3
4
Private Sub Form_Load()
OldWindowProc1 = SetWindowLong(Text1.hWnd, GWL_WNDPROC, AddressOf NoPopupWindowProc1) '1 текстбокс
OldWindowProc2 = SetWindowLong(Text2.hWnd, GWL_WNDPROC, AddressOf NoPopupWindowProc2) '2 текстбокс
End Sub
Соответственно претензия к этому коду одна - как бы сделать так, чтобы обращаться к одной функции,
а не копировать их по количеству текстбоксов? В этом смысле - вопрос к Argus19 - вы как-то делали свои
текстбоксы с одним именем Text1 + индексы - может ли в данном случае это дать преимущество или нет?!
У меня например нет уверенности, что можно в Form_Load() корректно сделать обращение к функции
(которая у нас в модуле), через цикл, чтобы это не привело к зависанию или всяким другим бякам?
В общем суть в том, что хотелось бы этот код допилить в плане - одной функции для всех текстбоксов
(если конечно кнопку надо выключить у всех разумеется).. Если народ с этим поможет, то будет отличное
на мой взгляд решение, гораздо лучше чем "городить огород".. хотя на вкус и цвет.. а модераторы
смогут пометить это как вариант ответа для следующих, кто будет искать тоже самое.. Еще я бы
рекомендовал (раз уж нельзя ссылку давать) найти по тексту эту тему в поисковике самостоятельно -
там важен как раз не приведенный код - а то, что другой человек говорил/предлагал, что можно сделать
еще проще.. и его вариант возможно сработал бы для всей формы целиком (в смысле для всех ее текстовых
полей).
Вторую часть кода нельзя писать нигде, кроме процедуры Form_Load() - это вызывает падение IDE
или ошибку "Out of space stack" - не уверен, что правильно понимаю почему так происходит?.. но видимо
VB тогда не понимает какое из окон он должен подменить и что-то в этом роде..
0
 Аватар для Argus19
1427 / 444 / 78
Регистрация: 24.09.2017
Сообщений: 2,525
Записей в блоге: 22
31.05.2021, 00:42
Цитата Сообщение от winuser74 Посмотреть сообщение
вы как-то делали свои текстбоксы с одним именем Text1
Массив контролов делается элементарно: делаете любой контрол, копируете и вставляете. Сразу будет задан вопрос, хотите ли вы сделать массив. Соглашаетесь и делаете столько, сколько вам нужно. Меняются только процедуры обработки событий массива контролов. Что и видно из моего примера.
Цитата Сообщение от winuser74 Посмотреть сообщение
переменные и (или) функции объявленные в модуле всегда публичные?
Нет. Модуль рекомендуют для хранения публичных переменных, чтобы их не искать по всему коду.
Если в модуле есть публичные процедуры, то переменные и декларации библиотечных функций для них могут быть приватными.
Visual Basic
1
Public OldWindowProc1, OldWindowProc2 As Long
В отличие от того же С++, в VB 6.0 надо объявлять каждую переменную. Здесь переменная OldWindowProc1 имеет тип Variant, которая занимает кучу места. Константа Public Const GWL_WNDPROC = -4& то же.
Цитата Сообщение от winuser74 Посмотреть сообщение
можно в Form_Load() корректно сделать обращение к функции
(которая у нас в модуле), через цикл, чтобы это не привело к зависанию или всяким другим бякам?
Событие Form_Load() возникает первым, до появления формы.
1
0 / 0 / 0
Регистрация: 29.05.2021
Сообщений: 28
31.05.2021, 01:06  [ТС]
Здесь переменная OldWindowProc1 имеет тип Variant
Как же Variant, если "Public OldWindowProc1, OldWindowProc2 As Long"? А константы.. там разве
указывают тип - ни разу не встречал вроде.. как надо было?

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

Добавлено через 11 минут
Кажется врубился.. т.е. поскольку форма еще не загрузилась, то можно безболезненно использовать цикл.
Странно, но у меня в памяти какая-то бяка.. в общем что-то висло или падало когда я что-то такое делал,
но точно не помню уже.

Тогда получается надо OldWindowProc объявлять как массив.. и через For - правильно я понимаю? Можно
попробовать, но результат может быть непредсказуемым, особенно если что-то напутать.)))
0
 Аватар для Argus19
1427 / 444 / 78
Регистрация: 24.09.2017
Сообщений: 2,525
Записей в блоге: 22
31.05.2021, 01:20
Цитата Сообщение от winuser74 Посмотреть сообщение
как надо было?
Visual Basic
1
Public OldWindowProc1 As Long, OldWindowProc2 As Long
Цитата Сообщение от winuser74 Посмотреть сообщение
возникает до формы и что из этого
следующим возникает событие Activate(). Подозреваю, что можно разместить код в нём.
Цитата Сообщение от winuser74 Посмотреть сообщение
"Out of space stack"
вы выходите за пределы стека, отведённого вашей программе. Причину надо искать.

Добавлено через 12 минут
Есть замечательная функция Debug.Print hWnd. Поставьте её сразу после входа в обе функции
Visual Basic
1
Public Function NoPopupWindowProc
и увидите, с чьим именно hWnd вы в них входите.
Это даст направление для дальнейших размышлений.
0
0 / 0 / 0
Регистрация: 29.05.2021
Сообщений: 28
31.05.2021, 01:25  [ТС]
Действительно, можно объявить GWL_WNDPROC и WM_RBUTTONDOWN как Integer хотя мне кажется
погоды это не сделает, но работает.

А на счет "Public OldWindowProc1 As Long, OldWindowProc2 As Long".. вроде же когда мы пишем
Dim a, b, c As Long - то тип применяется ко всем перечисленным через запятую переменным -
с Public разве не аналогично?

Добавлено через 3 минуты
и увидите, с чьим именно hWnd вы в них входите.
Это даст направление для дальнейших размышлений.
А Вы не хотите сами допилить - Вас разве тот же вопрос не интересовал?) По-крайней мере, если
судить по тому, какое решение Вы предложили в начале - или код чем-то не устраивает?
0
 Аватар для Argus19
1427 / 444 / 78
Регистрация: 24.09.2017
Сообщений: 2,525
Записей в блоге: 22
31.05.2021, 01:28
Цитата Сообщение от winuser74 Посмотреть сообщение
вроде же когда мы пишем
Dim a, b, c As Long - то тип применяется ко всем перечисленным через запятую переменным -
с Public разве не аналогично?
Нет. Объявлять надо каждую переменную, независимо её от видимости. Это можно в С++.
0
0 / 0 / 0
Регистрация: 29.05.2021
Сообщений: 28
31.05.2021, 01:48  [ТС]
Да не.. все там нормально с "Public OldWindowProc1, OldWindowProc2 As Long" - спецом
решил проверить, что отвечает первая переменная - тип лонг - все ок. Спокойно пишем
через запятую и не паримся.

MsgBox TypeName(OldWindowProc1)

Добавлено через 12 минут
В процедуре Activate можно размещать.. не глючит. Ваша правда.
Ладно.. посплю, а потом допилю.) Гуд найт.
0
 Аватар для Argus19
1427 / 444 / 78
Регистрация: 24.09.2017
Сообщений: 2,525
Записей в блоге: 22
31.05.2021, 01:54
Попробовал ваш вариант. У меня всё работает. По идее, перед выходом из программы надо отключить перехват событий.
Работает и с массивом TextBox:
Вложения
Тип файла: zip Блокировка правой клавиши.zip (2.3 Кб, 8 просмотров)
0
0 / 0 / 0
Регистрация: 29.05.2021
Сообщений: 28
31.05.2021, 18:24  [ТС]
Пардон. Я про выход забыл.. там был код для выхода, я его забыл написать. Там просто человек блокировал вообще
мышь целиком, поэтому ему для выхода нужно было включать ее обратно. У меня поскольку только правая кнопка
блокируется, то я так думаю, что мне ничего для выхода не нужно. Кнопка то работает. Зачем что-то придумывать.

Добавлено через 17 минут
А на счет массива текстовых полей мне подумалось, что все-таки называть их одинаково и делать из этого массив
не всегда удобно. У человека могут текстбоксы называться например по их функциональному значению в проекте.
Я думаю может можно применять что-то типа:

Dim box() As Object
box = Array(... перечисляем названия наших текстовых полей)

Потом обращаемся к ним по индексу в массиве:
box(0).

Еще не пробовал, но идея думаю ясна. Так ведь тоже наверное можно сделать?


Вот тот фрагмент, который я забыл добавить:

Visual Basic
1
2
3
4
5
6
Private Sub Form_Unload(Cancel As Integer)
     
       SetWindowLong _
        box.hWnd, GWL_WNDPROC, _
        OldWindowProc
end sub
Только я так и не понял зачем он (если не все клавиши мыши блокируются) - все и так работает. И выход выходит.

Посмотрел - действительно все может работать через одну функцию.. единственное я не врубился что это такое
у меня внизу окно быстрого выполнения в самой IDE какие-то циферки пишет - не понял что оно показывает?

Согласитесь, метод действенный, причем легко заблокировать мышь совсем для какого-нибудь окна.

Добавлено через 7 минут
Если надо полностью мышь блокировать, то лучше разобрать вот это: (что писал тот чел)
"Если ты возвращаешь в обработчике WM_NCHITTEST значение HTTRANSPARENT, то Винда считает, что данное окно не хочет обрабатывать мышиные сообщения и шлёт эти сообщения в родителя, а не в Control."
Но код он приводил не для бейсика.. как его на бейсике применять я еще не разбирался:

UINT CNoMouseEdit::OnNcHitTest(CPoint point)
{
return HTTRANSPARENT;
}

Не знаю какой это язык, поэтому привожу без форматирования.
0
 Аватар для Argus19
1427 / 444 / 78
Регистрация: 24.09.2017
Сообщений: 2,525
Записей в блоге: 22
31.05.2021, 18:28
Цитата Сообщение от winuser74 Посмотреть сообщение
у меня внизу окно быстрого выполнения в самой IDE какие-то циферки пишет - не понял что оно показывает?
Это результат работы
Visual Basic
1
    Debug.Print hWnd
. В данном случае, отображается hWnd TextBox-а, который вызвал функцию NoPopupWindowProc при наведение на него мыши. Видно, что цифры меняются при наведении мыши на разные TextBox. Т.е. видно, что функция отрабатывает 4 TextBox.
И это окно для вывода отладочной информации.
Обычно, рядом с TextBox ставится Label, в которую записано что именно вводить. Программист знает за что отвечает каждый TextBox. Пользователю это не нужно. Ему надо знать, что вводить в текстовое поле.
0
0 / 0 / 0
Регистрация: 29.05.2021
Сообщений: 28
31.05.2021, 18:49  [ТС]
Понятно. Ну я видимо иду своим путем. Путем минимализма. Стараюсь не размещать на форме лишних объектов, поэтому
предпочитаю прямое именование, а не лэйблы. Будет время - попробую создать массив из объектов как писал. Только
Array(... это наверное откуда-то из другого, может с vbs спутал.
0
 Аватар для Argus19
1427 / 444 / 78
Регистрация: 24.09.2017
Сообщений: 2,525
Записей в блоге: 22
31.05.2021, 19:00
Цитата Сообщение от winuser74 Посмотреть сообщение
может с vbs спутал
Скорее с VB.Net. VB 6.0 не умеет иницализировать массив подобным образом.
Цитата Сообщение от winuser74 Посмотреть сообщение
предпочитаю прямое именование
TextBox предназначен для изменения его содержимого пользователем, т.е. для ввода оперативной информации.
Сделал расширенный пример.
Вложения
Тип файла: zip 1.ZIP (2.3 Кб, 5 просмотров)
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
31.05.2021, 19:00
Помогаю со студенческими работами здесь

Как програмно отключить правую кнопку мыши?
Народ подскажите как програмно отключить правую кнопку мыши? иль чтобы в СppWebBrouser при нажатии правой кнопки мыши не выскакивало меню?...

Как заблокировать правую кнопку мыши?
Ребят подскажите, как заблокировать нажатие правой кнопки мыши на значок своей программы в трее?

Как реализовать выпадающее меню по нажатию на правую кнопку мыши?
подскажите слиз как реализовать выпадающее меню по нажатию на правую кнопку мыши??? допусти в каком-либо месте на своей форме нажимаю...

Как отловить в Lazarus событие: нажатие на правую или среднюю кнопку мыши?
Как отловить в Lazarus событие: нажатие на правую или среднюю кнопку мыши на каком либо компоненте?

Включить правую кнопку мыши на сайте
здраствуйте, есть код на php который ищет слов из базы(txt файл) и выводит на экран: error_reporting(-1); if (isset($_POST)) { ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
http://iceja.net/ математические сервисы
iceja 20.01.2026
Обновила свой сайт http:/ / iceja. net/ , приделала Fast Fourier Transform экстраполяцию сигналов. Однако предсказывает далеко не каждый сигнал (см ограничения http:/ / iceja. net/ fourier/ docs ). Также. . .
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма). На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ * Дана цепь постоянного тока с R, L, C, k(ключ), U, E, J. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа, решает её и находит переходные токи и напряжения на элементах схемы. . . .
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым. Но восстановить их можно так. Для этого понадобится консольная утилита. . .
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11 Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru