Jag har en hwnd jag vill nu få fram villket ProcessID pen tillhör, hur kan jag göra detta? Detta kanske hjälper dig ? Såg den lite senare också ;) Eftersom den andra paremetern är [out] så betyder det att den <b>variabel</b> som Ok så då borde väll denna kod funka? Du borde snarare deklarera funktionen Vilken tur att en av oss inte är nybörjare på COM Interop =)Få ProcessID ifrån en WindowHandler
//HenrikSv: Få ProcessID ifrån en WindowHandler
<code>
[DllImport("user32.dll")] private static extern
IntPtr GetWindowThreadProcessId(IntPtr hWnd, IntPtr ProcessId);
</code>
<b>Parameters</b>
hWnd
[in] Handle to the window.
lpdwProcessId
[out] Pointer to a variable that receives the process identifier. If this parameter is
not NULL, GetWindowThreadProcessId copies the identifier of the process to the
variable; otherwise, it does not.
<b>Return Value</b>
The return value is the identifier of the thread that created the window.
<b>Andreas Håkansson
Student of Software Engineering</b>Sv: Få ProcessID ifrån en WindowHandler
Men får det inte att funka riktigt. Vad ska jag sätta IntPtr så att den inte är NULL då?
Kan ju inte bara ge den ett värde?
Är lite ny på detta.
MVH HenkeSv: Få ProcessID ifrån en WindowHandler
du skickar med kommer att fyllas med det process id som du är ute efter.
<b>Andreas Håkansson
Student of Software Engineering</b>Sv: Få ProcessID ifrån en WindowHandler
IntPtr oneProcess;
GetWindowThreadProcessId(windowHandle, oneProcess);
Men oneProcess blir bara 0 hela tiden? Är felet redan här eller är detta rätt?Sv: Få ProcessID ifrån en WindowHandler
[DllImport("user32.dll")]
static extern uint GetWindowThreadProcessId(IntPtr hWnd, out uint ProcessId);
MSSv: Få ProcessID ifrån en WindowHandler
MS du borde göra en .NET variant av ALLAPI där folk kan submitta in API deklarationer.. skulle passa underbart på din Interop sida! =)
---
<b>Andreas Håkansson
Student of Software Engineering</b>