IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Windows 10 Discussion :

Comment obtenir les droits complets sur Windows 10 ?


Sujet :

Windows 10

  1. #1
    Membre habitué
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    412
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Décembre 2006
    Messages : 412
    Points : 149
    Points
    149
    Par défaut Comment obtenir les droits complets sur Windows 10 ?
    Bonjours,

    Bon c est pas une nouveauté d’après ce que j'ai pus lire sur ce sujet.

    L'administrateur n'est pas un vrai administrateur j'explique:
    il n'à pas l’accès complet aux système. mai à une partie plus importante (sous windows).

    Et oui c'est pas suffisant dans mon cas, si je veux accéder à certain processus je fait comment ?
    Parce que sous linux pas de problème c'est fait en moins d'une second


    le nom du fichier c'est un exécutable que compile
    Je résume :
    Un fichier qui à besoins des vrais droits pour lister les processus.
    Je suis le seul propriétaire de la machine. le compte admin est présent et actif .
    Je peut pas mettre les même droit que possède l'application : Taskmgr.exe

    La liste qui permette de changer les droit n'a pas la possibilité d'ajouter ce qui va bien. même loguer en administrateur.

    Vous avez peur qu'un débutant fasse la manip, vous pouvez toujours me parler en priver

    merci d'avance

  2. #2
    Membre confirmé Avatar de Tackedowno-sama
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Novembre 2013
    Messages
    294
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2013
    Messages : 294
    Points : 519
    Points
    519
    Par défaut
    Bonjour Panthere Noir,

    Si je comprend bien, ta requête tu souhaite avoir un compte ROOT sur windows, c'est bien ça?
    N'hésitez pas à cliquer sur , si j'ai pu vous être utile.

  3. #3
    Membre habitué
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    412
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Décembre 2006
    Messages : 412
    Points : 149
    Points
    149
    Par défaut
    Citation Envoyé par Tackedowno-sama Voir le message
    Bonjour Panthere Noir,

    Si je comprend bien, ta requête tu souhaite avoir un compte ROOT sur windows, c'est bien ça?
    je confirme

  4. #4
    Responsable Systèmes


    Homme Profil pro
    Gestion de parcs informatique
    Inscrit en
    Août 2011
    Messages
    17 438
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Gestion de parcs informatique
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Août 2011
    Messages : 17 438
    Points : 43 081
    Points
    43 081
    Par défaut
    Si tu cliques bouton droit sur ton exe, et que tu fais exécuter en tant qu'administrateur, tu auras les droits maximum.
    Tu peux alléger la procédure en désactivant l'UAC mais je ne le recommande pas.
    Ma page sur developpez.com : http://chrtophe.developpez.com/ (avec mes articles)
    Mon article sur le P2V, mon article sur le cloud
    Consultez nos FAQ : Windows, Linux, Virtualisation

  5. #5
    Membre habitué
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    412
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Décembre 2006
    Messages : 412
    Points : 149
    Points
    149
    Par défaut
    Citation Envoyé par chrtophe Voir le message
    Si tu cliques bouton droit sur ton exe, et que tu fais exécuter en tant qu'administrateur, tu auras les droits maximum.
    Tu peux alléger la procédure en désactivant l'UAC mais je ne le recommande pas.
    Merci pour ta réponse
    Non ça ne donne pas tout les droit, regarde les droits sur le fichier Taskmgr.exe tu verra que l'admin n'a pas tout les droit. oui admin est != de root

    Pour ce qui est de l'UAC je pense l'avoir déjà fait mai les droits reste actualiser malgré tout.
    windows 10 ne donne pas accès complet aux système et c'est pas faut d'avoir chercher

    cordialement,

  6. #6
    Responsable Systèmes


    Homme Profil pro
    Gestion de parcs informatique
    Inscrit en
    Août 2011
    Messages
    17 438
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Gestion de parcs informatique
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Août 2011
    Messages : 17 438
    Points : 43 081
    Points
    43 081
    Par défaut
    Essayes avec cmd.exe lancé en mode administrateur :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    net user Administrateur /active:yes
    Puis connectes-toi dessus.

    Vivement déconseillé.
    Ma page sur developpez.com : http://chrtophe.developpez.com/ (avec mes articles)
    Mon article sur le P2V, mon article sur le cloud
    Consultez nos FAQ : Windows, Linux, Virtualisation

  7. #7
    Rédacteur/Modérateur
    Avatar de Andnotor
    Inscrit en
    Septembre 2008
    Messages
    5 688
    Détails du profil
    Informations personnelles :
    Localisation : Autre

    Informations forums :
    Inscription : Septembre 2008
    Messages : 5 688
    Points : 13 117
    Points
    13 117
    Par défaut
    Citation Envoyé par panthere noire Voir le message
    Un fichier qui à besoins des vrais droits pour lister les processus.
    Tu n'as pas besoin de droit particulier pour lister les processus. Ton problème n'est pas clair.

  8. #8
    Membre habitué
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    412
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Décembre 2006
    Messages : 412
    Points : 149
    Points
    149
    Par défaut
    Citation Envoyé par chrtophe Voir le message
    Essayes avec cmd.exe lancé en mode administrateur :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    net user Administrateur /active:yes
    Puis connectes-toi dessus.

    Vivement déconseillé.
    Merci pour ta réponse , je peux toujours pas faire ce que je veux

    Andnotor
    je doit mal m'y prendre alors
    Comme c est pas claire , voila l'autre sujet, Si il n'y a pas de problème de droit c'est l'api microsoft qui ne va pas..

    https://www.developpez.net/forums/d1...rocessmodules/

    cordialement,

  9. #9
    Rédacteur/Modérateur
    Avatar de Andnotor
    Inscrit en
    Septembre 2008
    Messages
    5 688
    Détails du profil
    Informations personnelles :
    Localisation : Autre

    Informations forums :
    Inscription : Septembre 2008
    Messages : 5 688
    Points : 13 117
    Points
    13 117
    Par défaut
    Vu !

    Ce n'est donc pas un problème d'énumération mais d'accès au processus.

    Pour énumérer les processus : CreateToolHelp32Snapshot en spécifiant TH32CS_SNAPPROCESS.

    Ensuite, demander un accès illimité au processus par PROCESS_ALL_ACCESS ne fonctionnera pas dans bons nombres de cas. Soit des droits administrateurs sont nécessaires, soit ton processus requière des privilèges plus importants ou parce que le processus cible tourne en Kernel mode dont l'accès est très limité depuis le User mode.

    Sous Windows, tu ne peux jamais demander plus de droits que ce que tu peux légitimement obtenir. Ce n'est pas "je demande tout" et Windows me fournit ce qu'il m'autorise. Un seul droit manquant débouche toujours sur un access denied, même si les autres demandes te seraient accordées.


    A partir de là :

    1. Avec l'UAC activé, tous les processus d'un niveau de privilèges supérieur au tiens ne seront pas accessibles. Tu dois par conséquent lancer ton app en mode Admin.
      .
    2. Il ne faut pas demander un accès complet aux processus mais uniquement à ce qui t'est nécessaire. Pour récupérer le chemin, PROCESS_QUERY_INFORMATION serait correct en User mode mais déjà trop pour les processus en Kernel mode. Il faut par conséquent les ouvrir en PROCESS_QUERY_LIMITED_INFORMATION.
      .
    3. Et le dernier point est de modifier les privilèges de ton processus et de le passer en mode débogage : SeDebugPrivilege.



    Lorsque ces trois points seront réunis, tu pourras récupérer tous les chemins par GetModuleFileNameEx.

  10. #10
    Membre habitué
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    412
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Décembre 2006
    Messages : 412
    Points : 149
    Points
    149
    Par défaut
    Merci je vais faire les essais sur la question
    Cela va prendre un peut de temps , j'en ai moins en ce moment

  11. #11
    Membre habitué
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    412
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Décembre 2006
    Messages : 412
    Points : 149
    Points
    149
    Par défaut
    Bonjour,
    Me re-voilou , donc

    plus précisement
    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
     bool  CProcess::mSetDebugPrivilege(){
       HANDLE hToken = NULL;
       TOKEN_PRIVILEGES tokenPrivileges;
       LUID luidDebug;
    
       if (OpenProcessToken(GetCurrentProcess(), TOKEN_ADJUST_PRIVILEGES, &hToken) != FALSE) {
          if (LookupPrivilegeValue(NULL, SE_DEBUG_NAME, &luidDebug) != FALSE) {
                 tokenPrivileges.PrivilegeCount = 1;
                 tokenPrivileges.Privileges[0].Luid = luidDebug;
                 tokenPrivileges.Privileges[0].Attributes = SE_PRIVILEGE_ENABLED;
                    if (AdjustTokenPrivileges(hToken, FALSE, &tokenPrivileges, 0, NULL, NULL) == FALSE) {
                        CloseHandle(hToken);
                        std::cout << "Erreur impossible d'ajuster les privileges" << std::endl ;
                   // throw gcnew System::Exception("FAILED TO CHANGE TOKEN PRIVILEGES");
                        return false;
                    }
                }
                else{ CloseHandle(hToken); return false; }
        }
        else { CloseHandle(hToken); return false; }
        CloseHandle(hToken);
       return true;
     }
    Donc a l'execution sa revoiye bien true:

    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
    std::string GetLastErrorStdStr()
    {
      DWORD error = GetLastError();
    std::stringstream errorStream;
    errorStream << error;
    //Tools::Logger.Log(errorStream.str(), Error);
         switch  (error)
         {
            case 5:
                    return "Acces refuser code: 5 ";
                    break;
            case 87:
                    return "Paramettre incorrect: 87 ";
                    break;
            case 299:
                    return "Seule une partie d'une demande ReadProcessMemory ou WriteProcessMemory a été terminée: 299 ";
                    break;
            default:
                     return  "Erreur inconnue: "  + errorStream.str() ;
        }
    }
    ll'erreur la plus courante est la 5 et 299..
    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
    void CProcess::mListExeDLL(DWORD processID){
      HMODULE hMods[1024];
        HANDLE hProcess;
        DWORD cbNeeded;
        mVectEnumNameExe.clear();
        bool sucess = false;
        std::string ErrBuff="";
        unsigned int i;
        printf( "\nProcess ID: %u\n", processID );
        hProcess = OpenProcess( PROCESS_QUERY_INFORMATION |
                                PROCESS_VM_READ,
                                FALSE, processID );
        if (NULL == hProcess){
            ErrBuff = GetLastErrorStdStr() ;
        }
        else
        {
            if( EnumProcessModules(hProcess, hMods, sizeof(hMods), &cbNeeded))
            {
                for ( i = 0; i < (cbNeeded / sizeof(HMODULE)); i++ )
                {
                    TCHAR szModName[MAX_PATH];
                    if ( GetModuleFileNameEx( hProcess, hMods[i], szModName,
                                              sizeof(szModName) / sizeof(TCHAR)))
                    {
                        std::cout <<  processID << " : " << szModName<< std::endl;
                         mVectEnumNameExe.push_back(szModName) ;
                        mVectEnumID.push_back(processID) ;
                        //on ne memorise que la premiere entrée valide
                        sucess = true;
                        break;
                    }
                    else
                    {
                        ErrBuff = GetLastErrorStdStr() ;
                    }
                }
            }
            else
            {
                    ErrBuff = GetLastErrorStdStr() ;
            }
        }
        // Release the handle to the process.
        if (sucess == false)
        {
            std::cout << "Erreur sur le processus: " << processID << " : " <<ErrBuff<< std::endl;
        }
        else
        {
            csucess++;
                sucess == false;
        }
        CloseHandle( hProcess );
        std::cout << "Nombre de processus a succes: " <<csucess << std::endl ;
    }

    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
    void CProcess::mGetExeDLLModule(){
     DWORD aProcesses[1024];
        DWORD cbNeeded;
        DWORD cProcesses;
        unsigned int i;
    
        // Get the list of process identifiers.
    
        if ( !EnumProcesses( aProcesses, sizeof(aProcesses), &cbNeeded ) ){std::cout << "Erreur sure EnumProcesses " << std::endl ;}
        // Calculate how many process identifiers were returned.
        cProcesses = cbNeeded / sizeof(DWORD);
        // Print the names of the modules for each process.
        for ( i = 0; i < cProcesses; i++ )
        {
            CProcess::mListExeDLL( aProcesses[i] );
        }
    
    }
    Dans le main j'appelle la methode pour modifier les Privilèges puis je les liste avec mGetExeDLLModule();

    avec les drois d'admin j'en trouve 5 de plus , mai le résulta est faible 30 sur environ 140 processus

    j'ai donc tester mai sa n'a pas marcher

  12. #12
    Rédacteur/Modérateur
    Avatar de Andnotor
    Inscrit en
    Septembre 2008
    Messages
    5 688
    Détails du profil
    Informations personnelles :
    Localisation : Autre

    Informations forums :
    Inscription : Septembre 2008
    Messages : 5 688
    Points : 13 117
    Points
    13 117
    Par défaut
    Citation Envoyé par Andnotor Voir le message
    Pour récupérer le chemin, PROCESS_QUERY_INFORMATION serait correct en User mode mais déjà trop pour les processus en Kernel mode. Il faut par conséquent les ouvrir en PROCESS_QUERY_LIMITED_INFORMATION.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    hProcess = OpenProcess(PROCESS_QUERY_LIMITED_INFORMATION, FALSE, processID);

  13. #13
    Membre habitué
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    412
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Décembre 2006
    Messages : 412
    Points : 149
    Points
    149
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     hProcess = OpenProcess( PROCESS_QUERY_LIMITED_INFORMATION | PROCESS_VM_READ,FALSE, processID );
    donne:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    error: 'PROCESS_QUERY_LIMITED_INFORMATION' was not declared in this scope
    les includes

    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
    #include <string>
    #include <iostream>
    #include <algorithm>
    
    
    #include <stdio.h>
    #include <windows.h>
    #include <tlhelp32.h>
    #include <tchar.h>
    #include <vector>
    #include <iostream>
    #include <sstream>
    #include <psapi.h> // For access to GetModuleFileNameEx
    #include <Psapi.h> //tester avec maj ou sans
    option du compilateur:

    je doit dire que la je sèche un peut sur les includes, a moins que l'option que tu proposes ne soie pas disponible sous windows 10 home ?

    Merci pour ta réponse

  14. #14
    Membre habitué
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    412
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Décembre 2006
    Messages : 412
    Points : 149
    Points
    149
    Par défaut
    Bon je suis arriver sure cette page :
    https://msdn.microsoft.com/fr-fr/lib...(v=vs.85).aspx

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     hProcess = OpenProcess( 0x1000 | PROCESS_VM_READ,FALSE, processID );
    toujours le même problème ...

  15. #15
    Rédacteur/Modérateur
    Avatar de Andnotor
    Inscrit en
    Septembre 2008
    Messages
    5 688
    Détails du profil
    Informations personnelles :
    Localisation : Autre

    Informations forums :
    Inscription : Septembre 2008
    Messages : 5 688
    Points : 13 117
    Points
    13 117
    Par défaut
    Pourquoi t'obstines-tu à demander l'accès en lecture à la mémoire de ces processus ?

  16. #16
    Membre habitué
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    412
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Décembre 2006
    Messages : 412
    Points : 149
    Points
    149
    Par défaut
    il manquerai pas un include qui manque pour PROCESS_QUERY_LIMITED_INFORMATION ?
    pas moyen de compiler ....??
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     hProcess = OpenProcess( PROCESS_QUERY_LIMITED_INFORMATION | PROCESS_VM_READ,FALSE, processID );
    
     hProcess = OpenProcess( 0x1000,FALSE, processID );
    Erreur 299 et 5, etc.
    j'ai tester pas mal de possibilité, admin ou pas....

  17. #17
    Rédacteur/Modérateur
    Avatar de Andnotor
    Inscrit en
    Septembre 2008
    Messages
    5 688
    Détails du profil
    Informations personnelles :
    Localisation : Autre

    Informations forums :
    Inscription : Septembre 2008
    Messages : 5 688
    Points : 13 117
    Points
    13 117
    Par défaut
    Ajoute TOKEN_QUERY sur OpenProcessToken.

    Sinon, un essai en Delphi (et en admin) me retourne bien tous les chemins :
    Code delphi : 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
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    Function TForm1.SetPrivilege(aPrivilege :string; aEnabled :boolean): Boolean;
    var
      Token         :THandle;
      TokenPriv     :TOKEN_PRIVILEGES;
      PrevTokenPriv :TOKEN_PRIVILEGES;
      Len           :Cardinal;
     
    begin
      if OpenProcessToken(GetCurrentProcess(), TOKEN_ADJUST_PRIVILEGES or TOKEN_QUERY, Token) then
      begin
        try
          if LookupPrivilegeValue(nil, PChar(aPrivilege), TokenPriv.Privileges[0].Luid) then
          begin
            TokenPriv.PrivilegeCount := 1;
     
            if aEnabled
            then TokenPriv.Privileges[0].Attributes := SE_PRIVILEGE_ENABLED
            else TokenPriv.Privileges[0].Attributes := 0;
     
            Exit(AdjustTokenPrivileges(Token, False, TokenPriv, SizeOf(PrevTokenPriv), PrevTokenPriv, Len));
          end;
     
        finally
          CloseHandle(Token);
        end;
      end;
     
      Result := FALSE;
    end;
     
    procedure TForm1.Button1Click(Sender: TObject);
    var
      SnapShot :THandle;
      Process  :TProcessEntry32;
      Handle   :THandle;
      s        :string;
     
    const
      PROCESS_QUERY_LIMITED_INFORMATION = $1000;
     
    begin
      SetPrivilege('SeDebugPrivilege', TRUE);
     
      try
        Process.dwSize := SizeOf(TProcessEntry32);
        Snapshot       := CreateToolHelp32Snapshot(TH32CS_SNAPPROCESS, 0);
     
        if Snapshot <> INVALID_HANDLE_VALUE then
        try
          if Process32First(Snapshot, Process) then
          repeat
            Handle := OpenProcess(PROCESS_QUERY_LIMITED_INFORMATION, FALSE, Process.th32ProcessID);
     
            if Handle <> 0 then
            try
              SetLength(s, MAX_PATH);
              SetLength(s, GetModuleFileNameEx(Handle, 0, PChar(s), MAX_PATH));
            finally
              CloseHandle(Handle);
            end
            else s := format('%d : %s', [GetLastError, SysErrorMessage(GetLastError)]);
     
            Listbox1.Items.Add(format('%s (%s)', [Process.szExeFile, s]));
     
          until not Process32Next(Snapshot, Process);
     
        finally
          CloseHandle(Snapshot);
        end;
     
      finally
        SetPrivilege('SeDebugPrivilege', FALSE);
      end;
    end;

  18. #18
    Membre habitué
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    412
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Décembre 2006
    Messages : 412
    Points : 149
    Points
    149
    Par défaut
    Citation Envoyé par Andnotor Voir le message
    Ajoute TOKEN_QUERY sur OpenProcessToken.

    J'ai tester et c'est direct une erreur: 5 : accès refuser.
    Il fraudai que je compile ton code pour le testé sur ma machine parce que la je ne vois pas ce que je peux faire de plus.

    Merci pour ta réponse

  19. #19
    Membre habitué
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    412
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Décembre 2006
    Messages : 412
    Points : 149
    Points
    149
    Par défaut
    Pour avoir essayer QueryFullProcessImageName a la place GetModuleFileNameExA sa donne:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    error: 'QueryFullProcessImageName' was not declared in this scope|
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    #include <psapi.h> 
    #include <windows.h>
    linker
    le fichier ce trouve dans C:\CodeBlocks\MinGW\include donc je voi pas ou sa coince ??

    Edit:
    bon pour en savoir plus j'ai regarder le contenu des windows.h et psapi.h et la grosse surprise c'est pas présent.
    https://msdn.microsoft.com/en-us/lib...(v=vs.85).aspx

    Minimum supported client Windows Vista [desktop apps only] .. donc c'est suposer être rester.

    Donc le souci vien peut être des 2 fichier livrer avec MinGW ?

Discussions similaires

  1. [WD21] Comment lire les droits répertoire/fichiers Windows
    Par infografred dans le forum WinDev
    Réponses: 0
    Dernier message: 17/05/2018, 06h52
  2. Comment obtenir les droits administrateur complet sur Windows 7
    Par Gr@nd@x dans le forum Vos contributions
    Réponses: 8
    Dernier message: 22/12/2014, 19h57
  3. Réponses: 11
    Dernier message: 20/09/2009, 15h44
  4. [MySQL] comment obtenir les fonctions php sur le clavier?
    Par stephanech dans le forum PHP & Base de données
    Réponses: 5
    Dernier message: 03/02/2009, 10h43
  5. Comment obtenir les Handles des boutons systèmes de Windows ?
    Par Desraux dans le forum API, COM et SDKs
    Réponses: 6
    Dernier message: 22/12/2004, 22h20

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo