Joo, ajattelin kysätä nyt C++:sasta, että kuinka windowssasta saadaan konsolisa teksti tiedostoon ilman, että se avaa konsolia!? Kun itelläni on yksi ohjelma, joka ottaa paljon erillaisia tietoja koneesta konsolin kautta niin tässä ohjelmassa heti käynnistyksessä tulee varmaan 10-20 konsoli ikkunaa päällle ja tämä ei ole kovin mukavaa ainakaan käyttäjästä, joten miten saisin konsolista tietoja ilman konsolin avaamista!?
es. tämä tekee sen, että konsoli aukeutuu saadakseen tiedot -> teksti tiedostoon:
system ("ipconfig >>ip.txt");
Niin kuinka es. tollaisen konsoli komennon voitaisiin saada teksti tiedostoon avaamatta konsolia!? Varsinkin kun niitä on 20kpl!?
Kyse on Win32 -sovelluksesta, joka on tehty Borland C++ Builder 5:sella.
korja projektit asetukset hyvä juttu on se joo
No vaikka ShellExecutella:
ShellExecute(0, "open", "ipconfig", ">>ip.txt", NULL, SW_HIDE);
En ole testannut toimiiko tuo oikein, mutta tuolla periaatteella saa ohjelmat ajettua "näkymättömänä". Tarkempaa tietoa löytyy MSDN:stä: http://msdn2.microsoft.com/en-us/library/ms647732.aspx
PS. Oikea tapa saada nuo tiedot on kaivella ne suoraan Windowsilta sopivilla funktioilla.
Oman ip-osoitteen selvittäminen tehdään kyllä oikeaopisesti sockettien avulla, eikä ajamalla mitään epästandarteja ohjelmia.
Nyt mennään jo kyllä aiheesta metsään ja kovasti, mutta useimmiten kun halutaan tietää IP niin halutaan Internettiin näkyvä IP ja sen selvittäminen ei tahdo onnistua ilman "ulkopuolista" apua.
Aihe on jo aika vanha, joten et voi enää vastata siihen.