Задать вопрос
Ответы пользователя по тегу Windows
  • Как принудительно понизить мощность колонок в Windows?

    TrueBers
    @TrueBers
    Гуглю за еду
    Вообще, если колонки хорошие и потенциометр на них не убитый, то для лучшего соотношения сигнал/шум надо выкручивать программные регуляторы на максимум, а регулировать аппаратно на колонках. Если выкручиваешь на колонах больше, а потом занижаешь программно, шум от усилка остаётся на 40 ватт, а полезный сигнал с ЦАПа будет слабее в несколько раз.
    Поэтому не надо на все 40 ватт выкручивать усилитель, это повышение уровня шума к полезному сигналу.

    Для твоих колонок, конечно, особо смысла не имеет, они полностью цифровые. Но всё равно остаётся шанс потерь на квадратично урезанной разрядности квантования (< 24-bit).
    Ответ написан
    Комментировать
  • В чём под Windows писать на Rust'е десктопные приложения?

    TrueBers
    @TrueBers
    Гуглю за еду
    rust-analyzer — это LSP server. Берёшь любой редактор, который может быть LSP клиентом, и пишешь.
    Под VScode единственное расширение — https://marketplace.visualstudio.com/items/?itemNa...
    Что ты нашёл — какой-то мусор.
    Ответ написан
    8 комментариев
  • Отрисовка наложений в windows?

    TrueBers
    @TrueBers
    Гуглю за еду
    Вижу единственный вариант наложения: ты наложил на гугл и изучение информации. С девяностых годов оверлеи люди рисовали и обсуждали на форумах, было бы желание изучать, да? А без него никак не получится.

    Фундаментально есть 4+ мне известных пути:
    1. Рисовать на контексте устройства напрямую, как, походу, ты и рисуешь. Это самый простой и самый кривой метод. Всё будет мерцать, пропадать. Всё равно придётся как-то синхронизироваться с V-blank, чтобы не выглядело ублюдски и не жрало ядра процессора брутфорсным рендерингом не в попад.
    2. Чуть менее простой и более-менее работающий способ, как уже сказали: создаёшь topmost-layered-transparent окно, ставишь хуки ресайза и перемещения на окно целевого приложения, рисуешь в контекст своего окна, что душе угодно. Иногда могут быть проблемы, если кто-то в эксклюзивном режиме композитора решит, что он более topmost, чем твоё окно. В целом, самый адекватный вариант без хаков.

    Хаки
    3. Инжектиться в сам процесс, выковыривать момент свапа буферов или представления единственного буфера, рендерить туда в момент перед самым представлением. Это может быть GDI, GDI+, Direct2D, DirectX, OpenGL, Vulkan.
    Можно также заинжектиться в композитор, если он используется. Потом точно так же откопать момент свапчейна и рендерить на уровне композитора. Там можно будет скрываться от скриншотов и ещё много чего делать.
    При желании и нехилом опыте, можно очень даже стабильно и красиво всё делать.
    4. Заабьюзить устаревшее API экранной лупы. Где-то были POC'и, что через неё можно вполне годный оверлей сделать. Но придётся повоевать с композитором, либо вообще его отключить. И вообще, хз, работает ли это в современных виндах. Последний раз такие хаки видел в Семёрке.
    Ответ написан
    Комментировать
  • Почему не удается получить адрес функции?

    TrueBers
    @TrueBers
    Гуглю за еду
    Если эта целевая программа не твоя и часто обновляется, то нужно найти сигнатуру функции, представляющую собой уникальный паттерн инструкций. Потом прогонять поиск по памяти образа на наличие этой сигнатуры и брать итоговое смещение относительно базового адреса. Это и будет нужный адрес.

    Если программа не обновляется никогда, то возьми да захардкодь RVA этой функции.

    Если программа твоя, то как у уже сказали остальные, просто сделай символ публичным плюс C abi через extern "C"
    Ответ написан
    Комментировать
  • Как увеличить виртуальную память?

    TrueBers
    @TrueBers
    Гуглю за еду
    Подкачка -- это только одна из частей понятия виртуальной памяти. Вы в целом не можете контролировать её. На то она и виртуальная.

    Она может включать в себя все общие замапленные DLL-ки, например. Которые по факту занимают память только один раз на всю систему, а учитываются как будто в каждом процессе что-то отъедают.
    Процесс может замапить себе хоть терабайт памяти виртуальной, но физические страницы будут выделены только по факту Copy-on-Write.

    Забейте на виртуальную, главное, чтобы физической хватало.
    Ответ написан
    Комментировать
  • Как конвертировать системный диск с Windows 10 с MBR в GPT?

    TrueBers
    @TrueBers
    Гуглю за еду
    Официальной утилитой от MS?

    Но там слишком много тонкостей и условий, чтобы всё сработало. Советую использовать крайне осторожно подобные утилиты, только в случае, если есть полное понимание того, как устроена дисковая разметка и в чём в принципе отличие MBR от GPT на низком уровне.

    Намного проще заново установить систему в режиме UEFI.
    Ответ написан
    Комментировать
  • Как починить синий экран?

    TrueBers
    @TrueBers
    Гуглю за еду
    По одному дампу мало что можно сказать.
    Похоже на баг драйвера NVIDIA Share, которая в фоне постоянно записывает кадры и позволяет из этого буфера либо сохранить видеофайл, либо наделать скриншотов.
    Попробуйте отключить в NVidia GeForce Experience, если включена.
    Ответ написан
  • Как исправить ошибку LNK2001 unresolved external symbol __imp_GetUserNameW C++?

    TrueBers
    @TrueBers
    Гуглю за еду
    Гуглим название функции: GetUserNameW.
    Заходим по первой же ссылке на документацию Microsoft.
    Там спускаемся в раздел Requirements.
    В строке "Library" видим Advapi32.lib.

    Теперь гуглим текст ошибки LNK2001 unresolved external symbol и переходим по первой ссылке, которая снова, внезапно, по невероятному стечению обстоятельств оказывается документацией Microsoft.
    Там читаем описание ошибки, и что нужно сделать, чтобы её устранить. Там даже ссылка на StackOverflow оставлена!

    2 основных варианта: либо в настройках проекта добавляем эту библиотеку к списку линкуемых, либо прямо в коде говорим линкеру #pragma comment(lib, "Advapi32").
    Браво! Вы великолепны!
    Да ещё и потратили в 3 раза меньше времени, чем писать сюда вопрос.

    Не сложно, если захотеть, правда?
    Ответ написан
    Комментировать
  • Почему не получается создать сокет?

    TrueBers
    @TrueBers
    Гуглю за еду
    int iFamily = AF_UNSPEC;
     
    saLocal.sin_family = (ADDRESS_FAMILY)iFamily;

    Как вы собираетесь создать сокет с неопределённым типом? Он должен быть в вашем случае либо AF_INET, либо AF_INET6.

    А насчёт WSAEACCESS вы читали MSDN? Там же даже табличка есть, с объяснениями ошибок и в каких случаях они появляются, и внизу указано:
    Note A socket that is using the SO_EXCLUSIVEADDRUSE option must be shut down properly prior to closing it. Failure to do so can cause a denial of service attack if the associated service needs to restart.

    Ещё советую почитать про TCP вообще. Про его конечный автомат, какие у него бывают состояния, что такое полу-закрытый сокет, что такое graceful shutdown, и т. п.

    Когда вы используете SO_EXCLUSIVEADDRUSE, у вас не должно быть повисших соединений в любом из состояний. Т. е. не только ESTABLISHED, но и различных FIN-WAIT, TIME-WAIT, CLOSE-WAIT тоже быть не должно. Если вы биндитесь на один и тот же порт всегда, то использовать SO_EXCLUSIVEADDRUSE на клиентах будет очень проблематично, ибо всегда будете нарываться на полу-закрытый порт.
    Ответ написан
    3 комментария
  • Как включить звук на двух мониторах со встроенными динамиками?

    TrueBers
    @TrueBers
    Гуглю за еду
    Ответ написан
    Комментировать
  • Почему Fast Startup в windows может привести к повреждению файловых систем?

    TrueBers
    @TrueBers
    Гуглю за еду
    Потому что, когда винда уходит в гибернацию, она создаёт на NTFS-разделе страницу, которую помечает как start speedup cache. В этой странице находится кеш метаданных для быстрого старта, чтобы потом не читать их заново на старте и не тупить.
    Вот этот кеш для линуксов не имеет никакого смысла. Мало того, раздел при монтировании видится как битый, потому что он помечается кучей своих флагов. Современные версии NTFS-3g предупреждают об этом и просят загрузиться снова в винду, чтобы она восстановила этот кеш. Ядерный же драйвер ntfs вообще пока не знает об этом, и может молча что-то записать поверх, и тогда ваша винда уже не загрузится.

    Это что касается NTFS.

    Ещё есть вероятность поломать EFI-раздел. Тут уж я не знаю, что делает с ним винда, но в момент гибернации, она тоже что-то оставляет не нём в неконсистентном состоянии, и при дальнейшем монтировании в линуксе, этот раздел видится битым. Если в этот момент на него что-то записать или попытаться "исправить", то уже все ваши операционные системы не смогут загрузиться.

    На самом деле, можно и не отключать этот фастбут. Просто нужно постоянно помнить: не выключился ли у вас случайно комп, когда был в виндовой гибернации. Типа там, свет моргнул, или уборщица сетевой фильтр шваброй обработала, либо вы сами накосячили.
    Ответ написан
    Комментировать
  • Нужны ли старые версии MVС++?

    TrueBers
    @TrueBers
    Гуглю за еду
    А кто за вас может знать, нужны они вам или нет?
    Если вы собираете что-то старое, то может и нужны. А в большинстве случаев достаточно 2017-й.

    Если вы имеете в виду MSVC Runtime Redistributable, то их удалять не нужно, ибо перестанут работать некоторые программы.
    Ответ написан
    Комментировать
  • Как установить Windows 10 параллельно с Linux?

    TrueBers
    @TrueBers
    Гуглю за еду
    Поставьте на виртуалку и не парьтесь.
    Ответ написан
    1 комментарий
  • Что это за эффект, когда окно не перерисовывается?

    TrueBers
    @TrueBers
    Гуглю за еду
    Название этого эффекта вам ни о чём не скажет. Просто разработчики давным давно забили на ХР и пишут без его поддержки. Они могут делать что угодно, может вообще перестать запускаться, никто вам не обещает работу на древних системах.
    Просто предыдущий буфер не очищается, а рисуется поверх него, вот и весь эффект. Решить вы его никак не сможете. Может только случайно как-то, дрова обновите на видео, всякие сервис-паки последние поставьте, но я сомневаюсь, что это поможет.
    Ответ написан
  • Как добавить в контекстное меню ‘Моего компьютера’ команду ‘Диспетчер устройств’ и ‘Программы и компоненты’?

    TrueBers
    @TrueBers
    Гуглю за еду
    В десятке эти меню не на Моём Компьютере, а на пуске. Либо Windows + X, либо правой мышью по пуску.
    Ответ написан
    Комментировать
  • Как в C/C++ нарисовать свое окно без winapi?

    TrueBers
    @TrueBers
    Гуглю за еду
    Можете свою оболочку explorer написать на OpenGL или DirectX, например. А лучше, идите работать, вас там займут делом.
    Ответ написан
    2 комментария
  • Как собрать glut под Windows используя mingw из под Linux?

    TrueBers
    @TrueBers
    Гуглю за еду
    Вы уверены, что вам нужен оригинальный GLUT 3.7 1998 года выпуска? Может быть стоит использовать что-то посовременнее? Например, GLFW, FreeGLUT, SDL.
    Если уверены, то я сомневаюсь, что он адекватно соберётся современными тулкитами без напильника.
    Ответ написан
    2 комментария
  • Как лучше поставить Visual Studio 2017?

    TrueBers
    @TrueBers
    Гуглю за еду
    Как вы её поверх накатить собрались? Она ж рядом ставится просто, хоть все версии можно поставить одновременно, в чём проблема то?
    Ответ написан
    4 комментария