Имя пользователя:
Пароль:
 

Показать сообщение отдельно

Забанен


Сообщения: 793
Благодарности: 260

Профиль | Цитировать


Сам пост не читал, ибо телепатирую что автор темы имел в виду это:
Код: Выделить весь код
function Invoke-FormatMessage {
  param(
    [Parameter(Mandatory=$true, Position=0)]
    [Int32]$MessageId,
    
    [Parameter(Position=1)]
    [ValidateNotNullOrEmpty()]
    [String]$Module = 'msobjs.dll'
  )
  
  if (($ptr = ($$ = (
  $asm = [Regex].Assembly).GetType(
    'Microsoft.Win32.UnsafeNativeMethods'
  ).GetMethod('GetModuleHandle')).Invoke(
    $null, @($Module)
  )) -eq [IntPtr]::Zero) {
    if (($mod = $asm.GetType(
      'Microsoft.Win32.SafeNativeMethods'
    ).GetMethod('LoadLibrary').Invoke(
      $null, @($Module)
    )) -eq [IntPtr]::Zero) { break }
    
    $sb = New-Object Text.StringBuilder(1024)
    [void][Object].Assembly.GetType(
      'Microsoft.Win32.Win32Native'
    ).GetMethod(
      'FormatMessage', [Reflection.BindingFlags]40
    ).Invoke($null, ($par = [Object[]]@(
      0x800, $$.Invoke($null, @($Module)), $MessageId, 1024,
      [Text.StringBuilder]$sb, $sb.Capacity, [IntPtr]::Zero
    )))
    $par[4].ToString().Trim()
  }
  
  if ($mod) {
    [void][Linq.Enumerable].Assembly.GetType(
      'Microsoft.Win32.UnsafeNativeMethods'
    ).GetMethod(
      'FreeLibrary', [Reflection.BindingFlags]40
    ).Invoke($null, @($mod))
  }
}

Отправлено: 12:41, 20-06-2016 | #2