Partage
  • Partager sur Facebook
  • Partager sur Twitter

le C# et le .net et les autres librarie ?

visual studio configuration ?

    25 juin 2020 à 4:42:53

    Bonjours,
    j'ai un peux regarder l'ide qui est visual studio  dans sa version gratuite.
    Donc on passe sur mdsn et pour faire une petite application en C# , 
    Je parvien a me faire une form etc, donc ça roule.
    On complexifie,les API de chez microsoft ...
    Un exemple: utiliser une librarie de microsoft faite en C  winsock2. iphlpapi. 
    Un peux plus tard, a coup de google une video histoir de changer https://www.youtube.com/watch?v=69hfZo3cSvU
    il faudrai mettre un main.cpp heu...?
    J'ai chercher a faire pareil en ajoutant dans le répertoire les fichier concerner. 
    Il les a charger dans le projet automatiquement.
    je cherche l'editeur de lien les option de compilation.... aux même endrois que sur la video.
    Surprise c est absent ?! (tester avec les 3 fichier)
    Je ne m'attandais pas à un miracle mai de la à ne pas mettre un onglet de configuration pour l'éditeur de lien....
    A croire que le C# n'est pas compatible avec le C et donc les api inacessibles.
    Il est surment évident que j'ai rater un truc soit c'est simpelment pas possible ( c est beau le C# si je peux rien faire avec ).
    Si quelqu'un pouvais m'éclairer sur le sujet ?
    Merci de votre patience et de m'avoir lu.

    -
    Edité par XiouzanaxyXeon 25 juin 2020 à 4:46:53

    • Partager sur Facebook
    • Partager sur Twitter
      25 juin 2020 à 10:18:27

      Bonjour,

      Si tu cherches a utiliser des API de microsoft, utilises soit les paquets Nuget soit les assembly (références). (quand tu es dans un projet, clique droit sur "références")

      un fichier CPP, est un fichier C++, donc je ne comprends pas ce que tu dis.

      • Partager sur Facebook
      • Partager sur Twitter
        25 juin 2020 à 10:46:05

        La vidéo indique comment utiliser une librairie ayant une API C depuis du code C++, pas à partir d'un code en C#.

        Je rejoins l'avis de mon VDD.

        • Partager sur Facebook
        • Partager sur Twitter
        Je recherche un CDI/CDD/mission freelance comme Architecte Logiciel/ Expert Technique sur technologies Microsoft.
          25 juin 2020 à 15:07:06

          Merci pour vos réponse.

          pour ce que est du projet en cours (donc ouvert) j'ai pus trouver nuget , projet --> installer les pakage nuget.

          matosio a àcris

          " assembly (références). (quand tu es dans un projet, clique droit sur "références") "


          j'ai rien trouvé à ce sujet nulle part dans le soft. Je pense que tu utilise la version 2017 de Visual studio 


          malgrés la longue liste des paket nuguet j'ai pas trouvé l'api recherchée. que dois je faire par exemple pour avoir accès à la l'API  GetipAddrTable

          • Partager sur Facebook
          • Partager sur Twitter
            25 juin 2020 à 15:50:59

            • Partager sur Facebook
            • Partager sur Twitter
            Je recherche un CDI/CDD/mission freelance comme Architecte Logiciel/ Expert Technique sur technologies Microsoft.
              26 juin 2020 à 8:11:52

              XiouzanaxyXeon a écrit:

              matosio a àcris

              " assembly (références). (quand tu es dans un projet, clique droit sur "références") "


              j'ai rien trouvé à ce sujet nulle part dans le soft. Je pense que tu utilise la version 2017 de Visual studio 


              c'est dans l'explorateur de solution, au niveau de tes fichiers, j'utilise la version 2017 et 2019 et ça n'a pas changé !
              • Partager sur Facebook
              • Partager sur Twitter
                26 juin 2020 à 11:10:55

                Bon, vous cherchez les emmerdes, c'est parti.

                Une librairie avec une interface C, c'est pas un assembly .NET, alors la "Add Reference", vous vous la mettez derrière l'oreille.

                Documentez-vous sur comment appeler des fonctions C depuis un assembly .NET :

                https://docs.microsoft.com/fr-fr/dotnet/api/system.runtime.interopservices.dllimportattribute?view=netcore-3.1

                -
                Edité par bacelar 26 juin 2020 à 14:20:59

                • Partager sur Facebook
                • Partager sur Twitter
                Je recherche un CDI/CDD/mission freelance comme Architecte Logiciel/ Expert Technique sur technologies Microsoft.
                  26 juin 2020 à 11:47:28

                  Je ne réponds pas la dessus, je lui indique juste qu'un clique droit sur "références" dans un projet VS permet d'ajouter des assembly ainsi que des packages NuGet.

                  Mais en tout cas, merci pour l'information.

                  • Partager sur Facebook
                  • Partager sur Twitter
                    26 juin 2020 à 18:02:43

                    Merci pour votre aide, 

                    bacelar a ecrit:

                    Bon, vous cherchez les emmerdes, 


                    Si seulement c'était vrai ::lol:

                    Bon ce truc  est une horreur a utiliser apres bon cest pas moi code des api en C pour le systeme.


                    Matioso: a ecrit

                     je lui indique juste qu'un clique droit sur "références" dans un projet VS permet d'ajouter des assembly


                    non pas dans le projet que j'ai choisi  si tu te fait un projet bureau (sans console), 

                    bon je vai ouvrire un autre poste  car j'ai pas mal fouiner déja , mai trouver l'api dans un *.net c est chaud vu la quandtiter d'information a lire

                    Merci de m'avoir lu  et de votre patience

                    -
                    Edité par LafouineRox 26 juin 2020 à 18:03:56

                    • Partager sur Facebook
                    • Partager sur Twitter
                      26 juin 2020 à 18:38:16

                      Je comprends toujours pas pourquoi vous voulez absolument utiliser une librairie C toute pétée des année 1990 à la place d'une API .NET bien plus simple (à utiliser) et bien plus puissante.

                      Un projet "bureau", ça n'existe pas car il existe plusieurs framework différent dans ce "cadre".

                      Et le "Add Reference" existe dans toutes les variantes des framwork "Desktop".

                      • Partager sur Facebook
                      • Partager sur Twitter
                      Je recherche un CDI/CDD/mission freelance comme Architecte Logiciel/ Expert Technique sur technologies Microsoft.
                        29 juin 2020 à 7:26:51

                        barcelar a écrit:

                        Je comprends toujours pas pourquoi vous voulez absolument utiliser une librairie C toute pétée des année 1990 à la place d'une API .NET bien plus simple (à utiliser) et bien plus puissante.

                        .-

                        ben si tu me trouve comment obtenir les processus + les adress ip/port /protocol sur la machine je suis preneur et pour le moment j'ai rien trouver de complet:


                        et oui j'ai pas mal chercher:

                        IPGlobalProperties properties = IPGlobalProperties.GetIPGlobalProperties();
                                    TcpConnectionInformation[] connections = properties.GetActiveTcpConnections();
                                    foreach (TcpConnectionInformation c in connections)
                                    {
                                        Console.WriteLine("{0} <==> {1}",
                                                          c.LocalEndPoint.ToString(),
                                                          c.RemoteEndPoint.ToString(),
                                                          c.State.ToString());
                                    }


                        Cela ne donne pas l'application  ... comme c' est dommage , il me manque quelque chose mai j'ai rien trouvé. donc c'est peut être vieux, mais c' est tout ce que j'ai trouvé.


                        Merci pour ta réponse (XiouzanaxyXeon   a un souci  de compte )

                        -
                        Edité par LafouineRox 29 juin 2020 à 7:31:11

                        • Partager sur Facebook
                        • Partager sur Twitter
                          29 juin 2020 à 10:38:14

                          Je ne vois pas pourquoi vous trouvez "évident" que la relation socket/application soit une bijection (ou tout du moins une injection).

                          Une socket (protocole + @ip local + numéro de port local + @ip distant + numéro de port distant ) peut facilement être partagé par plusieurs processus.

                          Si vous êtes dans du bricolage :

                          https://bsmadhu.wordpress.com/2012/09/11/identifying-process-using-tcp-port-in-net/

                          IPGlobalProperties semble plus simple à utiliser (mais plus limité que WMI):

                          https://docs.microsoft.com/fr-fr/dotnet/api/system.net.networkinformation.ipglobalproperties?view=netcore-3.1

                          • Partager sur Facebook
                          • Partager sur Twitter
                          Je recherche un CDI/CDD/mission freelance comme Architecte Logiciel/ Expert Technique sur technologies Microsoft.
                            30 juin 2020 à 7:15:22

                            bacelar a écrit:

                            Je ne vois pas pourquoi vous trouvez "évident" que la relation socket/application soit une bijection (ou tout du moins une injection).

                            Une socket (protocole + @ip local + numéro de port local + @ip distant + numéro de port distant ) peut facilement être partagé par plusieurs processus.

                            Si vous êtes dans du bricolage :

                            https://bsmadhu.wordpress.com/2012/09/11/identifying-process-using-tcp-port-in-net/

                            IPGlobalProperties semble plus simple à utiliser (mais plus limité que WMI):

                            https://docs.microsoft.com/fr-fr/dotnet/api/system.net.networkinformation.ipglobalproperties?view=netcore-3.1


                            merci pour ta réponse pour ce qui est du brocollage sa passe par le cmd.exe et netstat.exe, deux programe qui risque de poser probleme pour pas mal de raison. l'interprosses est a mon avis pire que d'utiliser une dll qui a fait ces preuve

                            pour l'autre ben voici le code:

                                        IPGlobalProperties properties = IPGlobalProperties.GetIPGlobalProperties();
                                        TcpConnectionInformation[] connections = properties.GetActiveTcpConnections();
                                        foreach (TcpConnectionInformation c in connections)
                                        {
                                            Console.WriteLine("{0} <==> {1}",
                                                              c.LocalEndPoint.ToString(),
                                                              c.RemoteEndPoint.ToString(),
                                                              c.State.ToString());
                                        }

                            il ne manque plus que le numero/nom du processus, il me manque égalment les connections en ecoute j'ai rater quelque chose ?



                            • Partager sur Facebook
                            • Partager sur Twitter
                              30 juin 2020 à 10:32:12

                              >deux programe qui risque de poser probleme pour pas mal de raison

                              On n'est tout à fait d'accord.

                              >les connections en ecoute

                              GetActiveTcpListeners ?

                              https://docs.microsoft.com/fr-fr/dotnet/api/system.net.networkinformation.ipglobalproperties.getactivetcplisteners?view=netcore-3.1

                              Pour le processus, comme ce n'est pas une "injection", il faudrait passer par quelques heuristiques.

                              • Partager sur Facebook
                              • Partager sur Twitter
                              Je recherche un CDI/CDD/mission freelance comme Architecte Logiciel/ Expert Technique sur technologies Microsoft.
                                1 juillet 2020 à 2:46:00

                                bacelar a écrit:

                                il faudrait passer par quelques heuristiques.


                                Et que vu tu dire plus précisement ?

                                j'avais vu le lien , mai sans le proessus sa reste aux point mort:( 

                                j'ai vraiment passer du temp a trouver un moyen et rien de concret.

                                • Partager sur Facebook
                                • Partager sur Twitter
                                  1 juillet 2020 à 9:54:13

                                  Une socket n'est pas liée à UN processus, comme un fichier n'est pas lié à un processus non plus.

                                  Chaque processus peut avoir un handle sur une même connexion.

                                  Après, c'est très souvent qu'une connexion ne soit utilisée que par un seul programme mais c'est pas toujours le cas.

                                  -
                                  Edité par bacelar 1 juillet 2020 à 14:45:07

                                  • Partager sur Facebook
                                  • Partager sur Twitter
                                  Je recherche un CDI/CDD/mission freelance comme Architecte Logiciel/ Expert Technique sur technologies Microsoft.
                                    1 juillet 2020 à 12:44:21

                                    Ok j'ai compris bon certain projet/soft existe donc c est possible reste à trouver comment c'est pénile de ne pas trouver une api qui fasse le job 

                                    merci pour ta réponse, je laisse le post ouvert  dans l'attente d'un réponse sur la question..

                                    • Partager sur Facebook
                                    • Partager sur Twitter
                                      1 juillet 2020 à 15:57:13

                                      Ces projet/soft font des assertions et utilisent des heuristiques pour trouver une relation entre une "socket/connexion" et un processus particulier.

                                      Une API système qui utilise des heuristiques, c'est une API "peau de banane" car rien n'est certain avec une heuristique.

                                      Bon, après un peu de recherche, le Kernel associe un processus à une connection comme "owner" de celle-ci.

                                      Et comme je l'ai déjà indiqué, WMI dispose d'une API attaquable en .NET et c'est ce qu'il y a de plus puissant :

                                      https://wutils.com/wmi/root/standardcimv2/msft_nettcpconnection/cs-samples.html

                                      Pourquoi chercher ailleurs ?

                                      • Partager sur Facebook
                                      • Partager sur Twitter
                                      Je recherche un CDI/CDD/mission freelance comme Architecte Logiciel/ Expert Technique sur technologies Microsoft.
                                        2 juillet 2020 à 10:03:26


                                        bacelar a écrit:

                                        Ces projet/soft font des assertions et utilisent des heuristiques pour trouver une relation entre une "socket/connexion" et un processus particulier.

                                        Une API système qui utilise des heuristiques, c'est une API "peau de banane" car rien n'est certain avec une heuristique.

                                        Bon, après un peu de recherche, le Kernel associe un processus à une connection comme "owner" de celle-ci.

                                        Et comme je l'ai déjà indiqué, WMI dispose d'une API attaquable en .NET et c'est ce qu'il y a de plus puissant :

                                        https://wutils.com/wmi/root/standardcimv2/msft_nettcpconnection/cs-samples.html

                                        Pourquoi chercher ailleurs ?


                                        Merci pour ta réponse, pour ce qui est du code il est compilable après avoir ajouter le paquet  en référence aux projet.

                                        le souci c est que l'affichage boucle bien , mai aucun résulta avec ....  ???

                                        voila ce que sa me renvoie:

                                        AggregationBehavior :
                                        AggregationBehavior :
                                        AggregationBehavior :
                                        AggregationBehavior :
                                        
                                        etc etc


                                        Je creuse cherche du coter de la requête mai ou ce trouve donc ces information ??

                                        • Partager sur Facebook
                                        • Partager sur Twitter
                                          2 juillet 2020 à 10:41:28

                                          Ce ne sont que des exemples, qui datent, donc avec des réglages au niveau visibilité/cache qui peuvent avoir changé.

                                          Je pense que vous devriez changer le code pour voir les propriétés disponibles de manière reflexive.

                                          WMI est assez chiant pour ce qui est de la mise en cache de certaine propriété et pas d'autres.

                                          Attention, il n'y a pas que la requête qu'il faut regarder, et comme en SQL, le "SELECT *" n'est pas gage de fiabilité.

                                          Ca peut aider :

                                          https://archive.codeplex.com/?p=wmie

                                          • Partager sur Facebook
                                          • Partager sur Twitter
                                          Je recherche un CDI/CDD/mission freelance comme Architecte Logiciel/ Expert Technique sur technologies Microsoft.
                                            2 juillet 2020 à 13:51:22

                                            je met le lien du soft pour ceux que sa interesse: https://github.com/vinaypamnani/wmie2/releases

                                            Merci pour ta réponse bon je vais fouiner un peux c est nouveau pour moi les wmi ^^

                                            voila je pense ce qu'il me faut : https://docs.microsoft.com/en-us/windows/win32/etw/tcpip-v0-typegroup1

                                            -
                                            Edité par LafouineRox 2 juillet 2020 à 14:36:43

                                            • Partager sur Facebook
                                            • Partager sur Twitter

                                            le C# et le .net et les autres librarie ?

                                            × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
                                            • Editeur
                                            • Markdown