cmd是 command的缩写.即 命令提示符(CMD),是在OS / 2 , Windows CE与Windows NT平台为基础的 *** 作系统(包括Windows 2000和XP中, Vista中,和Server 2003 )下的“MS-DOS 方式”。中文版Windows XP 中的命令提示符进一步提高了与DOS 下 *** 作命令的兼容性,用户可以在命令提示符直接输入中文调用文件。
asklist >a.txt<回车>type a.txt | find /i "%进程名%" &&goto b<回车>第一句是将当前进程保存到文件,第二句是检测进程是否运行,是否跳转到B处运行。
tasklist /nh>d:\1.txt find /i "QQ.exe" d:\1.txt if ERRORLEVEL 1 ("C:\software\Tencent\qq\QQQ.exe" ) else (exit) 意思是检测"QQ.EXE"有没有在进程里,大家都知道QQ打开后进程名是"QQ.EXE"如果有在进程里则执行"EXIT"退出,如果没有在进程里,说明QQ没有打开,则运行QQ程序"C:\software\Tencent\qq\QQQ.exe" 第二种写法 tasklist /nh|find /i "QQ.exe" if ERRORLEVEL 1 ("C:\software\Tencent\qq\QQQ.exe") else (exit)
判断代码如下:
string name = "进程名"
if (GetPidByProcessName(name) == 0)
{
MessageBox.Show("程序未运行")
return
}public static int GetPidByProcessName(string processName)
{
Process[] arrayProcess = Process.GetProcessesByName(processName)foreach (Process p in arrayProcess)
{
return p.Id
}
return 0
}
扩展资料:注意事项
/获取欲启动进程名
string strProcessName
strProcessName = System.Diagnostics.Process.GetCurrentProcess().ProcessName
//检查进程是否已经启动,已经启动则退出程序。
if (System.Diagnostics.Process.GetProcessesByName(strProcessName).Length >1)
{
Application.Exit()
return
}
Application.EnableVisualStyles()
Application.SetCompatibleTextRenderingDefault(false)
Application.Run(new frmMainPlatform())
一般通过注册表实现吧,不过也可以通过配置文件实现。现在教你通过注册表实现:如果一个程序从未被运行过,那么它是不可能对注册表有所 *** 作的,所以我们可以在程序运行是就检测一次注册表中某个值是否存在,如果不存在就给出提示 *** 作。当然一旦程序被运行,首先是要检测那个值是否存在,而接着就必须要向某个你指定的位置写值,不然每次都检测到程序是第一次运行,显然是不合理的。至于按钮是否第一次被按下,也是同理的。
你可以用:
regopenkeyex()打开注册表(对注册表 *** 作之前必须先打开它)
regqueryvalueex()检测注册表中指定的值是否存在
regsetvalueex()对指定位置写值
regdeletekey()删除注册表的值或项
这些函数上百度百科看它们的用法,很详细!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)