Длл позволяет выполнять команды PowerShell.
https://drive.google.com/file/d/...view?usp=sharing
Пароль на архив: 1111. Длл закинуть в папку с кибор.
Работает в Win10, Win11. В системе должен быть разрешён запуск сценариев PoweShell.
Для этого можно запустить Windows PowerShell или Windows PowerShell ISE от администратора, выполнить эти строки:
CODE:Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser -Force
Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope LocalMachine -Force
Длл возвращает 1 если какие-то данные были возвращены, иначе 0.
Пример использования:
CODE:external(INT, "PS_Command", "PS_Command", "PowerShell.dll");
char Result[99999];
// получить список папок на диске C:
int res = PS_Command("(Get-ChildItem -Path C:\ -Directory).Name", address(#Result[0]), sizearray(Result));
if(res) messagebox(format(#Result[0]));
else messagebox("res = 0");
CODE:external(INT, "PS_Command", "PS_Command", "PowerShell.dll");
char Result[99999];
// узнать количество дней между датами
int res = PS_Command("([DateTime]::Parse(^"25.02.2025^") - [DateTime]::Parse(^"10.01.2025^")).Days", address(#Result[0]), sizearray(Result));
if(res) messagebox(format(#Result[0]));
else messagebox("res = 0");
Можно выполнить код из файла.
Сохранить этот код в файл с именем и расширением: GetProcess.ps1, закинуть файл в папку с кибор.
CODE:try{
$prc = Get-Process Kibor
}
catch [Microsoft.PowerShell.Commands.ProcessCommandException]{
$PSItem.Exception
return
}
@{
'Handle' = $prc[0].MainWindowHandle
'StartTime' = $prc[0].StartTime.ToString("dd.MM.yy HH:mm:ss")
'PID' = $prc[0].Id
}|ConvertTo-Json
Запустить код в кибор:
CODE:external(INT, "PS_File", "PS_File", "PowerShell.dll");
char Result[99999];
// выполнить код из файла
int res = PS_File(pathfolder()+"GetProcess.ps1", address(#Result[0]), sizearray(Result));
if(res)
{
messagebox(format(#Result[0]));
parserjson(Json, format(#Result[0]));
messagebox("Хендл: " + Json.Handle);
messagebox("Время запуска: " + Json.StartTime);
messagebox("PID: " + Json.PID);
}
else messagebox("res = 0");
Данный скрипт найдёт процесс кибор и вернёт его хендл, время запуска и pid в виде json. |