Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
4063 connectés 

 


Dernière réponse
Sujet : Lancér Notepad à partir d'un programme C++
robUx4

barbarella a écrit a écrit :

ah et la fonction recherche wordpad ressemble a  
 
<PRE>
int recherche_wordpad(char *chemin)
{
  LPTSTR val;
 
  if(SearchPath("C:\\Program Files\\Windows NT\\Accessoires","wordpad.exe",NULL,MAX_PATH,chemin,&val) == 0)
  {
   if(SearchPath("D:\\Program Files\\Windows NT\\Accessoires","wordpad.exe",NULL,MAX_PATH,chemin,&val) == 0)
     {
    if(SearchPath("C:\\Program Files\\Accessoires","wordpad.exe",NULL,MAX_PATH,chemin,&val) == 0)
    {
     if(SearchPath("D:\\Program Files\\Accessoires","wordpad.exe",NULL,MAX_PATH,chemin,&val) == 0)
           {
             return(0); /* echec ... proposer de mettre Wordpad dans le repertoire */
           }
    }
     }
  }
  return(1);
}
 
</PRE>  
 
 




 
Plus simple : chopper le contenu de la clef : HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths\WORDPAD.EXE


Votre réponse
Nom d'utilisateur    Pour poster, vous devez être inscrit sur ce forum .... si ce n'est pas le cas, cliquez ici !
Le ton de votre message                        
                       
Votre réponse


[b][i][u][strike][spoiler][fixed][cpp][url][email][img][*]   
 
   [quote]
 

Options

 
Vous avez perdu votre mot de passe ?


Vue Rapide de la discussion
robUx4

barbarella a écrit a écrit :

ah et la fonction recherche wordpad ressemble a  
 
<PRE>
int recherche_wordpad(char *chemin)
{
  LPTSTR val;
 
  if(SearchPath("C:\\Program Files\\Windows NT\\Accessoires","wordpad.exe",NULL,MAX_PATH,chemin,&val) == 0)
  {
   if(SearchPath("D:\\Program Files\\Windows NT\\Accessoires","wordpad.exe",NULL,MAX_PATH,chemin,&val) == 0)
     {
    if(SearchPath("C:\\Program Files\\Accessoires","wordpad.exe",NULL,MAX_PATH,chemin,&val) == 0)
    {
     if(SearchPath("D:\\Program Files\\Accessoires","wordpad.exe",NULL,MAX_PATH,chemin,&val) == 0)
           {
             return(0); /* echec ... proposer de mettre Wordpad dans le repertoire */
           }
    }
     }
  }
  return(1);
}
 
</PRE>  
 
 




 
Plus simple : chopper le contenu de la clef : HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths\WORDPAD.EXE

rufo

barbarella a écrit a écrit :

j'avoue ne pas avoir trop suivi l'actualité des API Windows.
 
Micro$ a réintégré winexec ? car elle n'avait été conservée dans l'API32 qu'a des  fins de compatibilité.  




 
ben oui :) Je m'en suis servi y'a 2 mois environ...

barbarella j'avoue ne pas avoir trop suivi l'actualité des API Windows.
 
Micro$ a réintégré winexec ? car elle n'avait été conservée dans l'API32 qu'a des  fins de compatibilité.
rufo et plus simplement, Winexec(chemin d'acces, paramètres) ;
braisik Je vous remercie de votre aide... :hello:
barbarella ah et la fonction recherche wordpad ressemble a  
 
<PRE>
int recherche_wordpad(char *chemin)
{
  LPTSTR val;
 
  if(SearchPath("C:\\Program Files\\Windows NT\\Accessoires","wordpad.exe",NULL,MAX_PATH,chemin,&val) == 0)
  {
   if(SearchPath("D:\\Program Files\\Windows NT\\Accessoires","wordpad.exe",NULL,MAX_PATH,chemin,&val) == 0)
     {
    if(SearchPath("C:\\Program Files\\Accessoires","wordpad.exe",NULL,MAX_PATH,chemin,&val) == 0)
    {
     if(SearchPath("D:\\Program Files\\Accessoires","wordpad.exe",NULL,MAX_PATH,chemin,&val) == 0)
           {
             return(0); /* echec ... proposer de mettre Wordpad dans le repertoire */
           }
    }
     }
  }
  return(1);
}
 
</PRE>

 

[edtdd]--Message édité par barbarella--[/edtdd]

barbarella salut,
 
'ai retrouvé ce vieu truc en C d'un vieu prog
 
<pre>
void  manuel(HWND hwnd,char *fiche)
{
   char command[300];
   char chemin1[300];
   char chemin2[300];
   LPTSTR val;
 
  HANDLE Pross;
  STARTUPINFO si;
  PROCESS_INFORMATION pi;
 
  memset(command,0,300);
  memset(chemin1,0,300);
  memset(chemin2,0,300);
 
  if(recherche_wordpad(chemin1) != 0)
  {
   GetFullPathName(fiche,MAX_PATH,chemin2,&val);
   strcpy(command,"wordpad.exe " );
   strcat(command,chemin2);
   ZeroMemory(&si,sizeof(STARTUPINFO));
   ZeroMemory(&pi,sizeof(PROCESS_INFORMATION));
   si.cb = sizeof(STARTUPINFO);
   CreateProcess(chemin1,command,NULL, NULL,FALSE,IDLE_PRIORITY_CLASS, NULL, NULL, &si, &pi);
   Pross = pi.hProcess;
 
   WaitForSingleObject(&Pross,INFINITE);
 
   CloseHandle( pi.hProcess );
   CloseHandle( pi.hThread );
  }
  else
  {
    wsprintf(command,"Wordpad.exe est introuvable \n Veuillez le copier dans le \n répertoire de LOG2PI.exe" );
    MessageBox(hwnd,command,"WORDPAD INTROUVABLE",MB_OK|MB_ICONASTERISK);
  }
  RedrawWindow(hwnd,NULL,NULL,RDW_ERASE | RDW_INVALIDATE);
  lulu(hwnd);
}
</pre>
 
fichie1 contient le nom du fichier.doc exemple. "manuel.doc"
seblamb Dans l'aide sur les API Win32 ( fournis en général avec le compilateur)
ou sur msdn.microsoft.com
braisik Où puis je trouver un example de utilisation de ces fonctions??
seblamb Pour ouvrir un programme :
 ShellExecute
Pour ouvrir un programme et et pour que l'appli qui ouvre puisse le fermer :
 CreateProcess
 
Pour pouvoir faire executer des commandes par un application lancée par une autre application :
 Méthode propre : met il faut que l'application qui lance soit un "client COM" et que l'application commandée soit un " serveur COM" ( ce qui n'est pas le cas du NotePad)
 Methode bidouille :
Récuperer le Handle de la fenetre du notepad et lancer des évenement  du type WM_LBUTTONDOWN ...
braisik Salut les gars,
 
je suis en train de faire (pour le fun...) une appli Win32 et j'aimerai qu'à un moment donné cette appli ouvre un fichier Note Pad, que l'utilisateur puisse écrire dedans. Puis il faudrait que l'appli puisse commander la sauvegarde du .txt créé.
 
A vrai dire je n'ai aucune idée de la manière dont il faut que je m'y prenne. je crois que ca à voir avec les objets COM, mais bon...
 
Merci d'avance

Copyright © 1997-2025 Groupe LDLC (Signaler un contenu illicite / Données personnelles)