Accueil > Forum > > > > Récupèrer le chemin absolu de l'exe de la fenêtre au premier plan.
Récupèrer le chemin absolu de l'exe de la fenêtre au premier plan.
dimanche 8 avril 2007 à 01:08:23 |
Récupèrer le chemin absolu de l'exe de la fenêtre au premier plan.

palmipede
|
Bonjour, Dans le cadre d'un petit projet sous Vista, je doit récupèrer le chemin (absolu) qui mène à l'executable associé à la fenêtre au premier plan. J'utilise Visual C++ 2005 express, et j'ai installé la version 2003 server R2 de PSDK (puis configuré VC++ pour qu'il la trouve) D'après mes recherches sur msdn et les questions déja posées sur le forum, il faudrais utiliser : - GetForegroundWindow(...) ou GetFocus() pour récupèrer le handle sur la fenêtre - GetWindowThreadProcessId(...) pour récupèrer l'id du processus associé - GetFullProcessImageName(...) pour récupèrer le chemin à partir du handle (n'existe que depuis Vista, selon msdn) Le problème, est que VC++ ne connais pas "GetFullProcessImageName" error C3861: 'QueryFullProcessImageName': identifier not found (cependant les autres ne posent pas problème)
Est-ce lié à ma version de PDSK ?  Merci.
|
|
dimanche 8 avril 2007 à 01:26:56 |
Re : Récupèrer le chemin absolu de l'exe de la fenêtre au premier plan.

DeAtHCrAsH
|
GetForegroundWindow te donne le handle de la fenetre au premier plan. GetModuleFilename te donne le chemin correspondant au handle d'une application.
Shell
|
|
dimanche 8 avril 2007 à 09:47:10 |
Re : Récupèrer le chemin absolu de l'exe de la fenêtre au premier plan.

BruNews
|
On reprend le tout dans l'ordre: GetForegroundWindow GetWindowThreadProcessId OpenProcess GetModuleFileName CloseHandle (pour le hprocess de OpenProcess)
ciao... BruNews, MVP VC++
|
|
dimanche 8 avril 2007 à 10:00:53 |
Re : Récupèrer le chemin absolu de l'exe de la fenêtre au premier plan.

racpp
|
Réponse acceptée !
Salut, Je pense qu'il faudra plutôt utiliser GetModuleFileNameEx() car GetModuleFileName() ne fonctionne que pour le processus courant. Voici un exemple de code:
#include <windows.h>
#include <psapi.h>
#pragma comment(lib,"psapi.lib")
int WINAPI WinMain(HINSTANCE hinst, HINSTANCE prev, LPSTR cmd, int show)
{
char buffer[MAX_PATH];
DWORD pid=0;
HWND hwnd=GetForegroundWindow();
GetWindowThreadProcessId(hwnd,&pid);
HANDLE hProcess=OpenProcess(PROCESS_QUERY_INFORMATION | PROCESS_VM_READ ,0,pid);
GetModuleFileNameEx(hProcess,0,buffer,MAX_PATH);
CloseHandle(hProcess);
MessageBox(0,buffer,"Chemin complet",0);
return 0;
}
Je viens de voir que QueryFullProcessImageName() est une nouveauté Vista. D'après MSDN, elle est déclarée dans winbase.h. Si elle y figure, il suffira de commencer le code par: #define _WIN32_WINNT 0x0600
|
|
dimanche 8 avril 2007 à 10:08:55 |
Re : Récupèrer le chemin absolu de l'exe de la fenêtre au premier plan.

BruNews
|
Excellente rectification.
ciao... BruNews, MVP VC++
|
|
dimanche 8 avril 2007 à 10:25:53 |
Re : Récupèrer le chemin absolu de l'exe de la fenêtre au premier plan.

