im en utilisant la méthode suivanteImpossible d'extraire processID de GetProcessId (.. hWnd) (PInvoke)
[DllImport("kernel32.dll", SetLastError=true)] static extern int GetProcessId(IntPtr hWnd);
pour essayer d'obtenir le processId pour un processus en cours et la seule information dont je dispose le HWND. Mon problème est qu'il renvoie toujours le code d'erreur 6 qui est ERROR_INVALID_HANDLE. Je pensais que je pourrais changer le paramètre pour être de type int mais cela n'a pas fonctionné. Je ne suis pas en mesure d'énumérer les processus en cours car il peut y avoir plus d'une instance en cours d'exécution à la fois. Est-ce que quelqu'un peut voir si je fais quelque chose de mal? NB: Le processus est généré à partir d'un objet Automation exposé à l'infrastructure et fournit uniquement la propriété HWND. Peut-être y a-t-il une autre façon d'obtenir le processusID vu que le code que j'ai écrit était responsable de l'exécuter en premier lieu?
Mon code ressemble à quelque chose de semblable à ce ...
AutomationApplication.Application extApp = new AutomationApplication.Application(); extApp.Run(); ...
non malheureusement rien d'utile comme ça. – Grant
Son pour AutoCad en fait donc pas je ne l'ai pas écrit. – Grant
Eh bien, l'option, potentiellement boiteuse, est d'appeler 'System.Diagnostics.Process.GetCurrentProcess();' et vérifiez la propriété '.Handle' de chacun? –