判断EXE文件的打开与关闭! 在VB中怎么可以测试一个EXE文件的打开与关闭?这个EXE文件和VB程序没有关系! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 添加到启动窗体的LOAD里面If App.PrevInstance Thenmsgbox "程序已经运行"endend if App.PrevInstance ???什么函数? 直接在进程中查找bool CUSBRecordApp::isAnotherRunning(const CString &exename){ /* ********************************************************************* * 函数说明:检查在系统进程中是否有制定的程序正在运行 * 从而可以防止程序的重复加载(需要tlhelp32.h文件) * 输 入 值:exename -> 要查询的文件名 * 输 出 值: * 编 写 人:yo_jo * 创建时间:2004-09-20 pm ********************************************************************* */ //For the Version HANDLE hProcessSnap = NULL; PROCESSENTRY32 pe32 = {0}; //Get the Handle hProcessSnap = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS,0); if(hProcessSnap == (HANDLE)-1) { printf("\nCreateToolhelp32Snapshot() failed:%d", GetLastError()); return false; } //Determin the resolution int nCurrentRunNum = 0; pe32.dwSize = sizeof(PROCESSENTRY32); if(Process32First(hProcessSnap,&pe32)) { do { //find the exename CString temp(pe32.szExeFile); temp.MakeUpper(); if(exename == temp) { nCurrentRunNum++; } } while(Process32Next(hProcessSnap,&pe32)); } else { printf("\nProcess32First() failed:%d",GetLastError()); } CloseHandle(hProcessSnap); if(nCurrentRunNum == 2) return true; else return false;} Open <EXE文件名> For Binary Access Read Write As #1如果成功就表示没有运行 App.PrevInstance只能检查与自己同名的程序是否运行 App.PrevInstance :返回一个值,该值指示是否已经有前一个应用程序在运行 App.PrevInstance 不是函數是屬性 先获取当前所有正在运行进程的PID值,根据PID可以获取相应进程的EXE文件路径,然后看看有没有你所需要的EXE文件。具体代码,主要分为2个部分:1.枚举所有进程的PID2.通过PID获取EXE文件名这2个程序论坛上都有现成的,楼主可以自己组装一个,用到自己的程序中去。 SQLServer导入Excel文件后,字段变为NULL。 程序运行时动态保存控件及窗体的问题 请问我用vsflexgrid打印报表,如何实现打印预览 使用VB在Oracle 9i中建立数据库和数据表 我用VB6.0也出现同步问题,请大家看看能解决吗?分不够可以在加!!! 打包之后,我在没有vb的机器上装,出现“文件过时,重新启动”,启动之后,还不行 急!!!!!!! 很简单一个问题,如何退出UserControl的过程 VB中的文件上传与下载,在线等待,up有分 使用 ImageCombo 也不错,不过怎么用呢?(再发) 右键弹出菜单怎么做??????? winsock的ip问题
If App.PrevInstance Then
msgbox "程序已经运行"
end
end if
什么函数?
{
/*
*********************************************************************
* 函数说明:检查在系统进程中是否有制定的程序正在运行
* 从而可以防止程序的重复加载(需要tlhelp32.h文件)
* 输 入 值:exename -> 要查询的文件名
* 输 出 值:
* 编 写 人:yo_jo
* 创建时间:2004-09-20 pm
*********************************************************************
*/ //For the Version
HANDLE hProcessSnap = NULL;
PROCESSENTRY32 pe32 = {0};
//Get the Handle
hProcessSnap = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS,0);
if(hProcessSnap == (HANDLE)-1)
{
printf("\nCreateToolhelp32Snapshot() failed:%d",
GetLastError());
return false;
}
//Determin the resolution
int nCurrentRunNum = 0;
pe32.dwSize = sizeof(PROCESSENTRY32);
if(Process32First(hProcessSnap,&pe32))
{
do
{
//find the exename
CString temp(pe32.szExeFile);
temp.MakeUpper();
if(exename == temp)
{
nCurrentRunNum++;
}
}
while(Process32Next(hProcessSnap,&pe32));
}
else
{
printf("\nProcess32First() failed:%d",GetLastError());
}
CloseHandle(hProcessSnap);
if(nCurrentRunNum == 2)
return true;
else
return false;
}
1.枚举所有进程的PID
2.通过PID获取EXE文件名
这2个程序论坛上都有现成的,楼主可以自己组装一个,用到自己的程序中去。