|
|
||||||
Проверка Windows на подлинность (локальная)30.04.2021, 13:32. Показов 10272. Ответов 94
Начиная с Windows 7 есть функция для проверки подлинности системы - SLIsGenuineLocalEx.
Проверка проводится локально.
0
|
||||||
| 30.04.2021, 13:32 | |
|
Ответы с готовыми решениями:
94
Проверка Windows на подлинность Проверка на подлинность Windows 7 Проверка на подлинность Windows 7 |
|
COM‐пропагандист
|
||||
| 03.05.2021, 18:16 | ||||
|
0
|
||||
|
COM‐пропагандист
|
||
| 03.05.2021, 21:00 | ||
|
0
|
||
|
Модератор
|
|||||||||||||||||||||||||
| 03.05.2021, 22:29 | |||||||||||||||||||||||||
![]()
0
|
|||||||||||||||||||||||||
|
Кормпилятор
|
||||||||||||||
| 04.05.2021, 04:09 | ||||||||||||||
|
https://docs.microsoft.com/en-... ult-values только с твоих слов это мол криво. Но мы знаем, что любая техническая документация на любую конкретную вещь всегда делается полностью, чтобы избежать неточностей в её эксплуатации. Это касается и описания функции. Ссылка(или описание) на корректную обработку значений должна быть непосредственно в описании функции, без этой информации воспользоваться функцией - невозможно. Если этого нет, то отсюда вытекает вывод, что имеющейся информации достаточно, люди так посчитали. И её действительно достаточно. И тут срабатывает закон мёрфи "всё что может быть понято неправильно - будет понято неправильно". Кто виноват что программист увидел описание, которое дало ответы на вопросы как использовать функцию и не полез копать ещё 10000 тысяч страниц документации? Наверное тот, кто писал доку. И ещё есть такая фраза из армейского анекдота "больше бумаги - чище задница" про документацию как раз. Людям дали описание, технически строгое - они по нему работают. А то что дублируются сущности - это на их совести, если там что-то криво. Повторюсь пока ничего кривого воочию не увидел. Меня это пока не касается, мне COM не нужен, но ты это своенравно экстраполировал на все функции. Лишь хочу узнать подтвердятся ли эти опасения или нет. Как раз с целью не допустить ошибок. Но и наворачивать какие-то макросы с непонятными целями, просто "по фану" разумеется не буду. А для этого нужны косячные прецеденты(с вариантом программера где = S_OK), а не чужие коды. Ты читал пост, что я писал?Т.е. пофиг на здравый смысл, что реально внутри функции, скорее всего, не более отработки лишь той маленькой таблички и указанных в описании ситуаций. Если вообще не тупое S_OK и -1. Ещё раз. Описание типа не отвечает на мой вопрос. Более того вообще в состоянии на него ответить. Но, возможно, существует та или иная документация, которая сможет ответить на эти вопросы. Значит работает и так и так. Документация не отвечает на этот вопрос. Мне нужно нормальное объяснение, а не чужие коды. А так там в MSDN и такое есть: https://docs.microsoft.com/en-... lues-in-c- Тоже могу за него ухватиться и сказать что это тот другой чувак не прав. Мне вот не надо хендлить всё подряд, то чего не знаю, моя прога это не обработает, если оно не задокументировано. И это тоже документация. Так вот если она лживая, то почему её не уберут? там подписано 2018 год... Свежак Что люди в MS за почти три десятка лет так и не научились работать со своими методами? А если в COM напортачили - то это проблема COM. Меня этот расклад устроит, покуда туда не лезу. Всё это звучит как поправки в конституцию, знамо зачем.
Пока всё что вынес из этой дискуссии, так это то, что якобы в COM есть 1% кривожопых функций, работающих своевольно, не так как написано в документации, которые надо хендлить и в хвост и в гриву. Обычные же функции работают так как указано в описании. И никто пока обратного не подтвердил на практике. Будут реальные примеры косяков - будет совсем другое дело, с практическими фактами я не спорю никогда. Тогда все задумаются. А разговор пока был за стартовый пост, за который программера мокнули в говно. Человек всё делал по документации и это тоже тут подтвердили прогеры практики, а не лохи позорные, которые ничего не умеют. по WinAPI, хочу понять насколько они кореллируются с истиной и вообще копнуть эту самую истину. Заметь не говорю что кто-то тут не прав, криворук, пишет с ошибками и т.п. Мы за этим тут на форумах и сидим, не чтобы друг друга говном крыть, а чтобы истину копать. Повторюсь мне нужно нормальное объяснение, а не чужие коды, которых и сам накопать могу вагоны. И у меня были коды с FAILED (Direct Input), как бы странно не было, не стал спорить с тем, кто их писал и оставил как есть. Есть принцип если работает - лучше не трогать. И тестирование никто не отменял. Мне не нужны "процентные ванги", мне нужны факты и реальные примеры. А лучше перечень функций, которые по тем или иным причинам не умеют в классическое описание. Как с ним работает обратная сторона. Это и к тебе относится. Потому что пока вижу лишь жанглирование чужими кодами, а мне нужно объяснение, нормальное. Например как функция формирует эти коды. Повторюсь прочитал как работают макросы, я не дебил. Они не объясняют внутренней структуры функций и в документации ничего по этому поводу нет. Вообще на WinAPI такого мало где видел. Часто пишут = 0 и всё. И работает нормально. А хендлить целый диапазон значений, если оно вдруг сформировано не битовым образом(т.е. одно состояние) - извините, тут чисто по здравому смыслу не предскажу, что там может навернуться, мне нужна точность и в документации и в коде. А не вот мол какие-то непонятные люди написали функцию, которая не может выдать единственный, определённый результат работы. Наверное, с такими функциями я работать не буду или лишь не имея нормальной альтернативы. говорит другое. Что достаточно и S_OK. дискуссия в плане статистики. Т.к. всегда за здравый смысл в программировании, за то чтобы сделать хорошо там, где это важнее всего и не обосраться по итогу с использованием софта в реале. А не понаставить идиотских проверок, потратив на них всё своё время и силы, а по итогу выдать дичь, которая будет падать в движке на самых ответственных моментах. Взаимодействие с системой это как раз то, за что кодеры отвечать не могут в принципе(не они писали код системы). Вот ты говоришь про какие-то новые ответы функций, которые появятся и всё обвалится. Во-первых, менять поведение задокументированной функции - нонсенс. Флаги может и добавят, но поведение в рамках известной документации - не изменится. Во-вторых, люди не экстрасенсы, если вышла новая OS и на ней что-то не пашет - ну это как-бы допустимо, что может такое быть. Тебя и твои проверки могут не спасти и не спасут. Напиши какую-нть приличную прогу для 98 винды, не тестируя на других, сделай релиз и потом прогони по всем последующим. Да она у тебя там в куче мест отвалится или будет работать не так как задумано. Инфа соточка, обвалится 100% у всех. Если разрабы захотят в новой версии - обвалят, твои супер пупер проверки не панацея. Это жизнь, тут нужно тестировать там, где можешь, больше тестов - лучше работает. Это ещё с тем учётом что нет багов в алгоритмах и движке, а для этого должна быть формализация, если её вдруг нет - это уже двойной косяк, чем таких косяков больше - тем прога хуже будет работать везде, её просто тестить сложнее, факторов отвала больше. А с некоторыми вещами(которые от тебя не зависят) сделать вообще ничего нельзя, только переписать заново. Например будет библиотека которая на одной системе работает хорошо, а на другой как говно - и ты ничего тут не сделаешь, если опираешься сугубо на неё и не было возможности тестить. И смысл тут пинать кого-то правильно\неправильно. Работает софтина, есть от неё толк - значит правильно, не работает - значит жопа. Люди подбирают себе софт и оборудование под то, что работает, чтобы выгоду и пользу извлекать с этого, авторы софта также тестируют на конкретных ОС и ставят лычки совместимости. И я приводил примеры реальной жопы в софте, десятки примеров, когда что не делай, а пользоваться софтом нереально, это всегда плохо и там не в проверках было дело, а в том что либо плохо писано, либо непредусмотренные вещи(халатность), я даже приводил примеры, когда человек написал сложнейший движок и лоханулся, его прогу невозможно было запустить именно по здравому смыслу, как бы это делал человек, который пользу хочет из неё извлечь, а не принципиально выискивая баг. Там был один разработчик профи и списать на других людей косяк было нельзя. Никогда не заостряю внимание на херне, только на том что нужно видеть и как не нужно делать. А то что я тут последнее время читаю - это какая-то херня. То в текстовом поле не запятая, а точка - плохо, то оф. документация имеет изъяны, 20 лет не имела, а теперь имеет. Осталось начать хаять людей за отсутствие иконки в EXE файле. Когда здравый смысл теряется это уже не программирование, а анонизм какой-то. Добавлено через 24 минуты он предназначен, можно либо сделать собственный кастомный функционал, заменяющий тот, что в старших ОС, либо выдать ошибку. Поддержка старых систем это дело больше энтузиазма разработчика. И обычно этот энтузиазм исходит из того, что софт изначально под эту систему был и дорабатывать его стоит не всегда больших усилий. Добавлено через 15 минут Читайте до чего вы Петра довели, формалисты: Ну получается да, а как тут ещё дискутировать, если люди забивают на здравый смысл. Если так пинать людей по какой то фигне - то это бред. Хотя кому я говорю, это Россия. У нас это прям зараза какая-то, такое мышление "докапывательное", а не созидательное.
0
|
||||||||||||||
|
|
||||||||||||||||
| 04.05.2021, 07:25 [ТС] | ||||||||||||||||
|
The trick, словоблудие про то как
Но тот быстро переобулся :This function does not change the value of this parameter if the return value is any value other than S_OK. И конкретно расскажи, чего стОят все твои словоблудия про работу с с HRESULT кодами, и твоё утверждение, что Добавлено через 20 минут Обычно эта проверка лишь часть какой то программы. Замабувараев тупо вызывает в своей программе эту функцию, даже не проверив, есть она реально в системе или её нет?
Правильная программа не падает, а предупреждает, что Win устарела. Вторая грубая ошибка кроется тут:
0
|
||||||||||||||||
|
Кормпилятор
|
||
| 04.05.2021, 08:37 | ||
|
Мол прога запустится сказать, что она обессилила и не смогла. Мы такими темпами деграднём до неработающих хеллоу ворлдов. Вместо того, чтобы какой-то софт писать и разбирать нормальные вопросы, да ещё и перелаемся из-за этого дерьма, что того явно не стоит.
0
|
||
|
|
||
| 04.05.2021, 09:06 [ТС] | ||
|
Согласись, это гораздо лучше, чем ты запускаешь установленную прогу, а она с ошибкой падает в середине работы, обматерит тебя какой нибудь фразой типа "Runtime Error 2537648548!". Сиди и думай, то ли программист, который её писал баран, то ли комп не подходит ![]() Добавлено через 3 минуты
0
|
||
|
Кормпилятор
|
||
| 04.05.2021, 09:42 | ||
|
не тратить время на скачивание, установку, огребание косяка и удаление проги. За что в общем-то люблю портейблы и архивы, их не надо устанавливать. К слову проги, для которых нужен сишный рантайм при запуске бывает дают нулевую реакцию. У меня так было с аблетоном давно ещё, он даже окна никакого не создавал, мгновенно схлопывался. Это не ошибка, но забавно. В таком случае лучше бы, наверное, прога упала бы, я бы хоть сразу понял, что ей может чего-то не хватает, и хорошо что в папке рядом он лежал, как-бы для смекалистых ребят, но откуда, например, какой-нть пенсионер узнает это что надо посмотреть, полазить в папки с установщиком да ещё и запустить там какой-то экзешник с не особо звучным названием. А ещё часто бывает дерьмо, когда не оповещается о необходимости иметь .NET фреймворк, я вот его в гробу видал. Бывают ещё такие жопы что проге нужен конкретный сишный рантайм, но разумеется ни в какой доке это не указано. Например из VST есть такой spectral suite, там нужен чётко рантайм какого-то года(не помню какого), если ставишь ниже или выше версию - может уже отваливаться плагин, помню намучился с ним. Это всё неприятно, но решаемо.
0
|
||
|
|
|||||||||
| 04.05.2021, 11:36 | |||||||||
0
|
|||||||||
|
COM‐пропагандист
|
||||
| 04.05.2021, 12:30 | ||||
|
2. Загрузчик программ заполняет таблицу импорта указателями на функции. Если функция не найдена, загрузчик выдаёт диагностическое сообщение и прекращает загрузку программы с ошибкой. Эти два пути приводят к одинаковому результату. Это усложнение программы и раздувание кода. Вместо нарушения принципов KISS, которые вы тут приводили, достаточно указать поддерживаемую версию операционной системы в READ.ME файле и на странице загрузки и сразу пресекать скачивание.
0
|
||||
|
|
|||
| 04.05.2021, 15:37 [ТС] | |||
|
0
|
|||
|
COM‐пропагандист
|
||
| 04.05.2021, 15:58 | ||
|
0
|
||
|
|
||
| 04.05.2021, 17:14 [ТС] | ||
|
Не надо разводить OFF в этой теме. Тут вопросы только по конкретно по SLIsGenuineLocalEx. Считайте это официальным предупреждением.
0
|
||
|
Кормпилятор
|
||
| 05.05.2021, 12:40 | ||
|
Просто конкретно в стартовом примере это ничтожный смысл имеет. А так да Замавбувараев пишет про то что прога схлопнется с системным сообщением, а озвученный тобой вариант продолжит свою работу, игнорируя или заменяя функции. И то и то имеет место быть, например если какой-то функции нет, без которой прога ну ничего не сделает толком, наверное проще сделать варик Замавбувараев-a. Проще в данном контексте не значит лучше, системное "функция XXX не найдена в библиотеке YYY" слабо информативно для пользователя который об этом особо не в курсе. Хотя и сообщения которые пишут вендоры тоже забавные, вот например сообщение которое выдаёт драйвер Intel HD Driver: И как грится, гадай что этому драйверу надо, редкий си рантайм, конкретная версия фреймворка, директ икс, активация винды, какой-нибудь конкретный пакет обновления или схождение звёзд в поясе ориона.
0
|
||
| 05.05.2021, 12:40 | |
|
Помогаю со студенческими работами здесь
95
Проверка на подлинность Windows 7 (не прошла) экран черный Проверка на подлинность
Активация и проверка на подлинность Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Знаешь почему 90% людей редко бывают счастливыми?
kumehtar 14.04.2026
Потому что они ждут. Ждут выходных, ждут отпуска, ждут удачного момента. . .
а удачный момент так и не приходит.
|
Фиксация колонок в отчете СКД
Maks 14.04.2026
Фиксация колонок в СКД отчета типа Таблица.
Задача: зафиксировать три левых колонки в отчете.
Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка)
/ / . . .
|
Настройки VS Code
Loafer 13.04.2026
{
"cmake. configureOnOpen": false,
"diffEditor. ignoreTrimWhitespace": true,
"editor. guides. bracketPairs": "active",
"extensions. ignoreRecommendations": true,
. . .
|
Оптимизация кода на разграничение прав доступа к элементам формы
Maks 13.04.2026
Алгоритм из решения ниже реализован на нетиповом документе, разработанного в конфигурации КА2.
Задачи, как таковой, поставлено не было, проделанное ниже исключительно моя инициатива.
Было так:. . .
|
|
Контроль заполнения и очистка дат в зависимости от значения перечислений
Maks 12.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2.
Задача: реализовать контроль корректности заполнения дат назначения. . .
|
Архитектура слоя интернета для сервера-слоя.
Hrethgir 11.04.2026
В продолжение https:/ / www. cyberforum. ru/ blogs/ 223907/ 10860. html
Знаешь что я подумал? Раз мы все источники пишем в голове ветки, то ничего не мешает добавить в голову такой источник, который сам. . .
|
Подстановка значения реквизита справочника в табличную часть документа
Maks 10.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2.
Задача: при выборе сотрудника (справочник Сотрудники) в ТЧ документа. . .
|
Очистка реквизитов документа при копировании
Maks 09.04.2026
Алгоритм из решения ниже применим как для типовых, так и для нетиповых документов на самых различных конфигурациях.
Задача: при копировании документа очищать определенные реквизиты и табличную. . .
|