Форум программистов, компьютерный форум, киберфорум
PowerShell
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.71/7: Рейтинг темы: голосов - 7, средняя оценка - 4.71
2807 / 505 / 121
Регистрация: 26.09.2020
Сообщений: 959
Записей в блоге: 5

reg.exe vs PowerShell

01.09.2023, 16:23. Показов 2262. Ответов 31

Студворк — интернет-сервис помощи студентам
Windows Batch file
1
reg add "HKEY_CURRENT_USER\Test" /v "Long number" /t REG_DWORD /d 0xF080004D /f
В CSHARP есть unchecked
C#
1
2
3
.SetValue("Attributes", unchecked((int)0xf080004d), RegistryValueKind.DWord);
PSHELL не рулит
PowerShell
1
2
3
4
5
$KeyName   = "HKEY_CURRENT_USER\Test"
$ValueName = 'Long number'
$Value     = 4034920525
$ValueKid  = [Microsoft.Win32.RegistryValueKind]::DWord
[Microsoft.Win32.Registry]::SetValue($KeyName, $ValueName, $Value, $ValueKid)
Как в PowerShell сделать?
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
01.09.2023, 16:23
Ответы с готовыми решениями:

Копирование exe в папку windows/system32, и запуск reg-файла
День добрый. Нужна помощь, не могли бы вы подсказать как написать bat файл который будет копировать exe'шник (например TotalComander.exe),...

