本项目旨在开发一个C#应用程序,能够监测并管理.exe, .doc及.xlsx文件的状态。该工具能实时跟踪目标程序或文档的开启与关闭情况,为用户提供高效的数据管理和自动化解决方案。
在WinForm中使用以下代码打开Word或Txt文件,并监视其关闭:
```csharp
PROCESS_INFORMATION pi = new PROCESS_INFORMATION();
STARTUPINFO si = new STARTUPINFO();
si.cb = Marshal.SizeOf(si);
StringBuilder sb = new StringBuilder(@C:\WINDOWS\notepad.exe c:\1.txt);
if (CreateProcess(null, sb, IntPtr.Zero, IntPtr.Zero, false, 0, IntPtr.Zero, IntPtr.Zero, ref si, ref pi))
{
uint result = WaitForSingleObject(pi.hProcess, INFINITE);
if (result == WAIT_OBJECT_0)
{
Int32 returnCode;
if (GetExitCodeProcess(pi.hProcess, out returnCode))
{
MessageBox.Show(关闭了);
}
}
}
CloseHandle(pi.hProcess);
CloseHandle(pi.hThread);
```
这段代码首先定义并初始化`PROCESS_INFORMATION`和`STARTUPINFO`结构体,然后使用StringBuilder来构建要执行的程序路径及其参数。通过调用CreateProcess启动指定的应用程序(如记事本),接着等待该进程结束,并在进程中止时显示一个消息框提示用户文件已关闭。最后,代码清理资源,关闭相关的句柄。