<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[Prozesse, Threads und Handles auslesen]]></title><description><![CDATA[<p>Hallo,</p>
<p>ich habe folgendes Problem. Ich würde gerne per JNI die Anzahl der Prozesse, Handles und Threads ausgeben. Bekomme jedoch die Meldung &quot;warning: implicit declaration of function GetPerformanceInfo&quot;. Habe leider nicht so große Ahnung, was C/C++ angeht. Wäre wirklich geil, wenn ihr mir helfen könntet. Vielen Dank schonmal im Voraus.</p>
<p>Gruß, Tom</p>
<pre><code>#include &lt;windows.h&gt;
#include &lt;jni.h&gt;
#include &quot;cpuinfo.h&quot;
#include &lt;stdio.h&gt;
#include &lt;stdlib.h&gt;
#include &lt;psapi.h&gt;

typedef struct _PERFORMANCE_INFORMATION {
  DWORD cb;
  SIZE_T CommitTotal;
  SIZE_T CommitLimit;
  SIZE_T CommitPeak;
  SIZE_T PhysicalTotal;
  SIZE_T PhysicalAvailable;
  SIZE_T SystemCache;
  SIZE_T KernelTotal;
  SIZE_T KernelPaged;
  SIZE_T KernelNonpaged;
  SIZE_T PageSize;
  DWORD HandleCount;
  DWORD ProcessCount;
  DWORD ThreadCount;
} PERFORMANCE_INFORMATION, 
 *PPERFORMANCE_INFORMATION;

JNIEXPORT void JNICALL Java_businessLayer_CpuInfo_getThreads (JNIEnv *env, jobject jobj) {

	PERFORMANCE_INFORMATION pinf;
 	DWORD cb = sizeof(PERFORMANCE_INFORMATION);

	GetPerformanceInfo(pinf, cb); 

  	jclass cls;
  	jfieldID fid;

  	cls = (*env)-&gt;GetObjectClass(env, jobj);
  	fid = (*env)-&gt;GetFieldID(env, cls, &quot;threads&quot;, &quot;I&quot;);
  	if (fid == NULL) return;

  	(*env)-&gt;SetIntField(env, jobj, fid, pinf.ThreadCount);
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/topic/182119/prozesse-threads-und-handles-auslesen</link><generator>RSS for Node</generator><lastBuildDate>Tue, 07 Jul 2026 15:59:40 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/182119.rss" rel="self" type="application/rss+xml"/><pubDate>Mon, 21 May 2007 17:05:30 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Prozesse, Threads und Handles auslesen on Mon, 21 May 2007 17:05:30 GMT]]></title><description><![CDATA[<p>Hallo,</p>
<p>ich habe folgendes Problem. Ich würde gerne per JNI die Anzahl der Prozesse, Handles und Threads ausgeben. Bekomme jedoch die Meldung &quot;warning: implicit declaration of function GetPerformanceInfo&quot;. Habe leider nicht so große Ahnung, was C/C++ angeht. Wäre wirklich geil, wenn ihr mir helfen könntet. Vielen Dank schonmal im Voraus.</p>
<p>Gruß, Tom</p>
<pre><code>#include &lt;windows.h&gt;
#include &lt;jni.h&gt;
#include &quot;cpuinfo.h&quot;
#include &lt;stdio.h&gt;
#include &lt;stdlib.h&gt;
#include &lt;psapi.h&gt;

typedef struct _PERFORMANCE_INFORMATION {
  DWORD cb;
  SIZE_T CommitTotal;
  SIZE_T CommitLimit;
  SIZE_T CommitPeak;
  SIZE_T PhysicalTotal;
  SIZE_T PhysicalAvailable;
  SIZE_T SystemCache;
  SIZE_T KernelTotal;
  SIZE_T KernelPaged;
  SIZE_T KernelNonpaged;
  SIZE_T PageSize;
  DWORD HandleCount;
  DWORD ProcessCount;
  DWORD ThreadCount;
} PERFORMANCE_INFORMATION, 
 *PPERFORMANCE_INFORMATION;

JNIEXPORT void JNICALL Java_businessLayer_CpuInfo_getThreads (JNIEnv *env, jobject jobj) {

	PERFORMANCE_INFORMATION pinf;
 	DWORD cb = sizeof(PERFORMANCE_INFORMATION);

	GetPerformanceInfo(pinf, cb); 

  	jclass cls;
  	jfieldID fid;

  	cls = (*env)-&gt;GetObjectClass(env, jobj);
  	fid = (*env)-&gt;GetFieldID(env, cls, &quot;threads&quot;, &quot;I&quot;);
  	if (fid == NULL) return;

  	(*env)-&gt;SetIntField(env, jobj, fid, pinf.ThreadCount);
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1289277</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1289277</guid><dc:creator><![CDATA[scope2k3]]></dc:creator><pubDate>Mon, 21 May 2007 17:05:30 GMT</pubDate></item></channel></rss>