Visualizzazione dei risultati da 1 a 3 su 3
  1. #1

    [C] cercare un exe in una dir

    Ciau

    Ho il mio bel codicillo pulito e profumato che mi cerca un file (identificatore di un programma) nell' harddisk e mi restituisce la path in cui l'ha trovato.

    Mò ho sta path...e devo farci una cosa difficile difficile per me!

    Devo cercare all'interno della path trovata un file exe di DIMENSIONI DATE ma che puo essere stato rinominato per comodità dell'utente (può avere 3 dimensioni, son 3 differenti versioni dello stesso exe) e voglio che il prog mi restuisca il nome.ext (a anche solo il nome) dell'eseguibile trovato.
    In questo modo poi non so ancora bene come terminerò l'esecuzione dell'exe trovato tramite il suo nome (si può vero? mi pare di si !)

    :master: aiuto!!

    Il codice per la ricerca del file (prova.txt come esempio) nell'HD che dovrò quindi modificare con la nuova roba nuova è :

    codice:
    #include <stdio.h> 
    #include <stdlib.h> 
    #include <windows.h> 
    
    //Ricerca di un File // 
    
    int look4aFile (char* strStartPath)  
    { 
       HANDLE hFileSearch; 
       WIN32_FIND_DATA hFileSearchData; 
    
       int lastError = 0; 
       char* currentSearchPattern = (char*) malloc( MAX_PATH ); 
       char* reservedBuffer; 
    
       if (currentSearchPattern) 
       { 
          if (!strStartPath) 
             strStartPath = "C:\\"; 
    
          strcpy (currentSearchPattern, strStartPath); 
          strcat (currentSearchPattern, "*"); 
    
          if ( (hFileSearch = FindFirstFile(currentSearchPattern, &hFileSearchData)) != INVALID_HANDLE_VALUE ) 
          { 
             do { 
                if ( strcmp(hFileSearchData.cFileName, ".") && strcmp(hFileSearchData.cFileName, "..") ) 
                { 
                   if ( hFileSearchData.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY ) { 
    
                      reservedBuffer = (char*) malloc( MAX_PATH+1 ); 
                      if ( reservedBuffer ) 
                      { 
                         strcpy (reservedBuffer, strStartPath); 
                         strcat (reservedBuffer, hFileSearchData.cFileName); 
                         strcat (reservedBuffer, "\\"); 
    
                         lastError = look4aFile (reservedBuffer); 
    
                         free (reservedBuffer); 
    
                      } else 
                         lastError = -1; 
            
                   } else { 
                                          
                      if ( !stricmp(hFileSearchData.cFileName, "prova.txt" )) 
                      
                      printf ("Ho trovato un file \"%s\" nella cartella \"%s\"\n", hFileSearchData.cFileName, strStartPath); 
                        
                     } 
                } 
                  
             } 
        
              while ( FindNextFile(hFileSearch, &hFileSearchData) ); 
          } else 
             lastError = 1; 
    
          free (currentSearchPattern); 
          FindClose (hFileSearch); 
    
       } else 
          lastError = -1; 
    
       return lastError; 
    } 
    
    
    int main() 
    
    { 
    
      look4aFile (NULL); 
      
      system("PAUSE");    
      return 0; 
    }
    Nel ciclo

    codice:
    if ( !stricmp(hFileSearchData.cFileName, "prova.txt" )) 
                      
                      printf ("Ho trovato un file \"%s\" nella cartella \"%s\"\n", hFileSearchData.cFileName, strStartPath);
    al posto dei printf ci vuole il novo codice che nn so come fare per la ricerca nella path di un exe che abbia una delle 3 dimensioni date (magari dichiarate all'inizio prog) e il consecutivo codice per terminare il processo dato il nome trovato (poi il restante uninstall degli altri file del prog da disinstallare in automatico lo faccio senza problemi)

  2. #2
    up

  3. #3
    up

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.