111,128
社区成员
发帖
与我相关
我的任务
分享
public const uint WM_SETTEXT = 0x000C;
void OpenNotePad()
{
string s = WindowsFormsApplication1.Properties.Resources._3; //资源内容
Process p = Process.Start("notepad.exe");//打开记事本
while (p.MainWindowHandle == IntPtr.Zero)
{
p.Refresh();
}
IntPtr vHandle = FindWindowEx(p.MainWindowHandle, IntPtr.Zero, "Edit", null);
// 传递数据给记事本
SendMessage(vHandle, WM_SETTEXT, 0, s);
}
/// <summary>
/// 传递消息给记事本
/// </summary>
/// <param name="hWnd"></param>
/// <param name="Msg"></param>
/// <param name="wParam"></param>
/// <param name="lParam"></param>
/// <returns></returns>
[DllImport("User32.DLL")]
public static extern int SendMessage(IntPtr hWnd, uint Msg, int wParam, string lParam);
/// <summary>
/// 查找句柄
/// </summary>
/// <param name="hwndParent"></param>
/// <param name="hwndChildAfter"></param>
/// <param name="lpszClass"></param>
/// <param name="lpszWindow"></param>
/// <returns></returns>
[DllImport("User32.DLL")]
public static extern IntPtr FindWindowEx(IntPtr hwndParent, IntPtr hwndChildAfter, string lpszClass, string lpszWindow);
[/quote]
那你为什么还要用记事本打开? 就算你搞定了 你是不是又要问 怎么让记事本 禁止保存文件?然后解决了禁止让记事本保存后 是不是又会问如何禁止在记事本使用ctrl+c?禁止使用右键复制?。。
还特么不如直接放一个 label 来显示。
public const uint WM_SETTEXT = 0x000C;
void OpenNotePad()
{
string s = WindowsFormsApplication1.Properties.Resources._3; //资源内容
Process p = Process.Start("notepad.exe");//打开记事本
while (p.MainWindowHandle == IntPtr.Zero)
{
p.Refresh();
}
IntPtr vHandle = FindWindowEx(p.MainWindowHandle, IntPtr.Zero, "Edit", null);
// 传递数据给记事本
SendMessage(vHandle, WM_SETTEXT, 0, s);
}
/// <summary>
/// 传递消息给记事本
/// </summary>
/// <param name="hWnd"></param>
/// <param name="Msg"></param>
/// <param name="wParam"></param>
/// <param name="lParam"></param>
/// <returns></returns>
[DllImport("User32.DLL")]
public static extern int SendMessage(IntPtr hWnd, uint Msg, int wParam, string lParam);
/// <summary>
/// 查找句柄
/// </summary>
/// <param name="hwndParent"></param>
/// <param name="hwndChildAfter"></param>
/// <param name="lpszClass"></param>
/// <param name="lpszWindow"></param>
/// <returns></returns>
[DllImport("User32.DLL")]
public static extern IntPtr FindWindowEx(IntPtr hwndParent, IntPtr hwndChildAfter, string lpszClass, string lpszWindow);
[/quote]
哥们,您这种做法是对的
