Elikkäs kysymys kuuluu yksinkertaisuudessaan... Miten saan komentorivin käynnistymään näkymättömänä? kun C kielinen ohjelma käynnistetään...
Jos käytät idenä devc++:saa, onnistuu se Project Options->projektin tyypiksi: Win32 GUI
En halua win32 GUI:ta eikö tämä onnistu muulla tavalla?
Tee Win32 Application ja siellä sitten kun teet ikkunaa, et teekään siitä näkyvää. Siinä prosessissa on paljon kikkailumahdollisuuksia.
Kyllä kai jotenkin on mahdollista tehdä vain jonkinlainen "prosessi", jonka näkee vain taskmanilla
Mun tietääkseni prosessit C:llä tehään just noin :/. En oo varma mut luulis näin.
Tai sit se Win32 GUI, mutta sitä epätykätään parhaillaan joten jätetäänpä se siihen.
Aloita ohjelmointi tyhjästä lähdekooditiedostosta, älä mistään projektimallista.
Anna kääntäjälle parametri -mwindows.
Parametri -mwindows on jokseenkin sama asia kuin se Win32 GUI -vaihtoehdon valitseminen. Win32 GUI -ohjelmassa konsoli on oletusarvoisesti piilossa. Ikkuna ei suinkaan ole välttämätön millekään ohjelmalle. Konsolin saa tuhottua myös WinAPIn FreeConsole-funktiolla (windows.h).
No juu annoin tuon -mwindows parametrin käännättäessä sitten kun yritän käynnistää ohjelmaa niin se ei lähde edes käyntiin... tehtäviin ei tule ohjelman nimeä jne jne
Oletko varma ettei ohjelma vaan käynnisty ja sammu heti perään?
#include <stdio.h> int main(void) { char *test[10]; gets(test); }
ei pitäisi sammua
Jaa-a, jos ohjelmalla ei ole konsolia mitä lukea niin en kyllä osaa sanoa mitä tuo gets() tekee.
Koita pistää ohjelmasi loppaamaan ikuiseen silmukkaan ja katso sitten josko se löytyisi prosesseista.
Minä kirjoitin C:llä tällaisen ohjelman:
#include <stdio.h> int main(void) { int i; while (1) { for (i = 0; i < 10000; i = i + 1); } return 0; }
Ja käänsin sen komennolla:
gcc loop.c -o loop.exe -mwindows
Sitten ajoin ohjelman ja painoin CTRL+ALT+DEL ja valitsin taskmanagerista prosessit ja siellähän se, loop.exe.
Sehän onnistuu myös FreeConsolella...
Esim:
#include <windows.h> int main() { FreeConsole(); while (1) { } return 0; }
Edit: Hups. En lukenu Metabolix:n viestiä.
Aihe on jo aika vanha, joten et voi enää vastata siihen.