Hola Suriu, tienes tres opciones (aconsejo la tercera
);
Código Delphi
[-] WinExec('cmd /ccscript script.vbs>stdout.txt', SW_HIDE);
ListBox1.Items.LoadFromFile('stdout.txt');
DeleteFile('stdout.txt');
Código Delphi
[-] ShowMessage(GetDosOutput('cscript script.vbs'));
Código Delphi
[-]uses ActiveX, ComObj;
procedure TForm1.Button1Click(Sender: TObject);
const DeviceType: array [1..7] of PChar = ('Other', 'Unknown', 'Video', 'SCSI Controller', 'Ethernet', 'Token Ring', 'Sound');
var
WMI, Item: OleVariant;
foreach: IEnumVariant;
enum: IUnknown;
Output: string;
begin
WMI := CreateOleObject('WbemScripting.SWbemLocator');
enum := WMI.ConnectServer.InstancesOf('Win32_OnBoardDevice')._NewEnum;
foreach := enum as IEnumVariant;
Output := '';
while foreach.Next(1, Item, PDWORD(0)^) = 0 do
begin
Output := Output + DeviceType[Integer(Item.DeviceType)] + ': ' + Item.Description + #13;
VariantClear(Item);
end;
foreach := nil;
enum := nil;
ShowMessage(Output);
end;
Saludos