palmipede
|
Merci beaucoup ! Ca faisait une semaine que je me demandais comment faire utiliser cette satanée fonction incluse dans <winbase.h>... Le moins qu'on puisse dire c'est que vous m'avez bien aidé ^^ 
|
|
dimanche 8 avril 2007 à 11:57:30 |
Re : Récupèrer le chemin absolu de l'exe de la fenêtre au premier plan.
|
lundi 9 avril 2007 à 00:26:07 |
Re : Récupèrer le chemin absolu de l'exe de la fenêtre au premier plan.

palmipede
|
Mon programme est destiné à tourner en parallèle avec un gadget dans la sideBar de Vista ^^ (de toute façon j'ai fini par décider d'utiliser GetModuleFileNameEx)
Par contre, il y a une chose que je ne comprend pas, avec certaines applications au premier plan, je récupère effectivement le handle sur la fenêtre, mais je ne peut pas ouvrir le process...
|
|
lundi 9 avril 2007 à 00:40:04 |
Re : Récupèrer le chemin absolu de l'exe de la fenêtre au premier plan.

BruNews
|
Par exemple ?
ciao... BruNews, MVP VC++
|
|
lundi 9 avril 2007 à 10:56:20 |
Re : Récupèrer le chemin absolu de l'exe de la fenêtre au premier plan.

