全文预览已结束
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
源程序代码:1.systemProcess.javapublic class systemProcessstatic /调用本地代码编写DLL(动态连接库),process为C/C+生成的DLL文件名 System.loadLibrary(process);/声明所需要的本地方法public static native int processHandle()throws Exception; / 获取进程快照表的快照信息public static native boolean processData(int snapshot,dataProcess ds)throws Exception;/用来获取其他进程2.dataProcess.javaclass dataProcessString fileName;int PProcessID;int currentThread;int classBase;/在java中设置从本地代码中返回的数据public void setName(String name) /设置返回的进程文件名 fileName=name;public String getName() return fileName;public void setPProcessID(int PID) /设置返回的进程PID PProcessID=PID;public int getPProcessID() return PProcessID; public void setThread(int thread) /设置返回的进程开启线程数 currentThread=thread; public int getThread() return currentThread; public void setClassBase(int base) /设置返回的进程优先级classBase=base; public int getClassBase() return classBase; 3.process.cpp#include #include systemProcess.h#include #include #include void throwException(JNIEnv *env,char *cls,char *desc) jclass c; (env)-ExceptionDescribe();(env)-ExceptionClear();/抛出一个异常c=(env)-FindClass(cls);if(c) (env)-ThrowNew(c,desc);JNIEXPORT jint JNICALL Java_systemProcess_processHandle (JNIEnv *env, jclass cls)HANDLE snapshot; /获得某一时刻系统进程、堆、模块或线程的快照信息 snapshot=CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS,0); return (jint)snapshot;JNIEXPORT jboolean JNICALL Java_systemProcess_processData (JNIEnv *env, jclass cls, jint snapshot,jobject dataProcess) PROCESSENTRY32 processListStr; jclass jcls; jmethodID jmid; jboolean return_value; processListStr.dwSize=sizeof(PROCESSENTRY32); /获的系统进程链表中下一个进程的信息 return_value=Process32Next(HANDLE)snapshot,&processListStr); if(!return_value) return false; /在本地代码中获取JAVA中对象所属的类 jcls=(env)-GetObjectClass(dataProcess); if(!jcls) /抛出一个异常 throwException(env,java/lang/Exception,unable find data class); return false; /在本地代码中获取JAVA类中的方法setName的标识号 jmid=(env)-GetMethodID(jcls,setName,(Ljava/lang/String;)V); if(!jmid) /抛出一个异常 throwException(env,java/lang/Exception,unable find dataProcess.setName); return false; /在本地代码中设定JAVA对象成员的变量 (env)-CallVoidMethod(dataProcess,jmid,(env)-NewStringUTF(processListStr.szExeFile); /在本地代码中获取JAVA类中的方法setPProcessID的标识号 jmid=(env)-GetMethodID(jcls,setPProcessID,(I)V); if(!jmid) /抛出一个异常 throwException(env,java/lang/Exception,unable find dataProcess.setPProcessID); return false; (env)-CallVoidMethod(dataProcess,jmid,processListStr.th32ParentProcessID); /在本地代码中获取JAVA类中的方法setThread的标识号 jmid=(env)-GetMethodID(jcls,setThread,(I)V); if(!jmid) throwException(env,java/lang/Exception,unable find dataProcess.setThread); return false; (env)-CallVoidMethod(dataProcess,jmid,processListStThreads); /在本地代码中获取JAVA类中的方法setClassBase的标识号 jmid=(env)-GetMethodID(jcls,setClassBase,(I)V); if(!jmid) throwException(env,java/lang/Exception,unable find dataProcess.setClassBase); return false; (env)-CallVoidMethod(dataProcess,jmid,processListStr.pcPriClassBase); return true;4.systemProcessTest.javapublic class systemProcessTest public static void main(String args) int snapshot=0; try snapshot=systemPcessHandle(); /获取系统进程快照信息的句柄 catch(Exception ex) while(true) boolean b=false; dataProcess ds=new dataProcess(); /对象实例化 try b=systemPcessData(snapshot,ds); catch(Exception e) if(!b) System.out.println(no Process show!); break; System.out.println(Process Name:+ds.getName(); /显示
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年考研模拟命题题库及答案
- 产后修复师考试题及答案
- 2025北京易兴元石化科技有限公司财务分析岗招聘1人笔试历年备考题库附带答案详解2套试卷
- 2025北京中航集团(国航股份)人工智能专家招聘1人笔试历年备考题库附带答案详解2套试卷
- 2025内蒙古包鄂尔多斯达拉特旗东达蒙古王集团有限公司招聘13人笔试历年难易错考点试卷带答案解析2套试卷
- 2025云南保山铁新建设工程管理有限公司招聘1人笔试历年难易错考点试卷带答案解析2套试卷
- 财会金融面试题及答案
- 2025中国航空油料有限公司总部公开招聘8人笔试近年参考题库附带答案详解(3卷合一)
- 部委面试题答案及答案
- 2025中国中煤财务共享装备制造业务分中心面向集团公司内部招聘8人笔试历年难易错考点试卷带答案解析2套试卷
- 2025河南郑州热力集团有限公司招聘60人考试笔试备考试题及答案解析
- 2026年太原城市职业技术学院单招职业技能考试必刷测试卷及答案1套
- 教育学原理 第二版 课件 第9章 教师与学生
- 2025年食品安全管理员能力考核考试题库及答案
- 二手车无事故合同
- 青岛版(五年制)数学五年级上册第二单元《关注环境 分数加减法(二)》单元测试卷(含解析)
- 2025江西省交通投资集团有限责任公司招聘78人考试参考试题及答案解析
- 全国艾滋病检测技术规范(2025年修订版)(征求意见稿)
- 2025年石台县辅警招聘考试笔试试题含答案
- 中秋品牌营销攻略
- 《医疗机构工作人员廉洁从业九项准则》党课学习
评论
0/150
提交评论