1楼:匿名用户
加个timer,每秒动作一次,然后getlocaltime判断时间是否与指定时间相等,如果相等就exit
2楼:匿名用户
楼上的真是无可挑剔 不错 很有意义 写的太好了
用c++创建进程
3楼:琦猪闯红灯
#include
#include
#include
dword winapi fun1proc(lpvoid ipparameter);
dword winapi fun2proc(lpvoid ipparameter);
void main()
dword winapi fun1proc(lpvoid ipparameter)
dword winapi fun2proc(lpvoid ipparameter)
4楼:电视与沙发
你这个是线程不是进程!
求**~操作系统 进程控制实验 语言c++ 要求如下 5
5楼:匿名用户
**很简单的,其实就是考查出队入队的队列应用。
创建进程入队、结束进程出队、进程阻塞入队、激活进程出队、调度进程入队出队、时间片到入队出队。
求教高手 如何用c++实现关闭某一进程中的一个句柄
6楼:匿名用户
1、创建成功后,processinfo里面会有这个进程的句柄(handle),可以用来关闭该进程。
需要将processinfo或者processinfo.hprocess保存成成员变量或者其他,用以其他函数使用。
2、processinfo的详细信息:
process_informationprocessinfo;
typedefstruct_process_informationprocess_information,*lpprocess_information;
7楼:董翔宇复活者
先用findwindowex查找到指定的句柄,然后再关闭
8楼:匿名用户
获得句柄名 closehandle()
如何用c++**与进程
9楼:
dev c这个ide&编译器吧,其实就是gcc的一个windows版本而已
具体你还要用windows的sdk,就是加载比如说openprocess函数打开进程,terminateprocess杀死进程之类的,参考visual c的操作文章和msdn
c++如何实现注销进程(除了系统进程都能杀掉)
10楼:匿名用户
terminateprocess(process,0);调用该api函数就可以实现~` 没什么好神秘的~!
11楼:匿名用户
system("taskkill /f /im **.exe")强制结束**.exe进程
c++程序怎么实现鼠标控制
12楼:匿名用户
可以用一系列的api实现:
::getcursorpos,获取当前鼠标的位置::setcursorpos,移动鼠标到某一位置mouse_event,鼠标动作,单击等,如mouse_event(mouseeventf_leftdown|mouseeventf_leftup,0,0,0,0);是在当前位置单击一次
应用的实例如下:
#include
void main()
实现把鼠标移动到x=10,y=10这个位置,然后单击一下。
求**~操作系统 进程管理实验 语言c++ 要求如下:
13楼:匿名用户
四、实验思路和设计
1、进程管理
(1)程序流程图
由学生自行完成。
(2)主要程序**
//pcb结构体
struct pcb *hready=null,*hblock=null,*p; //hready,hblock分别为指向就绪和阻塞队列
typedef struct pcb pcb;
int m,n,r,a,b,c,h=0,i=1,time1inteval; //m为要模拟的进程个数,n为初始化进程个数
//r为可随机产生的进程数(r=m-n)
//a,b,c分别为a,b,c三类资源的总量
//i为进城计数,i=1…n
//h为运行的时间片次数,time1inteval为时间片大小(毫秒)
//建立一个pcb结构体型的空链表
pcb *increat(void)
//从链表起始地址开始输出该链表的内容
void disp(pcb *head)
while(p1!=null); //不断输出进程的信息,直到链尾!
} //if
else
form1->memo1->lines->add(str2);
}//将进程插入到链尾(包括就绪队列和阻塞队列)
pcb *insert(pcb *head,pcb*pcb) //带两个指针形参:队列指针和当前进程pcb
else
p1->next=pi;
pi->next=null;
}return(head);
}//对进程进行初始化,建立就绪队阻塞队列。
void input()
//if
else //如果资源不符合所需要求,则写入阻塞队列队尾
//if
str1+=" 当前进程状态:";
str1+=(p->state);
str1+="\r\n";
str1+="\r\n";
}//for
form1->memo1->lines->add(str1);
}//输出就绪队列和阻塞队列的信息
void outputall()
//运行就绪队列的头进程,运行一个时间片(fcfs),轮转一个时间片
pcb *running(pcb *head)
p1->state='r'; //进程状态由就绪转向运行
(p1->rtime)++; //已运行时间片数增加1
h++;
str4+="~~~~~~~~~~~~~~~~ 当前正在运行的进程id是: ";
str4+=inttostr(p1->id);
str4+=" ~~~~~~~~~~~~~~~~~~\r\n";
str4+="进程id 进程状态 a资源数 b资源数 c资源数 需要时间片 已运行时间片\r\n";
str4+=" ";
str4+=inttostr(p1->id);str4+=" ";
str4+=(p1->state);str4+=" ";
str4+=inttostr(p1->ra);str4+=" ";
str4+=inttostr(p1->rb);str4+=" ";
str4+=inttostr(p1->rc);str4+=" ";
str4+=inttostr(p1->ntime);str4+=" ";
str4+=inttostr(p1->rtime);str4+=" ";
form1->memo1->lines->add(str4);
if(p1->ntime==p1->rtime) //如果已经运行的时间片到达所需次数,该进程结束
else //如果已经运行的时间片未到达所需次数,该进程运行一个时间片后进入就绪队列尾
return(head);
}//检测当前资源数目是否满足阻塞队列里进程的需求
void testblock()
//if(p1==hblock)
else
//else
} //大if
else
//else
form1->memo1->lines->add(str5);
} //whlie
}//检测是否有新的进程产生,随机产生新进程
void testnew()
//if
else //进程不满足要求,进入阻塞队列
//else
}//if (t<=7)
form1->memo1->lines->add(str6);
}//if(r>0)
r--;
}//系统三类资源变化情况的显示
void rescore()
if(a<0)
if(a>=0&&aedit7->text=inttostr(a);}
if(b>b1)
if(b<0)
if(b>=0&&b<=b1)
if(c>c1)
if(c<0)
if(c>=0&&c<=c1)
}void __fastcall tform1::timer1timer(tobject *sender)
//先来先服务(fcfs)调度算法
void runfcfs()
else
}//将结果保存成txt文件
void __fastcall tform1::n8click(tobject *sender)
for(int i=0;imemo1->lines->count;i++)
fclose(fp);}}
//开始模拟按钮单击执行函数
void __fastcall tform1::button1click(tobject *sender)
//清除屏幕按钮单击执行函数
void __fastcall tform1::button2click(tobject *sender)
//运行的主函数
void runmain()
14楼:匿名用户
li hua often plays football