Ερώτηση για C

Ξεκίνησε από mixos0, 03 Δεκ 2015, 08:06:07 ΜΜ

« προηγούμενο - επόμενο »

mixos0

Γεια σας ! θέλω να φτιάξω ένα προγραμματακι  σε C και θέλω να τρέχει στο "backround" σαν διεργασία , υπάρχει καπια εντολή με την οποία μπορώ να το πετύχω αυτό ? για παράδειγμα στην java η αντίστοιχη εντολή είναι :    this.hide;

;D  ;D

itt

Παράθεση από: mixos0 στις 03 Δεκ 2015, 08:06:07 ΜΜ
Γεια σας ! θέλω να φτιάξω ένα προγραμματακι  σε C και θέλω να τρέχει στο "backround" σαν διεργασία , υπάρχει καπια εντολή με την οποία μπορώ να το πετύχω αυτό ? για παράδειγμα στην java η αντίστοιχη εντολή είναι :    this.hide;

;D  ;D

Σε ποιο λειτουργικό;  (Επίσης, το this.hide δεν κάνει αυτό που νομίζεις)

mixos0

Μιλάω  για windows  :) Από όσο ξέρω το this.hide εκτελεί μια εφαρμογή ως διεργασία  :P

itt

Παράθεση από: mixos0 στις 04 Δεκ 2015, 03:13:49 ΜΜ
Μιλάω  για windows  :) Από όσο ξέρω το this.hide εκτελεί μια εφαρμογή ως διεργασία  :P

Δεν ξέρω τι εννοείς διεργασία, όλα είναι διεργασίες. Το this.hide θα σταματάει το window που τρέχεις από το να κάνει render.

Για να απαντήσω σε αυτό που ρώτησες αρχικά.

Θες να τρέχει το πρόγραμμά σου ως service; Αν ναι, θα πρέπει να το γράψεις με τέτοιο τρόπο (που μπορώ να σου εξηγήσω, αλλά θέλει πιο μακροσκελή απάντηση). Εαν πάλι θες απλά να σηκώνεις ένα console application αλλά να μην σου δείχνει παράθυρο κονσόλας υπάρχουν δύο πράγματα που μπορείς να κάνεις. Το ένα είναι στην main να καλέσεις το FreeConsole() API των windows, οπότε να δεις για λίγο το παράθυρο και μετά να κλείσει. Εαν δεν θες για κανέναν λόγο παράθυρο, αυτό που μπορείς να κάνεις είναι φτιάξεις κανονικά ένα Win32 Console Application project και μετά να πας στις ρυθμίσεις του linker και να αλλάξεις το subsystem σε WINDOWS (Project->Properties->Configuration Properties->Linker->System και αλλάζεις την επιλογή SubSystem στο παράθυρο). Για να σου τρέξει απλώς αλλάζεις την main σου, στη main για εφαρμογές με παράθυρα.

Δηλαδή το αρχείο με τη main σου τώρα πρέπει να είναι έτσι:

#include "stdafx.h"
#include  <windows.h>


int WINAPI _tWinMain(
	HINSTANCE hInstance,
	HINSTANCE hPrevInstance,
	PWSTR pCmdLine,
	int nCmdShow
	)
{
	UNREFERENCED_PARAMETER(hInstance);
	UNREFERENCED_PARAMETER(hPrevInstance);
	UNREFERENCED_PARAMETER(pCmdLine);
	UNREFERENCED_PARAMETER(nCmdShow); 

	// Edw bazeis ton kwdika sou
	return 0;
}


ΥΓ. Όταν μιλάω για project και ρυθμίσεις αναφέρομαι στο Visual Studio.

mixos0


dimitrios67