Konuyu Oyla:
  • Derecelendirme: 0/5 - 0 oy
  • 1
  • 2
  • 3
  • 4
  • 5
cmd Komut Satırı sonucunu çekme
#2
ChatGPT ye sizin sorunuzu sordum.

Aşağıda verdiği cevap var. Vaktiniz varsa deneyebilirsiniz.
uses
 System.SysUtils, System.Classes, Vcl.Forms, Vcl.StdCtrls, Vcl.Controls, Vcl.ExtCtrls, Windows;

procedure TForm1.ExecuteCommand(const Command: string);
var
 Security: TSecurityAttributes;
 ReadPipe, WritePipe: THandle;
 StartupInfo: TStartupInfo;
 ProcessInfo: TProcessInformation;
 Buffer: array[0..255] of AnsiChar;
 BytesRead: DWORD;
 CommandLine: string;
begin
 // Boru hatlarını ayarlama
 Security.nLength := SizeOf(Security);
 Security.bInheritHandle := True;
 Security.lpSecurityDescriptor := nil;

 // Okuma ve yazma boruları oluştur
 CreatePipe(ReadPipe, WritePipe, @Security, 0);
 SetHandleInformation(ReadPipe, HANDLE_FLAG_INHERIT, 0);

 // Başlatma bilgilerini ayarlama
 ZeroMemory(@StartupInfo, SizeOf(StartupInfo));
 StartupInfo.cb := SizeOf(StartupInfo);
 StartupInfo.dwFlags := STARTF_USESTDHANDLES;
 StartupInfo.hStdOutput := WritePipe;
 StartupInfo.hStdError := WritePipe;

 // Komutu çalıştır
 CommandLine := 'cmd.exe /C ' + Command;
 if CreateProcess(nil, PAnsiChar(AnsiString(CommandLine)), nil, nil, True,
   CREATE_NO_WINDOW, nil, nil, StartupInfo, ProcessInfo) then
 begin
   // Yazma borusunu kapat
   CloseHandle(WritePipe);

   // Çıktıyı oku
   while ReadFile(ReadPipe, Buffer, SizeOf(Buffer), BytesRead, nil) do
   begin
     Buffer[BytesRead] := #0; // Sonlandırıcı ekle
     Memo1.Lines.Add(string(Buffer)); // Çıktıyı TMemo'ya ekle
   end;

   // Boru hatlarını kapat
   CloseHandle(ReadPipe);
   CloseHandle(ProcessInfo.hProcess);
   CloseHandle(ProcessInfo.hThread);
 end
 else
 begin
   Memo1.Lines.Add('Hata: ' + SysErrorMessage(GetLastError));
 end;
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
 Memo1.Clear; // Önce memo'yu temizle
 ExecuteCommand('dir'); // Örnek komut
end;
PostgreSQL - Linux - Delphi, Poliüretan
WWW
Cevapla


Bu Konudaki Yorumlar
cmd Komut Satırı sonucunu çekme - Yazar: barissagir - 24-09-2024, Saat: 14:59
cmd Komut Satırı sonucunu çekme - Yazar: 3ddark - 24-09-2024, Saat: 15:19
Cvp: cmd Komut Satırı sonucunu çekme - Yazar: RAD Coder - 24-09-2024, Saat: 15:28
Cvp: cmd Komut Satırı sonucunu çekme - Yazar: barissagir - 24-09-2024, Saat: 15:29
cmd Komut Satırı sonucunu çekme - Yazar: Hayati - 24-09-2024, Saat: 15:46
Cvp: cmd Komut Satırı sonucunu çekme - Yazar: barissagir - 24-09-2024, Saat: 16:46
cmd Komut Satırı sonucunu çekme - Yazar: COMMANDX - 25-09-2024, Saat: 08:39

Konu ile Alakalı Benzer Konular
Konular Yazar Yorumlar Okunma Son Yorum
  wsdl veri çekme hatası tuna 6 1.400 15-01-2025, Saat: 16:54
Son Yorum: hi_selamlar
  Kapandı : group by ile gruplanmış sorgu sonucunu tek satırda gösterme cinarbil 10 1.660 16-07-2024, Saat: 17:16
Son Yorum: cinarbil
  Delphi Sürekli Adı Değişen Excel Dosyasından Veri Çekme bünyamin68 2 1.387 05-10-2023, Saat: 12:50
Son Yorum: mcuyan
  Delphi ile Excelden Veri Tabanına Köprü Çekme bünyamin68 2 1.041 25-09-2023, Saat: 20:38
Son Yorum: bünyamin68
  Tanımlı yazıcı listesi çekme Bay_Y 2 1.062 25-09-2023, Saat: 17:03
Son Yorum: Bay_Y



Konuyu Okuyanlar: 1 Ziyaretçi