Сильно разное потребление памяти процессами powershell.exe и powershell_ise.exe при выполнении одного скрипта
Добрый день! Раньше такого не замечал, может из-за того, что скрипты проще были. Недавно столкнулся вот с таким поведением (скрипт парсит...

Не запускаются реестр и .exe, .reg
При запуске открывалась страница . Вроде прибил запуск страницы, но проблему с запуском файлов и реестра самостоятельно не могу решить....

31
2807 / 505 / 121
Регистрация: 26.09.2020
Сообщений: 959
Записей в блоге: 5
07.09.2023, 15:22  [ТС]
Студворк — интернет-сервис помощи студентам
ProxyCommand экономит на блоке параметров, надо бы мне присмотреться к этому и брать на вооружение.

Пользуюсь добавлением в тип, изредка.
Например в пошике версии 5.1 нету свойства CommandLine. фрагмент профиля.
PowerShell
1
2
3
4
5
6
7
8
9
10
11
# Добавление свойства CommandLine объекту System.Diagnostics.Process
# в результате свойство CommandLine будет доступно в выдаче командлета Get-Process
if ($PSVersionTable.PSVersion.Major -eq 5) {
    $TypeData = @{
        TypeName   = 'System.Diagnostics.Process'
        MemberType = 'ScriptProperty'
        MemberName = 'CommandLine'
        Value      = {(Get-CimInstance Win32_Process -Filter "ProcessId = $($this.Id)").CommandLine}
    }
    Update-TypeData @TypeData -Force
}
PowerShell
1
Get-Process -Name t* | select Name, CommandLine
Тот же принцип для классов, вычисляемых свойств ('ScriptProperty')
PowerShell
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
class Sample {
    $a
    $b
 
    Sample($a, $b) {
        $this.a = $a
        $this.b = $b
    }
 
    static Sample() {
        $SumProperty = @{
            MemberType = 'ScriptProperty'
            MemberName = 'Sum'
            Value      = { return $this.a + $this.b }
        }
 
        'Sample' | Update-TypeData @SumProperty
    }
}
PowerShell
1
[Sample]::new(2, 8).Sum
0
Покинул форум
3701 / 1484 / 355
Регистрация: 07.05.2015
Сообщений: 2,903
07.09.2023, 17:50
Цитата Сообщение от lesser
Потом это дело пофиксили и я прокси в дальнейшем не пользовался.
Но опыт то остался, и он явно подсказывает что прокси удобны в плане наращивания функциональности. Или вы иного мнения?
Цитата Сообщение от iNNOKENTIY21
Тот же принцип для классов
Вы для начала определитесь: процедурное кодирование у вас или все же объектно-ориентированное, ибо так можно действительно в иную плоскость забрести.
0
1659 / 274 / 66
Регистрация: 03.06.2020
Сообщений: 707
07.09.2023, 19:14
Цитата Сообщение от greg zakharov Посмотреть сообщение
Или вы иного мнения?
Нет, но может у меня другой юзкейс, я и Get-Process использую в основном для прибития какого-либо процесса (gps procname).kill(). Stop-Process почему-то редко. А как нарастить, например добавить сигналы, как в kill, я не имею достаточной квалификации, т.к. далек от IT вообще.

Интересует в основном разморозка-заморозка (пауза). Поэтому или kill или pssuspend.exe в зависимости от ОС.

PowerShell
1
2
3
$ 18,19 | % { kill -l $_ }
CONT
STOP
0
Покинул форум
3701 / 1484 / 355
Регистрация: 07.05.2015
Сообщений: 2,903
07.09.2023, 21:53
Linux, по крайней мере те из дистрибутивов, которые не подразумевают ручное конфигурирование системы от начала установки, до натягивания X'ов, в отличии от Windows уже укомплектованы самым необходимым, и kill "из коробки" весьма кстати. Однако что в Linux, что в Windows, если в нашем распоряжении имеется pwsh, надобность в прочих утилитах отпадает. А фокус здесь вот в чём: Get-Process любезно предоставляет базовые адреса имиджей модулей процесса, зная которые разобрать экспорт не составит труда что ELF, что PE; а дальше останется облачить полученный адрес нужных функций из экспорта в делегатов и вызывать их по мере необходимости. В Linux функция kill отдается libc.so.6 (в man 2 kill можно подсмотреть определение для делегата), в Windows для "(раз|за)морозки" процесса используется NtResumeProcess и NtSuspendProcess из ntdll.dll, имеющие следующие прототипы:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
NTSYSCALLAPI
NTSTATUS
NTAPI
NtResumeProcess(
  _In_ HANDLE ProcessHandle
);
 
NTSYSCALLAPI
NTSTATUS
NTAPI
NtSuspendProcess(
  _In_ HANDLE ProcessHandle
);
Навскидку, то же можно сделать через syscall'ы, но тогда изменится стратегия: в Linux для этих целей придётся использовать mmap, в Windows — Virtual(Alloc|Protect) или что-то в этом духе.
Реализацию сказанного для Windows можете глянуть здесь. Модуль уже год как заброшен, но кое-что оттуда почерпнуть можно, например, те же реализации Resume-PsProcess и Suspend-PsProcess, в частности установку факта "заморозки" основного потока процесса. И да, модуль работал корректно только с указанной версией pwsh.
1
507 / 160 / 49
Регистрация: 27.02.2016
Сообщений: 833
08.09.2023, 02:47
Code
1
2
3
4
5
$KeyName   = "HKEY_CURRENT_USER\Test"
$ValueName = 'Long number'
[uint64]$Value     = [uint64]"4034920525"
$ValueKind  = [Microsoft.Win32.RegistryValueKind]::QWord
[Microsoft.Win32.Registry]::SetValue($KeyName, $ValueName, ([uint64] $Value), $ValueKind)
усшнопе



а c __DWORD__ ошбкаи сама по себе говорит же

Code
1
2
Exception calling "SetValue" with "4" argument(s): 
"The type of the value object did not match the specified RegistryValueKind or the object could not be properly converted."



Code
1
2
3
[uint64]$value  = [uint64]'0xf080004d'
 $value
4034920525
Миниатюры
reg.exe vs PowerShell  
0
Покинул форум
3701 / 1484 / 355
Регистрация: 07.05.2015
Сообщений: 2,903
08.09.2023, 16:10
skouzmine, что-то вы какую-то ерунду городите.
PowerShell
1
[UInt32]::MaxValue -gt 4034920525 # True
Про преведение строки к UInt64 вообще какая-то ересь. Может поясните?
0
507 / 160 / 49
Регистрация: 27.02.2016
Сообщений: 833
08.09.2023, 16:34
вы правы - решающее изменение оригинального кода действительно было в последнем аргументе REG_DWORD на REG_QWORD

как только заработало я потерял интерес и не стал трогать эту часть

но вообще то
из документации вроде следует что такой вызов легален

https://learn.microsoft.com/en... ew=net-7.0

QWord 11
A 64-bit binary number. This value is equivalent to the Windows API registry data type REG_QWORD.

когда пробовал решить первое что прочитал был стак оверфлоу что повершелл по умолчнию не любит беззнаковые ...
0
Покинул форум
3701 / 1484 / 355
Регистрация: 07.05.2015
Сообщений: 2,903
08.09.2023, 17:39
skouzmine, кажется начинаю понимать ход ваших мыслей. В pwsh по умолчанию принято соглашение интерпретации чисел как знаковых, отсюда, чтобы число было гарантированно выведено без знака, требуется явное преведение, либо указание суффикса-модификатора (введены с версии 6.2):
PowerShell
1
2
3
4
5
6
7
8
$i = 23y # SByte
$i = 23uy # Byte
$i = 23s # Int16
$i = 23us # UInt16
$i = 23 # Int32
$i = 23u # UInt32
$i = 23l # Int64
$i = 23ul # UInt64
0
2807 / 505 / 121
Регистрация: 26.09.2020
Сообщений: 959
Записей в блоге: 5
08.09.2023, 18:51  [ТС]
Цитата Сообщение от skouzmine Посмотреть сообщение
[Microsoft.Win32.RegistryValueKind]::QWord
Если бы, но нужен DWord.

ExplorerNavFolder.psm1. На данный момент, не тестировалось, кроме моей тестовой win-11.
PowerShell
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
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
$ErrorActionPreference = 'Stop'
Set-StrictMode -Version 'Latest'
 
#region Constant
 
$CLSIDPathConstant = @{
    Option = 'Constant'
    Name   = 'CLSIDPath'
    Value  = 'HKCU:\Software\Classes\CLSID'
}
 
New-Variable @CLSIDPathConstant
 
$NameSpacePathConstant = @{
    Option = 'Constant'
    Name   = 'NameSpacePath'
    Value  = 'HKCU:\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Desktop\NameSpace'
}
 
New-Variable @NameSpacePathConstant
 
$NewStartPanelPathConstant = @{
    Option = 'Constant'
    Name   = 'NewStartPanelPath'
    Value  = 'HKCU:\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\HideDesktopIcons\NewStartPanel'
}
 
New-Variable @NewStartPanelPathConstant
 
#endregion Constant
 
function GetCLSIDWithInstance {
    Get-Item -Path "$CLSIDPath\*" | Where-Object -FilterScript {
        $_.GetSubKeyNames() -eq 'Instance'
    }
}
 
function GetGuid ([Microsoft.Win32.RegistryKey] $CLSIDItem) {
    $CLSIDItem.Name.Replace('HKEY_CURRENT_USER\Software\Classes\CLSID\', '')
}
 
function GetName ([string] $Guid) {
    Get-ItemPropertyValue -Path "$CLSIDPath\$Guid" -Name '(default)' -ErrorAction SilentlyContinue
}
 
function GetPath ([string] $Guid) {
    $Params = @{
        Path = ("$CLSIDPath\$Guid\Instance\InitPropertyBag")
        Name = 'TargetFolderPath'
        ErrorAction = 'Ignore'
    }
 
    Get-ItemPropertyValue @Params
}
 
function GetIcon ([string] $Guid) {
    $Params = @{
        Path = ("$CLSIDPath\$Guid\DefaultIcon")
        Name = '(default)'
    }
 
    Get-ItemPropertyValue @Params -ErrorAction SilentlyContinue
}
 
function IsPinned ([string] $Guid) {
    $params = @{
        Path  = "$CLSIDPath\$Guid"
        Name  = 'System.IsPinnedToNamespaceTree'
    }
 
    Get-ItemPropertyValue @params -ErrorAction SilentlyContinue
}
 
function SetName ([string] $Guid, [object] $Value) {
    $params = @{
         Path  = "$CLSIDPath\$Guid"
         Name  = '(default)'
         Value = $Value
         Type  = 'String'
         Force = $true
    }
 
    [void] (Set-ItemProperty @params)
}
 
function SetPath ([string] $Guid, [object] $Value) {
    $params = @{
         Path  = "$CLSIDPath\$Guid\Instance\InitPropertyBag"
         Name  = 'TargetFolderPath'
         Value = $Value
         Type  = 'String'
         Force = $true
    }
 
    [void] (Set-ItemProperty @params)
}
 
function SetIcon ([string] $Guid, [object] $Value) {
    $params = @{
         Path  = "$CLSIDPath\$Guid\DefaultIcon"
         Name  = '(default)'
         Value = $Value
         Type  = 'String'
         Force = $true
    }
 
    if (-not (Test-Path -Path "$CLSIDPath\$Guid\DefaultIcon")) {
        [void] (New-Item -Path "$CLSIDPath\$Guid\DefaultIcon")
    }
 
    [void] (Set-ItemProperty @params)
}
 
# Закрепить ранее зарегистрированную папку на панели навигации Проводника.
function Pin ([string] $Guid) {
    $params = @{
        Path  = "$CLSIDPath\$Guid"
        Name  = 'System.IsPinnedToNamespaceTree'
        Value = 1
        Type  = 'DWord'
    }
 
    [void] (Set-ItemProperty @params)
}
 
# Открепить папку от панели навигации Проводника.
function Unpin ([string] $Guid) {
    $params = @{
        Path  = "$CLSIDPath\$Guid"
        Name  = 'System.IsPinnedToNamespaceTree'
        Value = 0
        Type  = 'DWord'
    }
 
    [void] (Set-ItemProperty @params)
}
 
# Получить список папок, зарегистрированных для панели навигации Проводника.
function Get-ExplorerNavFolder {
    (GetCLSIDWithInstance).ForEach({
        $guid = GetGuid -CLSIDItem $_
 
        [PSCustomObject] @{
            Guid     = $guid
            Name     = GetName -Guid $guid
            Path     = GetPath -Guid $guid
            Icon     = GetIcon -Guid $guid
            IsPinned = [bool] (IsPinned -Guid $guid)
        }
    })
}
 
# Зарегистрировать в реестре и закрепить папку на панели навигации Проводника.
function Register-ExplorerNavFolder {
    param (
        [Parameter(Mandatory)]
        [ValidateNotNullOrEmpty()]
        [string] $Name,
 
        [Parameter(Mandatory)]
        [ValidateNotNullOrEmpty()]
        [string] $Directory,
 
        [ValidateNotNullOrEmpty()]
        [string] $Icon = $null
    )
 
    $CLSIDItems = Get-ExplorerNavFolder
 
    if (@($CLSIDItems | Where-Object -Property Name -eq $Name).Count -gt 0) {
        Write-Warning -Message "$Name already is register"
        return
    }
 
    if (@($CLSIDItems | Where-Object -Property Path -eq $Directory).Count -gt 0) {
        Write-Warning -Message "$Directory already is register"
        return
    }
 
    [string] $Guid = [guid]::NewGuid().Guid
 
    if (@($CLSIDItems | Where-Object -Property Guid -eq $Guid).Count -gt 0) {
        Write-Warning -Message "$Guid already is register"
        return
    }
 
    $PathsToCreate = @(
        "$CLSIDPath\{$Guid}"
        "$CLSIDPath\{$Guid}\DefaultIcon"
        "$CLSIDPath\{$Guid}\InProcServer32"
        "$CLSIDPath\{$Guid}\ShellFolder"
        "$CLSIDPath\{$Guid}\Instance"
        "$CLSIDPath\{$Guid}\Instance\InitPropertyBag"
        "HKCU:\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Desktop"
        "$NameSpacePath"
        "$NameSpacePath\{$Guid}"
        "HKCU:\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\HideDesktopIcons"
        "$NewStartPanelPath"
    )
 
    $PathsToCreate.ForEach({
        if (-not (Test-Path -Path $_)) {
            [void] (New-Item -Path $_)
        }
    })
 
    $PropertyToCreate = @(
        @{
            Path  = "$CLSIDPath\{$Guid}"
            Name  = "System.IsPinnedToNamespaceTree"
            Type  = 'DWord'
            Value = 1
        },
        @{
            Path  = "$CLSIDPath\{$Guid}"
            Name  = "SortOrderIndex"
            Type  = 'DWord'
            Value = 72
        },
        @{
            Path  = "$CLSIDPath\{$Guid}"
            Name  = '(default)'
            Type  = 'String'
            Value = $Name
        },
        @{
            Path  = "$CLSIDPath\{$Guid}\DefaultIcon"
            Name  = '(default)'
            Type  = 'String'
            Value = $Icon
        },
        @{
            Path  = "$CLSIDPath\{$Guid}\InProcServer32"
            Name  = '(default)'
            Type  = 'String'
            Value = '%SYSTEMROOT%\system32\shell32.dll'
        },
        @{
            Path  = "$CLSIDPath\{$Guid}\ShellFolder"
            Name  = 'FolderValueFlags'
            Type  = 'DWord'
            Value = 40
        },
        @{
            Path  = "$CLSIDPath\{$Guid}\ShellFolder"
            Name  = 'Attributes'
            Type  = 'DWord'
            Value = 4034920525
        },
        @{
            Path  = $NewStartPanelPath
            Name  = "{$Guid}"
            Type  = 'DWord'
            Value = 1
        },
        @{
            Path  = "$NameSpacePath\{$Guid}"
            Name  = '(default)'
            Type  = 'String'
            Value = $Name
        },
        @{
            Path  = "$CLSIDPath\{$Guid}\Instance"
            Name  = 'CLSID'
            Type  = 'String'
            Value = '{0E5AAE11-A475-4c5b-AB00-C66DE400274E}'
        },
        @{
            Path  = "$CLSIDPath\{$Guid}\Instance\InitPropertyBag"
            Name  = 'Attributes'
            Type  = 'DWord'
            Value = 17
        },
        @{
            Path  = "$CLSIDPath\{$Guid}\Instance\InitPropertyBag"
            Name  = 'TargetFolderPath'
            Type  = 'String'
            Value = $Directory
        }
    )
 
    $PropertyToCreate.ForEach({
        [void] (Set-ItemProperty @_)
    })
}
 
# Открепить папку от панели навигации Проводника и удалить из реестра.
function UnRegister-ExplorerNavFolder {
    param (
        [Parameter(Mandatory)]
        [ValidateNotNullOrEmpty()]
        [string] $Name
    )
 
    $CLSIDItem = @(Get-ExplorerNavFolder | Where-Object -Property Name -eq $Name)
 
    if ($CLSIDItem.Count -lt 1) {
        Write-Warning -Message "$Name - not found"
        return
    }
 
    foreach ($guid in $CLSIDItem.Guid) {
        Remove-Item -Path "$CLSIDPath\$guid" -Recurse -Force
        Remove-Item -Path "$NameSpacePath\$guid" -Force
        Remove-ItemProperty -Path $NewStartPanelPath -Name $guid
    }
}
PowerShell
1
2
Import-Module F:\Projects\Win-11\ExplorerNavFolder.psm1 -Force
Register-ExplorerNavFolder -Name 'Документы' -Directory 'F:\Documents\' -Icon '%SystemRoot%\system32\imageres.dll,-112'
Миниатюры
reg.exe vs PowerShell  
0
507 / 160 / 49
Регистрация: 27.02.2016
Сообщений: 833
08.09.2023, 23:28
это потому наверное что вот не хочет он:

Code
1
2
3
4
5
$value = [uint32]"4034920525"
 $value.getType()
IsPublic IsSerial Name                                     BaseType
-------- -------- ----                                     --------
True     True     UInt64                                   System.ValueType
а 64 не влезает
0
1659 / 274 / 66
Регистрация: 03.06.2020
Сообщений: 707
09.09.2023, 00:31
Цитата Сообщение от skouzmine Посмотреть сообщение
это потому наверное что вот не хочет он:
У меня возвращает UInt32
0
507 / 160 / 49
Регистрация: 27.02.2016
Сообщений: 833
09.09.2023, 00:45
ну тогда суйте в метод
C#
1
[Microsoft.Win32.Registry]::SetValue($KeyName, $ValueName, ([uint32] $Value), $ValueKind)
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
09.09.2023, 00:45

Setup.exe: Generate Reg File not supported
Пытался поставить Gtk2Hs. При установке двух пакетов одна ошибка cabal install gtk In-place registering cairo-0.12.5.3... ...

Не открываются файлы exe и reg. Что делать?
Помогите,я не хочу переустанавливать винду И ввостановление системы тоже не работает

Оперативка загруженная процессами: "powershell.exe" / "conhost.exe" / "cmd.exe"
С недавних пор начались проблемы. После включение пк и часа работы с ним оперативка загружаеться системными утилитами.. после перезагрузки...

Fatal error: in D:\OSPanel\domains\localhost\reg\reg.php on line 31
Очень долго искал информацию как это исправить : $user = 'root'; $password = '123456789'; $db = 'tasting'; $host = '127.0.0.1'; ...

После чистки Reg Organizer-ом долго грузится explorer.exe при включении компьютера
Приветствую! Стал жертвой Reg Organizer'a , который что-то сделал с проводником. Процесс explorer.exe весит с самой загрузки , но...


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

Или воспользуйтесь поиском по форуму:
32
Ответ Создать тему
Новые блоги и статьи
Беседа с ИИ о программистах, недопускающих к созданию и правке кода генеративные ИИ и причины этого
zorxor 21.09.2026
Раньше я радовался или получал некоторые эмоции, пусть небольшие, но всё же, от самого процесса написания кода, рекомпиляции и запуска, видя постепенное развитие программы и прочее. А теперь лень. . .
Мобильное приложение ColorStep
pavlinmavlin 17.09.2026
Реализовал приложение Красный, Зеленый, Синий в Unity3d + c#. Название изменил на ColorStep. Приложение прошло модерацию и теперь доступно для скачивания. Делал его сам, шаг за шагом — и вот,. . .
Запрет дублирования строк в табличной части
Maks 13.09.2026
Реализация из решения ниже выполнена на нетиповом справочнике "Нормы ТО" с табличной часть "Виды ТО", разработанного в КА2, со следующими реквизитами: - ВидТО (СправочникСсылка. ВидыТО); - ВидГСМ. . .
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр.
Jin X 06.09.2026
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр. Работая с форумом и нейросетями в браузере часто хочется что-то подкорректировать или добавить какого-то функционала. Ниже прикреплён. . .
Программа опроса у.з. расходомера SLS-720F
Argus19 02.09.2026
Программа опроса у. з. расходомера SLS-720F Программа опрашивает один раз в минуту три ультразвуковых расходомера SLS-720F через интерфейс RS-485 по протоколу Modbus RTU. Опрашиваются регистры. . .
Hyper-V: Компьютер должен поддерживать доверенный платформенный модуль 2.0.
Maks 31.08.2026
При установке Windows 11 на виртуальную машину Hyper-V 2-го поколения вылезла такая ошибка: Решение: в параметрах виртуальной машины, в разделе "Безопасность" (Security) активировать флаг. . .
Архитектура биовида Стива в Майнкрафте: Зачем бонобо кубический каннибализм
anaschu 30.08.2026
Кубический Вагинокапитализм в Minecraft: Математический инвариант ОДУ и рок Стивов-бонобо Главная задача разработанной «Модели Всего» — наглядно продемонстрировать наличие системной «судьбы». . .
Оттачиваю умение писать js программы.
russiannick 30.08.2026
Проектом выходного дня стало написание Книги шифров Виженера. Итогом стала версия 200, синий туман. Синий туман назван так, потому что замораживает текст под собой. Нажатие синих кнопок управляют. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru