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

时间:2014-09-11 06:20:10

标签: c# .net

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

SendMessage(handle, 0x0010, IntPtr.Zero, IntPtr.Zero);

但是问我是否愿意保存更改。 DestroyWindow(HWND)也不起作用。

如何克服这个问题?

非常感谢...

2 个答案:

答案 0 :(得分:1)

如果你不关心记事本上的数据,那么就干掉它的过程。

[DllImport("user32.dll", SetLastError=true)]
static extern uint GetWindowThreadProcessId(IntPtr hWnd, out uint processId);

现在使用进程ID

终止进程
Process p = Process.GetProcessById(processId);
p.Kill();

答案 1 :(得分:0)

只是为了添加@prem发布的答案,绝对不需要使用API​​。 .NET已经包含了所有这些功能,如下例所示。

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