советы

 

Страницы: | 1 | 2 |

Surface Book 2 не подключается к WiFi-сети — скрипт для перезапуска адаптера

14 января 2020 // Хельги

Симптомы

Ноутбук Surface Book 2 не переподключается автоматически к некоторым беспроводным сетям. Возможно, этой же проблеме подвержены другие ноутбуки и планшеты Surface с беспроводным адаптером Marvell Avastar.

Как это выглядит: я прихожу в офис, включаю ноутбук (он выходит из гибернации), но он не подключается к известной ему беспроводной сети — её при этом или нет в списке сетей, или она есть, но подключиться к сети, если по ней кликнуть, он не может.

Обходной маневр

Открыть Device Manager, найти устройство Marvell AVASTAR Wireless-AC Network Controller, в контекстом меню нажать Disable device, потом Enable device. После этого ноутбук подключится к сети.

PowerShell-скрипт для автоматизации

Чтобы не открывать каждый раз Device Manager, можно сделать PowerShell-скрипт и запускать его в один клик.

Выяснение InstanceId. Сначала потребуется выяснить InstanceId адаптера на ноутбуке. Для этого запускаем PowerShell и вводим команду Get-PnpDevice:

   PS C:\Users\helgi> Get-PnpDevice -FriendlyName "*Marvell*Wireless*" | ft -wrap -autosize friendlyname, instanceid
   
   FriendlyName                                   InstanceId
   ~~~~~~~~~~~~                                   ~~~~~~~~~~
   Marvell AVASTAR Wireless-AC Network Controller PCI\VEN_11AB&DEV_2B38&SUBSYS_045E0009&REV_00\4&32FA7CC7&0&00E0

Точное название адаптера можно посмотреть в Device Manager.

Скрипт. Создаем где-нибудь в удобном месте (например, в C:\scripts) файл Restart-Marvell.ps1:

 #
 # Disable, then enable Marvell AVASTAR Wireless-AC Network Controller
 #
 
 Disable-PnpDevice -InstanceId "PCI\VEN_11AB&DEV_2B38&SUBSYS_045E0009&REV_00\4&32FA7CC7&0&00E0" -confirm:$false
 Write-Host 'Adapter disabled'
 sleep 1
 
 Enable-PnpDevice -InstanceId "PCI\VEN_11AB&DEV_2B38&SUBSYS_045E0009&REV_00\4&32FA7CC7&0&00E0" -confirm:$false
 Write-Host 'Adapter enabled'
 sleep 1
 
 Write-Host -NoNewLine 'Press any key to continue...'
 $null = $Host.UI.RawUI.ReadKey('NoEcho,IncludeKeyDown')

InstanceId в скрипте (PCI\VEN_11AB&DEV_2B38&SUBSYS_045E0009&REV_00\4&32FA7CC7&0&00E0) заменяем на тот, который был получен при помощи команды Get-PnpDevice.

Ярлык для быстрого запуска. Создаем в удобном месте (на Рабочем столе или в папке Quick Launch) ярлык на PowerShell.exe, в поле Target в окне свойств прописываем:

%SystemRoot%\system32\WindowsPowerShell\v1.0\powershell.exe C:\scripts\Restart-Marvell.ps1

Там же нажимаем Advanced и ставим галку Run as Administrator — без этого не получится остановить и запустить адаптер и будут сыпаться ошибки. То же будет и при простой попытке запустить сам файл скрипта.

Готово. Теперь вместо кликов в Device Manager можно запустить этот ярлык, подтвердить запуск от имени администратора и нажать любую клавишу, когда скрипт отработает.

Тэги: powershell, surface, советы
Написать комментарий

Как отключить «естественную» прокрутку для мыши, но оставить для трекпада (OS X)

16 мая 2015 // Хельги

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

При работе с трекпадом очень удобна «естественная» прокрутка. Когда она включена, при прокрутке перемещение пальцев по трекпаду перемещает контент на экране, а не полосу прокрутки. Это правда естественно и соответствует движениям, которые работают на сенсорном экране (на планшетах, мобильных телефонах и так далее).

Также «естественная» прокрутка удобна на мыши Magic Mouse, в которой вместо колеса используется сенсорная поверхность.

Однако на обычных мышах с традиционным колесом прокрутки включение «естественного» режима приводит к тому, что для прокрутки вниз колесо приходится крутить вверх, и наоборот. Привыкнуть к этому невозможно.

