bonjour
j'ai cr�e un programme en c++ et je veux lance le .exe en arri�re plan comme un precess pour ne pas d�ranger les utilisateur.
est ce qu'il y a une m�thode pour faire �a?
merci
bonjour
j'ai cr�e un programme en c++ et je veux lance le .exe en arri�re plan comme un precess pour ne pas d�ranger les utilisateur.
est ce qu'il y a une m�thode pour faire �a?
merci
S'il n'a pas besoin d'un utilisateur connect�, faites en un service Windows, si c'est sous Windows bien s�r.
http://en.wikipedia.org/wiki/Windows_service
mon script s�ex�cute apr�s l'ouverture du session d'un utilisateur
Je ne vois pas trop le probl�me.
Tout programme non console qui n'ouvre pas de fen�tre est dans ce cas de figure.
je vais �clairer le chose
j'ai cr�e un programme en c/c++ sous windows qui s�ex�cute au lancement d'une session windows ce programme se connecte sur une base de donn�es MYSQL pour ins�rer (login utilisateur,nom du machine,ip adresse,date_heure se connexion) et sur mon programme j'ai rajout� une fonction qui s�ex�cute chaque 5 sec pendant 30 min si le poste agent n'arrive pas a se connecter � la base de donn�es pour ins�rer les donn�es et mon probl�me ce que le fen�tre dos reste afficher devant les yeux de l'utilisateur chose qui emp�che son travail et aussi il peut la fermer avant de terminer le programme
ma demande est ce je peux lancer mon programme en arri�re-plan comme ?si oui c'est quoi la m�thode
voila mon code c/c++
Code : S�lectionner tout - Visualiser dans une fen�tre � part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64 #include <stdafx.h> #include <conio.h> #include <winsock.h> #include <mysql.h> #include <stdio.h> #include <stdlib.h> #include <string.h> #include <string> #include <iostream> #include <assert.h> #include <windows.h> int main(int argc, char **argv) { char* adr; char req [400]; adr=(argv[1]); char* us; us=getenv("USERNAME"); char* co; co=getenv("COMPUTERNAME"); char *ip; MYSQL *conn; char id[64]= {"0"}; ; int k=0; stop: conn = mysql_init(NULL); if( mysql_real_connect(conn, "127.0.0.1", "login", "pass", "user", 0, NULL, 0) == NULL) { k++; Sleep(5000); if (k==360){ exit(1); } else{ printf("%d",k); goto stop; } } else { strcpy (req, "INSERT INTO collecte_login(ID,MATRICULE,ACTION,IP,DESK,STAMP) VALUES ('0',"); strcat (req, "'"); strcat (req, us); strcat (req, "',0,'"); strcat (req, adr); strcat (req, "','"); strcat (req, co); strcat (req, "',NOW())"); mysql_query(conn,req); mysql_close(conn); } }
Vous cherchez midi � 14 heures.
Il n'y a plus de fen�tre DOS sous Windows depuis au moins 17 ans (Win95).mon probl�me ce que le fen�tre dos reste
Ce n'est pas une fen�tre DOS mais une console, donc
Vous �tes dans un programme console.Tout programme non console qui n'ouvre pas de fen�tre est dans ce cas de figure.
Assez logique avec une signature C d'il y a 40 ans :
Cr�ez un projet Win32 NON CONSOLE, le nom du point d'entr� sera tr�s vraisemblablement WinMain et non main.
Code : S�lectionner tout - Visualiser dans une fen�tre � part int main(int argc, char **argv)
P.S.: moi, j'aurais pench� vers l'utilisation des fonctionnalit�s int�gr�es d'Active Directory plut�t que ce bricolage.
http://technet.microsoft.com/en-us/l.../bb742436.aspx
Bonjour.
Il y a deux m�thodes et Bacelar les a donn� : un service ou une application Win32 qui n'affiche pas sa fen�tre.
Pour le service, il suffit de faire une boucle et d'attendre que l'utilisateur soit logg�.
Pour l'application Win32, utiliser un timer.
PS : si le but de votre programme, c'est de scruter les logging des utilisateurs, vous avez ces informations dans le journal d'�v�nements Windows... Suffit de r�cup�rer ces journaux.
Open Source Microsoft MediaFoundation
https://github.com/mofo7777
http://jeux.developpez.com/faq/directx/?page=dshow
Tr�s moyen comme approche, une t�che planifi�e, c'est mieux, et les logs sont automatiquement g�n�r�s dans le journal d'�v�nements Windows.Pour l'application Win32, utiliser un timer.
Moi, fain�ant, et fi�re de l'�tre.![]()
Bonjour Bacelar.
Je veux bien croire qu'il y a de meilleures approches. Mais de l� � dire que c'est tr�s moyen, un malheureux petit timer de 5 secondes
PS : je le prends au second degr�...
Open Source Microsoft MediaFoundation
https://github.com/mofo7777
http://jeux.developpez.com/faq/directx/?page=dshow
Alors l'approche timer :
- non partage du scheduling syst�me : gaspillage de ressource syst�me
- plantage sur probl�me transitoire (connexion r�seau ...) : pas de logs automatique, pas de red�marrage automatique (celui qui me colle un try catch(...){}, je le baffe)
- Int�gration dans une console de monitoring, monsieur le d�veloppeur, il va se la cogner � la main
- les timers, c'est la vraie jungle et les plus fiable, c'est du multi-threading obligatoire, est-ce justifi� pour un pauvre programme basique ?
- param�trage via un console standard que m�me Mme Michu peut maitriser, donc, a fortiori aussi un admin syst�me, m�me pas tr�s d�gourdi.
- param�trage au niveau des scripts d'installations totalement customisable avec des primitives que notre cher admin syst�me connait sur le bout des doigts.
...
Avec un scheduled task, j'ai aucun de ces inconv�nients et tout ces avantages GRATIS (0+0=0 ligne de code en plus).
Non, franchement, je ne vois aucun avantages aux timers "embarqu�s" pour une application de ce type, mais alors au niveau emmerdes, c'est pas mal.
Mais je vois le mal partout (normal, je suis d�veloppeur et Murphy est mon ami).
moldavi, je suis tout ou�e pour entendre votre plaidoyer pour le timer embarqu� dans l'application.![]()
Partager