Fetstil Fetstil Kursiv Understrykning linje färgläggning tabellverk Punktlista Nummerlista Vänster Centrerat högerställt Utfyllt Länk Bild htmlmode
  • Forum & Blog
    • Forum - översikt
      • .Net
        • asp.net generellt
        • c#
        • vb.net
        • f#
        • silverlight
        • microsoft surface
        • visual studio .net
      • databaser
        • sql-server
        • databaser
        • access
        • mysql
      • mjukvara klient
        • datorer och komponenter
        • nätverk, lan/wan
        • operativsystem
        • programvaror
        • säkerhet, inställningar
        • windows server
        • allmänt
        • crystal reports
        • exchange/outlook
        • microsoft office
      • mjukvara server
        • active directory
        • biztalk
        • exchange
        • linux
        • sharepoint
        • webbservers
        • sql server
      • appar (win/mobil)
      • programspråk
        • c++
        • delphi
        • java
        • quick basic
        • visual basic
      • scripting
        • asp 3.0
        • flash actionscript
        • html css
        • javascript
        • php
        • regular expresssion
        • xml
      • spel och grafik
        • DirectX
        • Spel och grafik
      • ledning
        • Arkitektur
        • Systemutveckling
        • krav och test
        • projektledning
        • ledningsfrågor
      • vb-sektioner
        • activeX
        • windows api
        • elektronik
        • internet
        • komponenter
        • nätverk
        • operativsystem
      • övriga forum
        • arbete karriär
        • erbjuda uppdrag och tjänster
        • juridiska frågor
        • köp och sälj
        • matematik och fysik
        • intern information
        • skrivklåda
        • webb-operatörer
    • Posta inlägg i forumet
    • Chatta med andra
  • Konto
    • Medlemssida
    • Byta lösenord
    • Bli bonsumedlem
    • iMail
  • Material
    • Tips & tricks
    • Artiklar
    • Programarkiv
  • JOBB
  • Student
    • Studentlicenser
  • KONTAKT
    • Om pellesoft
    • Grundare
    • Kontakta oss
    • Annonsering
    • Partners
    • Felanmälan
  • Logga in

Hem / Forum översikt / inlägg

Posta nytt inlägg


system() fundering. Få den minnas föregående kommandon?

Postades av 2007-09-06 00:01:33 - Alexander Av Ekenstam, i forum c++, Tråden har 3 Kommentarer och lästs av 1540 personer

Hej!

Funderar på hur man ska kunna få detta fungera.

(alt 1)
[b]
system("C:");
system("cd \"C:\\foo\\bar\\\"");
system("\"foo_bar.exe\" -line1 -line2");
[/b]

Jag kan ju skriva följande (alt 2)
[b]system("\"C:\\foo\\bar\\foo_bar.exe\\\" -line1 -line2);[/b] men då krashar programmet jag startar.

Vill alltså starta en process med parametrar och vänta till den avslutas innan nästa kod stycke körs. Eller om man kan få system() minnas föregående kommando och sen "flusha"?

Hoppas jag gjort mig tydlig här ^^


Tack!





Svara

Sv: system() fundering. Få den minnas föregående kommandon?

Postades av 2007-09-06 09:33:51 - Niklas Jansson

Varför använder du system från början?
Det ser ut som du kör windows, då är det nästan alltid fördelaktigt att använda WinAPI istället, om du vill, säg, kopiera en fil.

Om du vill starta ett externt program så kan du lika gärna använda ShellExecute från WinAPI.
I övrigt ska alt 1. fungera, vad blir det för fel?
Prova att lägga in grejer i strängar först och skriva ut dem så att du ser att de blir rätt.
Och skulle det ändå inte gå finns det andra sätt att byta Current Directory. Kolla efter Change Drive och Change Directory i WinAPI.


Svara

Sv:system() fundering. Få den minnas föregående kommandon?

Postades av 2007-09-06 12:58:02 - Alexander Av Ekenstam

När jag kör med alt 1 så blir meddelandet detta

"'foo_bar.exe' is not recognized as an internal or external command, operable program or batch file." och sökvägen är rätt.

Och med alt 2 så krashar vissa program jag startar, bara vissa.

Men hur gör jag med WinAPI då? Om jag vill starta en process med argument och vänta tills den avslutats innan nästa kod stycke körs då?

Är rätt ny på C++


Svara

Sv: system() fundering. Få den minnas föregående kommandon?

Postades av 2007-09-06 15:33:21 - Niklas Jansson

Alltså, om foo_bar råkar vara ett kommando som Windows tillhandahåller (säg copy eller liknande), så finns den nästan alltid i WinAPI som ett anrop.

ShellExecute är annars anropet du ska kolla på.

Om det här bara är för att lära dig kan jag rekommendera att du gör något annat. Detta hamnar under kategorin krångel utan någon direkt nytta

Men du kan ersätta de två första anropen med anrop till SetCurrentDirectory, och sen kolla på om det hamnade rätt. MSDN är platsen du ska leta på:
http://msdn2.microsoft.com/en-us/library/aa364934.aspx (Det verkar dock ligga nere nu?)


Svara

Nyligen

  • 09:09 Vill du köpa medicinska tester?
  • 12:47 Vem beviljar assistansen – kommune
  • 14:17 Någon med erfarenhet av hemstädnin
  • 14:14 Bör man använda sig av en båtförme
  • 14:12 Finns det någon intressant hundblo
  • 14:25 Tips på verktyg för att skapa QR-k
  • 14:23 Tips på verktyg för att skapa QR-k
  • 20:52 Fungerer innskuddsbonuser egentlig

Sidor

  • Hem
  • Bli bonusmedlem
  • Läs artiklar
  • Chatta med andra
  • Sök och erbjud jobb
  • Kontakta oss
  • Studentlicenser
  • Skriv en artikel

Statistik

Antal besökare:
Antal medlemmar:
Antal inlägg:
Online:
På chatten:
4 569 153
27 952
271 704
674
0

Kontakta oss

Frågor runt konsultation, rådgivning, uppdrag, rekrytering, annonsering och övriga ärenden. Ring: 0730-88 22 24 | pelle@pellesoft.se

© 1986-2013 PelleSoft AB. Last Build 4.1.7169.18070 (2019-08-18 10:02:21) 4.0.30319.42000
  • Om
  • Kontakta
  • Regler
  • Cookies