Решение

Программа Scroll Reverser позволяет перевернуть направление прокрутки отдельно для мыши или для трекпада.

Рекомендуемые настройки выглядят так.

В системных настройках (System Preferences):

  • Включить «естественную» прокрутку (Trackpad > Scroll & Zoom > Scroll direction: natural или Mouse > Scroll direction: natural)

В настройках программы Scroll Reverser:

  • Включить Reverse Scrolling
  • Включить Reverse Vertical
  • Включить Reverse Mouse и выключить Reverse Trackpad
  • На вкладке App включить Start at login для автоматического запуска

Если вы пользуетесь то встроенным трекпадом ноутбука, то внешней традиционной мышью, или если вы пользуетесь встроенным или внешним трекпадом и мышью одновременно, эти настройки позволят иметь «естественную» прокрутку на трекпаде и привычно работающее колесо на мыши.

Ограничение. К сожалению, программа не различает Magic Mouse и традиционную мышь. Добиться «естественной» прокрутки на трекпаде и Magic Mouse одновременно с традиционной прокруткой на другой мыши невозможно.

(По материала форума MacRumors.)

Тэги: mac, советы
Комментарии (3)

Как убрать эскизы вкладок в Safari под Windows 7

6 июня 2012 // Хельги

Проблема

Safari 5.1 в Windows 7 с включённым Aero отображает эскизы вкладок, а не окон. Большинство других браузеров, например, Chrome, отображают эскизы именно открытых окон. То есть, если открыто два окна, в первом из которых 5 вкладок, а во втором — 4, то Safari выводит 9 эскизов, а Chrome — 2.

Такое поведение может быть неудобным в случае, когда открыто много (более 20) вкладок одновременно.

Решение

Следует настроить запуск Safari в режиме совместимости с Windows Vista:

/users/helgi/safari-compat.png

После этого, как и требуется, Safari будет выводить по одному эскизу на открытое окно:

/users/helgi/safari-fixed.png

Примечания

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

(По материалам сайта twiki.com.)

Тэги: safari, windows 7, советы
Написать комментарий

Как определить, вызван пакетный файл из командной строки или из проводника?

6 февраля 2011 // Хельги

Для некоторых пакетных файлов полезно различать, был ли файл запущен из командной строки или двойным щелчком из проводника (или его аналога). Например, при запуске пакетника, выполняющего функции мейк-файла, из проводника результаты сборки хочется оставить на экране — то есть поставить в конце вызов команды pause. Но если запускать его из консоли, то «пауза» будет совершенно лишней.

Можно заметить, что при вызове из проводника (или, например, из менеджера Total Commander) переменная %0 содержит полный путь к пакетному файлу, заключённый в кавычки. Если же пакетник вызывается из консоли, то, скорее всего, при вызове было указано имя файла (с расширением или без).

Справка по команде call подсказывает нам, что имя вызванного пакетного файла можно получить при помощи выражения %~n0, а имя с расширением — при помощи %~nx0. Сравнив эти выражения с исходным значением %0, можно принять решение о вызове «паузы».

То есть пакетный файл можно закончить следующим фрагментом:

if .%0. == .%~n0. goto END
if .%0. == .%~nx0. goto END

pause
:END

P. S. Если есть вероятность, что пакетник будет запускаться не только из его собственного каталога, т. е. командами вида dir\script, то можно зайти с другой стороны и сравнивать значение %0 с полным путём: %~f0.

Тэги: cmd, советы
Написать комментарий

Команда hg summary

11 ноября 2010 // Хельги

Из сегодняшней меркуриальской рассылки узнал о команде hg summary, которая выводит сводку о состоянии репозитория, а с опцией --remote ещё и наличие входящих изменений.

[D|]$ hg summary --remote
parent: 5265:6119c843617f
 К тикету 1544: изменен формат имени папки
branch: main
commit: 3 modified, 2 added, 14 unknown
update: (current)
remote: 1 or more incoming

Тэги: hg, советы
Написать комментарий

Рекурсивный подсчёт количества строк в файлах

16 июня 2010 // Хельги

В юниксах рекурсивный подсчёт количества строк в исходниках — дело плёвое. В винде нет нормальной обратной кавычки, поэтому задача чуть-чуть усложняется:

find . -name *.py -exec cat {} ; | wc -l

