如何获取正在Foxpro 9中运行进程的任务管理器的列表,以及如何在FoxPro中的列表中终止其中一个进程?Foxpro访问正在运行进程的窗口以及如何结束正在运行的进程
0
A
回答
0
使用WMI使这很容易。有一个使用WIN32_Process在http://www.berezniker.com/content/pages/visual-foxpro/check-if-exe-running-and-optionally-terminate-it终止进程的示例实现,它也可以很容易地适用于列出进程。
0
这是一个杀死特定程序的所有可见实例的函数。你需要知道它的ClassName。我已经能够通过搜索找到常见的应用(如Office应用程序)的类名:
FUNCTION KillApp
*==============================================================================
* Program: KillApp.PRG
* Purpose: Close any invisible instances of a specified program
* Author: Tamar E. Granor
* Last revision: 04/16/02
* Parameters: tcClassName - the classname of the app to close
* Returns: Number of instances closed; -1, if parameter problems
* Environment in:
* Environment out: Several API functions declared
*==============================================================================
#DEFINE GW_CHILD 5
#DEFINE GW_HWNDNEXT 2
#DEFINE WM_CLOSE 0x10
LPARAMETERS tcClassName
ASSERT VARTYPE(tcClassName) = "C" AND NOT EMPTY(tcClassName) ;
MESSAGE "KillApp: Must pass class name of application to kill"
IF VARTYPE(tcClassName) <> "C" OR EMPTY(tcClassName)
ERROR 11
RETURN -1
ENDIF
DECLARE LONG GetDesktopWindow IN WIN32API
DECLARE LONG GetWindow IN WIN32API LONG hWnd, LONG wCmd
DECLARE LONG IsWindowVisible IN WIN32API LONG hWnd
DECLARE LONG GetClassName IN WIN32API LONG hWnd, STRING lpClassName, LONG nMaxCount
DECLARE LONG PostMessage IN WIN32API LONG hwnd, LONG wMsg, LONG wParam, LONG lParam
LOCAL lnDesktopHWnd, lnHWnd, lnOldHWnd, lcClass, lnLen, nClosedCount
lnDesktopHWnd = GetDesktopWindow()
lnHWnd = GetWindow(lnDesktopHWnd, GW_CHILD)
lnClosedCount = 0
DO WHILE lnHWnd <> 0
lcClass = SPACE(256)
lnLen = GetClassName(lnHWnd, @lcClass, 256)
lnOldHWnd = lnHWnd
lnHWnd = GetWindow(lnOldHWnd, GW_HWNDNEXT)
IF UPPER(LEFT(lcClass, lnLen)) = UPPER(tcClassName)
lnVisible = IsWindowVisible(lnOldHWnd)
IF lnVisible = 0
PostMessage(lnOldHWnd, WM_CLOSE, 0, 0)
lnClosedCount = lnClosedCount + 1
ENDIF
ENDIF
ENDDO
RETURN lnClosedCount
刚刚意识到的过程可能不一样的应用程序。它看起来像查找过程的API函数是EnumProcesses。检出http://www.news2news.com/vfp/?group=-1&function=246。
添马舰
相关问题
- 1. 正在运行的进程
- 2. 如何确保正在运行的进程正在运行?
- 3. 仅仅运行一次就可以正常运行正在运行的进程
- 4. 如何让Python进程以正确的进程名称运行?
- 5. .NET设置变量以运行进程(如果进程正在运行)
- 6. 正在运行的进程的Python REPL
- 7. WSO2修改正在运行的进程
- 8. 正在运行的进程列表
- 9. 获取正在运行的进程'dimensions
- 10. 取消正在运行的进程
- 11. c#通知正在运行的进程
- 12. PM2正在运行额外的进程
- 13. 检查正在运行的进程 - java
- 14. 正在运行的任务进程ID
- 15. 列出正在运行的进程
- 16. Nicing正在运行的Python进程?
- 17. 硒离开正在运行的进程?
- 18. 重定向正在运行的进程
- 19. 断开与正在运行的进程
- 20. 如果一个进程正在运行
- 21. 试图访问系统正在运行的进程
- 22. 进程运行不正确
- 23. 访问正在运行的线程
- 24. 如何在Android进程中获取正在运行的线程?
- 25. 如何在程序进程结束时运行代码
- 26. Cron守护进程正在运行,系统日志守护进程正在运行,但cron不会运行
- 27. freebsd:正在运行的进程的当前目录进程号
- 28. 获取正在运行的进程给定的进程句柄
- 29. 绑定而进程正在运行(WPF)
- 30. 正在运行pytest进程中
非常好的添马舰。我能够调整你的代码,简单地给我一个正在运行的进程的游标(和一个集合)。我只是想看看机器上运行的是什么,不一定会杀死任何东西。我改编的代码在这里http://codepaste.net/1enkjz – MattSlay 2016-10-17 16:47:54