---
title: "Lagra text från kommandotolksfönstret"
type: "forum-thread"
url: "https://www.webforum.nu/amne/c-cpp/144058-lagra-text-från-kommandotolksfönstret"
topic: "C/C++"
topic_url: "https://www.webforum.nu/amne/c-cpp"
author: "Sunix"
published: "2006-03-16T14:14:16.000Z"
updated: "2006-03-17T12:00:39.000Z"
replies: 5
views: 471
page: 1
pages: 1
language: "sv-SE"
site: "webForum — webforum.nu"
rights: "Upphovsrätten till varje inlägg tillhör dess författare."
attribution: "Citera som: webForum, https://www.webforum.nu/amne/c-cpp/144058-lagra-text-från-kommandotolksfönstret"
---

# Lagra text från kommandotolksfönstret

## #1 — Sunix, 2006-03-16T14:14Z

Hej!

Jag skulle behöva hjälp med att lagra (i en string t.ex) det som skrivsut i ett dosfönster.

string kalle = system("dir");   
typ!!

Permalänk: https://www.webforum.nu/p/144058

## #2 — Danny, 2006-03-16T15:00Z

jag använde ShellExecuteEx i Win API

<http://msdn.microsoft.com/library/default.asp?url=/library/en-us/wcesdkr/html/_wcesdk_Win32_ShellExecuteEx.asp>

gjorde som så att jag använde DOS-kommandot \> för att dumpa till en fil som jag sedan läste in och tog bort.

dir \> kallestring.txt

läs in kallestring.txt och ta bort den sedan, givetvis utan att användaren märker att DOS är inblandat eftersom man sätter ShowMode till 0 i ShellExecuteEx

Permalänk: https://www.webforum.nu/p/1784215

## #3 — Sunix, 2006-03-16T15:03Z

Requirements

Runs on Versions Defined in
Windows CE OS 1.0 and later Shellapi.h

Finns det något annat sätt? Programmet jag bygger är ett dosprogram och en tjänst.

Permalänk: https://www.webforum.nu/p/1784217

## #4 — Sunix, 2006-03-17T07:38Z

Har du något litet kodexempel?
Man kanske kan anpassa!

Permalänk: https://www.webforum.nu/p/1784371

## #5 — Danny, 2006-03-17T11:28Z

ojdå... haha... ja jag råkade ta den för Windows CE, jaja, men det är ju likadant. Men du måste fått fel länk... svårt å hitta på den där MSDN ibland... här borde vara rätt:
<http://msdn.microsoft.com/library/default.asp?url=/library/en-us/shellcc/platform/shell/reference/structures/shellexecuteinfo.asp>

men iaf, det är ju för Windows det där, för DOS vet jag inte vad som gäller...

å jag kör inte C ens, jag kör Delphi jag :) ...men du kan ju få se min kod ändå, det är ju i stort sett likadant.

Här är själv rutinen jag har för att köra DOS-kommando:

```
function TFormMain.RunProgram(ExecuteFile, ParamString, StartInString: String; ShowMode: Integer): boolean;
var
  SEInfo: TShellExecuteInfo;
  ExitCode: DWORD;

begin
//ExecuteFile:='Calc.exe';

  FillChar(SEInfo, SizeOf(SEInfo), 0);
  SEInfo.cbSize := SizeOf(TShellExecuteInfo);
  with SEInfo do begin
    fMask := SEE_MASK_NOCLOSEPROCESS;
    Wnd := Application.Handle;
    lpFile := PChar(ExecuteFile);
{
ParamString can contain the
application parameters.
}
 lpParameters := PChar(ParamString);
{
StartInString specifies the
name of the working directory.
If ommited, the current directory is used.
}
  lpDirectory := PChar(StartInString);
//  nShow := SW_SHOWNORMAL;
    nShow := ShowMode;
  end;
  if ShellExecuteEx(@SEInfo) then begin
    repeat
      Application.ProcessMessages;
      GetExitCodeProcess(SEInfo.hProcess, ExitCode);
    until (ExitCode <> STILL_ACTIVE) or
   Application.Terminated;
//  ShowMessage('Calculator terminated');
    result := true;
  end
  else
//  ShowMessage('Error starting Calc!');
    result := false;
end;
```

ja jag hittade den där koden på delphipages, dom skulle köra miniräknaren, calc.exe som du ser, jag har kommenterat bort alla rutor som hoppar upp (showmessage

Här är en rad där jag anropar den där functionen:

```
RunProgram('cmd.exe','/c dir "'+s+'"*.mp3 /s /ogn >"'+s+'index.tmp"','', 0)
```

det kör en DOS-prompt helt dold och skapar en mp3-lista i katalogen som står i strängen s.

Permalänk: https://www.webforum.nu/p/1784454

## #6 — Sunix, 2006-03-17T12:00Z

Hahaha!
Tack så mycket! jag ska luska!!

Permalänk: https://www.webforum.nu/p/1784470

---

Tråden på webben: https://www.webforum.nu/amne/c-cpp/144058-lagra-text-från-kommandotolksfönstret
