Invoke-WinApi
Выполнить WinApi функцию
Параметры
-Return Тип возвращаемого значения (
Bool
по умолчанию)-Dll Имя библиотеки, содержащей вызываемую функцию (
User32.dll
по умолчанию)-Method Имя вызываемой функции
-Override Повторное определение функции
-Charset Кодировка символов
4
по умолчанию
3
по умолчанию для ...W
2
по умолчанию для ...ACharset Значение 4 Auto 3 Unicode 2 ANSI
Примеры
Запустить блокнот
Wake up, Neo, select all
Invoke-WinApi -Dll Shell32 -Re Int ShellExecute(
0,
"runas",
"notepad.exe",
"",
"C:\Windows\System32",
1
)Получить параметры системы
Wake up, Neo, select all
New-Struct SYSTEM_INFO (
[uint16] ,"wProcessorArchitecture",
[uint16] ,"wReserved",
[uint32] ,"dwPageSize",
[IntPtr] ,"lpMinimumApplicationAddress",
[IntPtr] ,"lpMaximumApplicationAddress",
[UIntPtr],"dwActiveProcessorMask",
[uint32] ,"dwNumberOfProcessors",
[uint32] ,"dwProcessorType",
[uint32] ,"dwAllocationGranularity",
[uint16] ,"wProcessorLevel",
[uint16] ,"wProcessorRevision"
)
$sysInfo = [SYSTEM_INFO]::new()
Invoke-WinApi -Re Void -Dll Kernel32 GetNativeSystemInfo([ref]$sysInfo)
$sysInfo