palmipede
|
Pour l'instant ça ne me le fais que sous Warcraft3, j'arrive à récupèrer le pid du processus, mais OpenProcess retourne NULL...
|
|
Cette discussion est classée dans : chemin, fenêtre, premier, récupèrer, absolu
Répondre à ce message
Sujets en rapport avec ce message
HELP !! Conversion chemin relatif en absolu et vice versa [ par 2swfan ]
salut a tous Pourriez vous me dire si il existe une fonction C (et son nom) permettant de transformer un chemin relatif en chemin absolu ?? et vice
Mettre une fenêtre en premier plan [ par jipp ]
Hey, encore un novice en MFC.Je souhaitrai connaitre le code qui permette de mettre en premier plan une fenêtre.Concrétement, j'ai un SDI avec des boi
Récupèrer chemin complet de l'application en cours [ par user25 ]
Salut à tous. Je voudrais savoir comment faire pour récupèrer le chemin complet de l'application en cours si possible en passant par une fonction. C
Fenêtre en premier plan sans focus [ par thenaoh ]
Bonjour, Je cherche depuis plusieurs jours à afficher une application de mon cru (une appli AIR) en premier plan, mais sans qu'elle prenne le focus a
chemin absolu de l'application [ par simonpelloquin ]
bonjour, J'ai un problème sur l'ouverture d'un fichier : j'ai un attribut de ma classe m_FileName = "data/test.txt" Dans une méthode, je fais un myFi
createfile [ par thegame88 ]
Bonjour a tous,Voila j'ai fait un ti prog qui utilise la fonction createfile, mais le premier argument de createfile doit être le chemin du fichier du
Winapi avec langage C : Comment afficher un texte dans une fenêtre en rafraichissant le texte par un autre. [ par sanderriere ]
Bonjour, Comment faire en sorte d'afficher un texte dans une fenêtre et de pouvoir ensuite faire en sorte de le modifier lorsqu'on le souhaite par un
Traduction en FR programme en fenetre devc++ [ par toto6311 ]
[code=cpp]#include /* Declare Windows procedure */ LRESULT CALLBACK WindowProcedure (HWND, UINT, WPARAM, LPARAM); /* Faites le nom de la class
Récupérer le handle d'une fenêtre par survol [ par sunvi ]
Bonjour, je veux récupérer le handle d'un fenêtre par survol, voilà le code que j'ai écrit,enfin, j'ai modifié un code de quelqu'un d'autre pour que ç
Scroll [ par galax98 ]
Bonjour Excusez moi car cette question est certainement très basique. J'ouvre une fenêtre qui contient une image de hauteur 1000. Ma fenêtre n'a une h
Livres en rapport
|
Derniers Blogs
POUR RAPPEL ! LES SPéCIFICATIONS DES PROTOCOLES OFFICE ET SHAREPOINT SONT DISPONIBLES SUR MSDNPOUR RAPPEL ! LES SPéCIFICATIONS DES PROTOCOLES OFFICE ET SHAREPOINT SONT DISPONIBLES SUR MSDN par neodante
Quelle est le point commun entre : Microsoft il y a 10 ans et Apple aujourd'hui ? Réponse: avoir une politique de protocoles propriétaires et fermés :) Car pour rappel (si si je vous assure c'est important de le rappeler), la majorité des spécifications e...
Cliquez pour lire la suite de l'article par neodante JOYEUX ANNIVERSAIRE NIXJOYEUX ANNIVERSAIRE NIX par ebartsoft
Souhaitons un bon et joyeux anniversaire à notre hôte à tous, Nix.
Je ne le répéterais jamais assez mais sans lui rien ne serait possible. Il défit en permanence les lois de la gravité et comme il le dit si bien, si tu lui fais confiance ça devra...
Cliquez pour lire la suite de l'article par ebartsoft IMAGINE CUP 2012, MAKE A SIGN EN FINALEIMAGINE CUP 2012, MAKE A SIGN EN FINALE par junarnoalg
Voilà qui est fait, la nouvelle est officielle ! L'équipe belge "Make a Sign" va au pays des kangourous défendre son projet dans la catégorie Software Design. http://www.imaginecup.com/CompetitionsContent/Competition/WorldwideFinalists.aspx V...
Cliquez pour lire la suite de l'article par junarnoalg KINECT 1.5 IS OUT !KINECT 1.5 IS OUT ! par Vko
La version 1.5 du Kinect For Microsoft vient tout juste de sortir ! Plein de nouveautés: Tracking de squelette en Near Mode Détection en position assise Détection faciale avec un SDK dédié Documentation et des guideline (enfin) Un out...
Cliquez pour lire la suite de l'article par Vko LES ACTUALITéS DE LA SEMAINE SUR C2I.FR (14 MAI - 20 MAI) LES ACTUALITéS DE LA SEMAINE SUR C2I.FR (14 MAI - 20 MAI) par richardc
Mise à jour des Web API du 14 Mai
Réservez dès maintenant votre journée du 20 juin pour le Windows Azure Dev Camp 2012 à Paris
Mise à jour de Team Foundation Service
MechCommander 2 sur Windows 8
Entity Framework 5 Release Candidate e...
Cliquez pour lire la suite de l'article par richardc
Forum
MATLAB PROGRAMME MATLAB PROGRAMME par wahab1087
Cliquez pour lire la suite par wahab1087 RGB2GRAYRGB2GRAY par musa18
Cliquez pour lire la suite par musa18
Logiciels
sDEVIS-FACTURES vlPRO (8.1.0.3)SDEVIS-FACTURES VLPRO (8.1.0.3)sDEVIS-FACTURES vlPRO a été mis au point pour les particuliers, créateurs, entrepreneurs, artisa... Cliquez pour télécharger sDEVIS-FACTURES vlPRO 974 Application Server (12.2.4.6)974 APPLICATION SERVER (12.2.4.6)Développez de puissantes applications dans un environnement de 'cloud computing', clusterisé, séc... Cliquez pour télécharger 974 Application Server vPicture (1.4.2.1)VPICTURE (1.4.2.1)Avec vPicture, hébergez vos images facilement et rapidement.
vPicture est un utilitaire simple, ... Cliquez pour télécharger vPicture Easy-Planning (2.2.1.6)EASY-PLANNING (2.2.1.6)Easy-Planning permet de créer des plannings sous la représentation de diagrammes et est adapté au... Cliquez pour télécharger Easy-Planning COM-BACKUP (2.0)COM-BACKUP (2.0)
COM-BACKUP est un logiciel de sauvegarde qui permet de planifier les sauvegardes de vos dossiers ...
Cliquez pour télécharger COM-BACKUP
|