Αποστολέας Θέμα: Ερώτηση για C  (Αναγνώστηκε 1332 φορές)

mixos0

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

 ;D  ;D

itt

  • Δεινόσαυρος
  • *****
  • Μηνύματα: 428
  • Real stupidity beats ΑΙ any time
Απ: Ερώτηση για C
« Απάντηση #1 στις: 03 Δεκ 2015, 09:59:43 μμ »
Γεια σας ! θέλω να φτιάξω ένα προγραμματακι  σε C και θέλω να τρέχει στο "backround" σαν διεργασία , υπάρχει καπια εντολή με την οποία μπορώ να το πετύχω αυτό ? για παράδειγμα στην java η αντίστοιχη εντολή είναι :    this.hide;

 ;D  ;D

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

mixos0

  • Νέος
  • *
  • Μηνύματα: 8
Απ: Ερώτηση για C
« Απάντηση #2 στις: 04 Δεκ 2015, 03:13:49 μμ »
Μιλάω  για windows  :) Από όσο ξέρω το this.hide εκτελεί μια εφαρμογή ως διεργασία  :P

itt

  • Δεινόσαυρος
  • *****
  • Μηνύματα: 428
  • Real stupidity beats ΑΙ any time
Απ: Ερώτηση για C
« Απάντηση #3 στις: 04 Δεκ 2015, 05:25:06 μμ »
Μιλάω  για 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

  • Νέος
  • *
  • Μηνύματα: 8
Απ: Ερώτηση για C
« Απάντηση #4 στις: 06 Δεκ 2015, 06:47:19 μμ »
Ευχαριστώ πολύ  ;D ;D

dimitrios67

  • Δεινόσαυρος
  • *****
  • Μηνύματα: 104
Απ: Ερώτηση για C
« Απάντηση #5 στις: 08 Δεκ 2015, 10:11:21 πμ »
itt respect!!