WPF C#-连续执行任务并允许执行另一个任务
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了WPF C#-连续执行任务并允许执行另一个任务,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1851字,纯文字阅读大概需要3分钟。
内容图文
![WPF C#-连续执行任务并允许执行另一个任务](/upload/InfoBanner/zyjiaocheng/683/4b2f33c8a8264247a29a891815c06db1.jpg)
我正在使用C#通过以下程序运行宏:
任务1 :
EXCELApplicationObj.GetType().InvokeMember("Run",
System.Reflection.BindingFlags.Default |
System.Reflection.BindingFlags.InvokeMethod,
null, EXCELApplicationObj, oRunArgs);
但是,在执行此功能时,我想通过其标题名检查窗口的出现,为此我使用了以下方法:
任务2:
Process[] processlist = Process.GetProcesses();
foreach (Process process in processlist)
{
if (!String.IsNullOrEmpty(process.MainWindowTitle))
{
process.ProcessName, process.Id, process.MainWindowTitle);
if (process.MainWindowTitle == "Untitled - Notepad") {
process.Kill();
}
}
}
但是问题是我想在进程中运行此parrallel,以便我要执行宏,并且无论何时出现名为“ Untitled-Notepad”的新窗口,我都想关闭它.
能否有任何stackoverflowers可以给我任何指导.
听说过穿线,但是我对穿线不了解..
更新:
IAM寻找什么:
连续执行Task2,并允许执行Task1.
解决方法:
这是一个在运行某些代码时自动并行关闭窗口的示例:
static void Main() {
// execute AsyncCloseTopWindow in parallel to close a window named "Untitled - Notepad"
var thread = new Thread(AsyncCloseTopWindow);
thread.IsBackground = true;
thread.Start("Untitled - Notepad");
// execute the macro while AsyncCloseTopWindow is running
//...
// exit AsyncCloseTopWindow
thread.Interrupt();
}
private static void AsyncCloseTopWindow(object windowTitle) {
try {
while (true) {
// close any window matching the title
IntPtr hwnd = FindWindow(IntPtr.Zero, (string)windowTitle);
if (!hwnd.Equals(IntPtr.Zero)) {
SendMessage(hwnd, WM_CLOSE, IntPtr.Zero, IntPtr.Zero);
}
// wait 30ms
Thread.Sleep(30);
}
} catch (ThreadInterruptedException) { }
}
private const UInt32 WM_CLOSE = 0x0010;
[DllImport("user32.dll", CharSet = CharSet.Unicode)]
private static extern IntPtr FindWindow(IntPtr lpClassName, string lpWindowName);
[DllImport("user32.dll", SetLastError = true)]
private static extern IntPtr SendMessage(IntPtr hWnd, UInt32 Msg, IntPtr wParam, IntPtr lParam);
内容总结
以上是互联网集市为您收集整理的WPF C#-连续执行任务并允许执行另一个任务全部内容,希望文章能够帮你解决WPF C#-连续执行任务并允许执行另一个任务所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。