如果你能知道那个窗口的标题的话,可以通过findwindow这个api来查找
解决方案 »
- excel操作时ActiveSheet.Shapes(1).Select提示图形被锁定怎么办?
- 怎样获取网页提交按钮的焦点
- 为什么窗体上文本框和标签上输入的汉字是旋转了90度在线等待,急急急!
- 有人知道AVIStreamRead第四个参数如何定义吗?
- 关于ado的refresh
- [求助]DBGrid单击事件的问题
- 软件打包的问题!
- 怎样实现这个进度条?
- 如何提高vb的水平?(只有这么多了)
- 如何在登录NT服务器时得到登录人的用户名?
- 如何强制关闭正在运行的程序?如何使msconfig找不到正在运行的VB程序?
- 送分了: 如何设置风格? 我的ListView控件,需要在选中一个Item的时候,它的所有的SubItems全部被选中,在VC中是很容易的.
就是当我仍然使这个对话框显示时,另一条信息到了,于是程序就要执行.show vbModal,提示模式对话框已加载,不能再载入此窗体
on error resume Next
方法2
设一个全局内存变量来记录窗体的加载与卸载
如:
Public AlarmFLoaded as Boolean
在AlarmF.Show vbMadal语句之前置 AlarmFloaded=True
在AlarmF关闭时,置 AlarmFloaded=False
sql = "Select CarCode,CarUnitID,UnitTelePhone From CarInfo Where CarUnitID=" & "'" & sMark & "'"
rst.Open sql, P_Cn, adOpenKeyset, adLockReadOnly
If Not rst.EOF Then
With rst
NewCar.sCarCode = !CarCode
NewCar.sCarUnitID = !CarUnitID
NewCar.dColor = &HFFFF00
NewCar.sPhoneCode = !UnitTelePhone
End With
rst.Close
If P_AlarmDic.Count = 0 Then
Set NewCar.Text = Main.MonitorText(0)
Else
P_CMonitorCar.MonitorTextIndex = P_CMonitorCar.MonitorTextIndex + 1
Load Main.MonitorText(P_CMonitorCar.MonitorTextIndex)
Main.MonitorText(P_CMonitorCar.MonitorTextIndex).ZOrder 0
Set NewCar.Text = Main.MonitorText(P_CMonitorCar.MonitorTextIndex)
End If
P_CMonitorCar.CarDic.Add sMark, NewCar
P_AlarmDic.Add NewCar.sCarCode, sMark
TransactCar sVCCol(i), NewCar, DirectionLayer, PointLayer, map, ListView, Form
MsgBox NewCar.sCarCode + msgAlarm, vbOKOnly + 32, "注意!"
PlaySound P_sPath + "Zr454.wav", ByVal 0&, SND_FILENAME Or SND_ASYNC
rst.Open "Alarm", P_Cn, adOpenKeyset, adLockOptimistic ', , , adCmdTable
With rst
.AddNew
!UnitID = sMark
!CarCode = NewCar.sCarCode
!AlarmTime = Now
!WorkerCode = P_sWorkerCode
!Alarmtype = sType
!TranStatus = 0
!AlarmCon = sVCCol(i)
!TranResult = ""
!ReMark = ""
.Update
End With
rst.Close
AlarmF.Show 'vbModal'在这儿出现错误
End If
End If'用FindWindow不可以
Private Declare Function CloseHandle Lib "kernel32" (ByVal hObject As Long) As Long Function IsRunning(ByVal ProgramID) As Boolean ' 传入进程标识ID
Dim hProgram As Long '被检测的程序进程句柄
hProgram = OpenProcess(0, False, ProgramID)
If Not hProgram = 0 Then
IsRunning = True
Else
IsRunning = False
End If
CloseHandle hProgram
End Function Sub Form_Click()
Dim X
Me.Caption = "开始运行"
X = Shell("NotePad.EXE", 1)
While IsRunning(X)
DoEvents
Wend
Me.Caption = "结束运行"
End Sub程序内置模块可以用AlarmF.Visible 和 AlarmF.WindowState 判断。
在UNLOAD时,将该标记置回初始值。
load f
f.show