C#打开记事本的功能实现是如何的呢?我们在项目中也许会碰到这个小插曲,那么具体的实现方法是什么呢?,还有要实现给记事本添加内容,那么下面我们通过实例向你介绍具体的实现过程。
C#打开记事本实现实例:
- /// ﹤summary﹥
- /// C#打开记事本之传递消息给记事本
- /// ﹤/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﹥
- /// C#打开记事本之查找句柄
- /// ﹤/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);
- /// ﹤summary﹥
- /// C#打开记事本之记事本需要的常量
- /// ﹤/summary﹥
- public const uint WM_SETTEXT = 0x000C;
- #endregion
- private void button1_Click(object sender, EventArgs e)
- {
- #region [ 启动记事本 ]
- System.Diagnostics.Process Proc;
- try
- {
- // 启动记事本
- Proc = new System.Diagnostics.Process();
- Proc.StartInfo.FileName = "notepad.exe";
- Proc.StartInfo.UseShellExecute = false;
- Proc.StartInfo.RedirectStandardInput = true;
- Proc.StartInfo.RedirectStandardOutput = true;
- Proc.Start();
- }
- catch
- {
- Proc = null;
- }
- #endregion
- #region [ 传递数据给记事本 ]
- if (Proc != null)
- {
- // C#打开记事本之调用 API, 传递数据
- while (Proc.MainWindowHandle == IntPtr.Zero)
- {
- Proc.Refresh();
- }
- IntPtr vHandle = FindWindowEx(
- Proc.MainWindowHandle, IntPtr.Zero, "Edit", null);
- // C#打开记事本之传递数据给记事本
- SendMessage(vHandle, WM_SETTEXT, 0, "Message");
- }
- #endregion
- }
C#打开记事本的具体实现内容就向你介绍到这里,希望对你了解和学习C#打开记事本的开发实现有所帮助。
【编辑推荐】