Обратите внимание: find(1), cat(1) и wc(1) — это юниксовые утилиты, для винды их можно взять, например, из unixutils.

Тэги: красные глазки, советы
Написать комментарий

Глючит буфер обмена в Visual Studio 2010

28 мая 2010 // Хельги

Симптомы такие: в «студии» при нажатии Ctrl+C в буфер ничего не копируется, так что нажатие Ctrl+V ничего не вставляет. То же самое и Ctrl+X: текст из редактора исчезает, но в буфере ничего нет, приходится отменять.

Microsoft Connect предлагает выключить расшаривание буфера обмена в RDC, во всех видах. Я закрыл два подключённых RDC, и мне действительно помогло.

Тэги: visual studio, работа, советы
Написать комментарий

Перемещение файлов, находящихся под контролем TFS, из консоли

15 февраля 2010 // Хельги

Перемещать несколько файлов, лежащих в TFS, при помощи окна Source Control Explorer мучительно. Файл нужно щёлкнуть правой кнопкой, выбрать в меню Move, указать каталог, куда нужно его переместить. И так для каждого файла по отдельности.

Но эта неприятная особенность присуща только графическому клиенту. В консоли, если вам нужно, скажем, переместить контрол вместе с .Designer.cs и .resx, можно написать так:

D:\Projects\Client\Controls>tf move AreaControl.* d:\Projects\Common\UI\Controls\
AreaControl.cs
AreaControl.Designer.cs
AreaControl.resx

Редакция от 7 марта 2010
Тэги: tfs, работа, советы
Написать комментарий

Исчезновение системных значков громкости, сети и питания (Vista, Windows 7)

21 октября 2009 // Хельги

Со мной это происходит уже третий раз за полгода, и мне надоело каждый раз искать рецепт решения проблемы в интернетах. Поэтому пусть этот рецепт будет и тут.

Симптомы

С панели задач пропали системные значки «Громкость», «Сеть» и «Питание», при этом в диалоге «Свойства панели задачи меню „Пуск“» соответствующие флажки на вкладке «Область уведомлений» недоступны.

Решение

Следует удалить в ветке реестра

HKEY_CURRENT_USER\Software\Classes\Local Settings\
    Software\Microsoft\Windows\CurrentVersion\TrayNotify

ключи IconStreams и PastIconsStream, после чего перезапустить процесс explorer.exe.

(По материалам сайта MyDigitalLife.info.)

2 января 2011

Как сообщает комментатор Иван, способ также работает и на Windows 7.

30 июня 2011

Первый раз за то время, что пользуюсь Windows 7, проблема воспроизвелась. Приведённое решение работает, но у меня после его применения скрылись все значки, кроме громкости, сети и питания, пришлось вытаскивать их обратно.

Редакция от 5 августа 2013
Тэги: vista, windows 7, советы
Комментарии (61)

Кьюшки (cue banner) в контролах DevExpress

15 октября 2009 // Хельги

В Windows XP появились встроенные подсказки, которые выводятся в текстовом поле, пока пользователь не поставит туда курсор. По-английски они называются cue banners, а вот русский термин мне не известен (Language Portal не помог).

/users/helgi/cue-banner-vista.png

Необходимые действия для создания кьюшки в обычном дотнетовском текстовом поле уже подробно описаны до нас; нам нужно только применить рецепт для вытаскивания текстового поля из девэкспрессовских контролов.

Итак, необходимые объявления:

private const int EM_SETCUEBANNER = 0x1501;
private const int EM_GETCUEBANNER = 0x1502;

[DllImport("user32.dll", CharSet = CharSet.Auto)]
private static extern Int32 SendMessage(
    IntPtr hWnd, 
    int msg,
    int wParam, 
    [MarshalAs(UnmanagedType.LPWStr)] string lParam);

Установка кьюшки на девэкспрессовский контрол (помним, что контролы DevExpress содержат текстовое поле в качестве дочернего контрола):

foreach (Control control in buttonEdit1.Controls)
{
    if (control is TextBox)
    {
        WinApi.SendMessage(control.Handle, WinApi.EM_SETCUEBANNER, 0, "Cue banner");
    }
}

Вот так выглядит результат:

/users/helgi/cue-banner.png

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

Тэги: c#, работа, советы
Комментарии (1)

Страницы: | 1 | 2 |