C# 关闭记事本窗口而不保存更改

C# 关闭记事本窗口而不保存更改,c#,.net,C#,.net,我想关闭记事本文件而不提示“是否保存更改”对话框。我试过: SendMessage(handle, 0x0010, IntPtr.Zero, IntPtr.Zero); 但询问我是否要保存更改。此外,DestroyWindow(HWND)也不起作用 如何克服这个问题 非常感谢…如果你不关心记事本上的数据,那么干脆终止它的进程 [DllImport("user32.dll", SetLastError=true)] static extern uint GetWindowThreadProces

我想关闭记事本文件而不提示“是否保存更改”对话框。我试过:

SendMessage(handle, 0x0010, IntPtr.Zero, IntPtr.Zero);
但询问我是否要保存更改。此外,DestroyWindow(HWND)也不起作用

如何克服这个问题


非常感谢…

如果你不关心记事本上的数据,那么干脆终止它的进程

[DllImport("user32.dll", SetLastError=true)]
static extern uint GetWindowThreadProcessId(IntPtr hWnd, out uint processId);
现在使用进程id终止进程

Process p = Process.GetProcessById(processId);
p.Kill();

再加上@prem发布的答案,绝对没有必要使用API。NET已经包含了所有类似于下面示例中所示的操作

var processes = Process.GetProcessesByName("notepad");
foreach (var process in processes)
    process.Kill();

你这样做的目的是什么?(例如,为什么您需要使用记事本而不是自己程序中的控件等)@Sayse看起来他是在用自己的进程控制记事本进程/窗口。@Mesut顺便说一句,如果您想回答您的问题,您应该使用常量而不是显式值,如
0x0010
。寻找它们实际引用的常量太麻烦了。只需将进程名替换为记事本进程名谢谢,这实际上是我想要的。